Skip to content

Repository files navigation

PingDiff Banner

GitHub releaseLicenseWebsiteGitHub stars

🎮 Free & Open Source • By Gamers, For Gamers

Test your ping, packet loss, and jitter to game servers before you queue.

DownloadDashboardReport Bug


About

PingDiff is a lightweight desktop app that tests your connection to game servers before you launch the game. Know exactly which server will give you the best ping, see your ISP's performance compared to others, and get recommendations based on real player data.

Why PingDiff?

  • 🎮 Pre-Game Testing - Test servers without launching the game
  • 📊 Real Data - ICMP ping tests to actual game server IPs
  • 🌍 ISP Intelligence - See how your ISP compares to others
  • 🔒 Privacy First - Optional anonymous data sharing
  • Lightweight - Under 20MB, minimal resource usage

Supported Games

GameStatusServers
🎮 Overwatch 2✅ Active14
🔫 Call of Duty✅ Active20
💥 Counter-Strike 2✅ Active18
🎖️ Battlefield 6✅ Active16
🦸 Marvel Rivals✅ Active16
🎯 Valorant✅ Active20
🏝️ Fortnite✅ Active12
⚔️ League of Legends✅ Active11
🔺 Apex Legends✅ Active14

Total: 9 games, 141 servers worldwide


Server Regions

RegionCoverage
🇪🇺 EULondon, Paris, Frankfurt, Amsterdam, Stockholm, Warsaw, Dublin, Istanbul
🇺🇸 NAVirginia, Chicago, Dallas, Los Angeles, Seattle, Atlanta, Oregon, Ohio
🌏 ASIATokyo, Seoul, Singapore, Hong Kong, Mumbai, Sydney, Taiwan
🇧🇷 SASão Paulo, Santiago, Lima
🇦🇪 MEBahrain, Dubai

Quick Start

Download & Install

  1. Download the latest installer from Releases
  2. RunPingDiff-Setup-1.17.0.exe
  3. Launch PingDiff from your Start Menu

Usage

  1. Select your game from the dropdown (9 games available)
  2. Select one or more regions to compare (EU, NA, ASIA, SA, ME)
  3. Click Start Test
  4. View results ranked by ping - find the best server instantly
  5. Check the dashboard for historical data

Tech Stack

ComponentTechnology
WebsiteNext.js 16, Tailwind CSS, TypeScript
DatabaseSupabase (PostgreSQL)
Desktop AppPython, tkinter
InstallerInno Setup
HostingVercel
CI/CDGitLab CI/CD

Development

Prerequisites

  • Node.js 18+
  • Python 3.9+
  • Git

Website

# Clone the repo
git clone https://github.com/bokiko/pingdiff.git
cd pingdiff/web
# Install dependencies
npm install
# Set up environment
cp .env.example .env.local
# Add your Supabase credentials# Start dev server
npm run dev

Desktop App

cd pingdiff/desktop
# Install dependencies
pip install -r requirements.txt
# Run the app
python src/main.py
# Build installer (Windows only)
python build.py

Project Structure

pingdiff/
├── web/ # Next.js website
│ ├── src/app/ # App router pages
│ │ ├── api/ # API routes
│ │ ├── dashboard/ # Dashboard page
│ │ └── download/ # Download page
│ └── package.json
│
├── desktop/ # Windows desktop app
│ ├── src/
│ │ ├── main.py # Entry point
│ │ ├── gui.py # UI (Apple-inspired design)
│ │ ├── ping_tester.py # ICMP ping logic
│ │ ├── api_client.py # API client + settings
│ │ └── config.py # Servers & colors
│ ├── installer.iss # Inno Setup script
│ └── requirements.txt
│
├── supabase/
│ └── migrations/ # Database migrations
│
├── .github/
│ └── workflows/ # CI/CD (auto-build)
│
└── README.md

Features

Desktop App (v1.17.1)

  • 🎨 Apple-inspired UI - Modern, clean dark theme
  • 🎮 9 Games - All major competitive titles
  • 🌍 Multi-Region Compare - Test EU + NA + ASIA in one go
  • 🏆 Ranked Results - Servers sorted by ping, best first
  • 🔄 Auto ISP Detection - Detects your ISP and location
  • 📊 Real-time Progress - Circular progress indicator
  • ⚙️ Settings - Toggle anonymous data sharing
  • 📁 Local Logs - Stored in %APPDATA%\PingDiff
  • 🔧 Proper Installer - Start Menu shortcuts, clean updates

CLI Mode (Headless / Scripting)

Run PingDiff without the GUI — perfect for automation and scripting:

# Basic test
python src/main.py --cli --game counter-strike-2 --region EU
# Get best server as JSON
python src/main.py --cli --json --best
# Save results to a file (format auto-detected from extension)
python src/main.py --cli --output results.json
python src/main.py --cli --output results.csv --region NA
# Continuous monitoring
python src/main.py --cli --watch --interval 60
# List all supported games
python src/main.py --list-games
FlagDescription
--cliEnable CLI mode (no GUI)
--game <slug>Game to test (default: overwatch-2)
--region <EU|NA|ASIA|SA|ME>Filter by region
--count <n>Pings per server (default: 10)
--bestShow only the best server
--jsonOutput as JSON
--csvOutput as CSV
--output <file>Save results to file (.json or .csv)
--watchContinuously refresh (use with --interval)
--no-colorDisable colored output

Web Dashboard

  • 📈 Test History - View all your past results
  • 🏆 Best Server - See recommended servers
  • 🌐 Community Data - Compare with other players
  • 📱 Responsive - Works on all devices

Contributing

Contributions are welcome! Please read our Contributing Guide first.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

  • Blizzard, Riot Games, Valve, EA, Epic Games, Respawn, NetEase
  • The gaming community for server IP contributions
  • All contributors and testers

pingdiff.com


⭐ Like PingDiff? Give us a star!

100% Free • 100% Open Source • Zero Tracking

We built this for the gaming community. No ads, no data harvesting, no premium tiers. Just a simple tool that helps you find the best server.

If PingDiff helped you avoid lag, consider starring the repo — it helps other gamers find us!

Star on GitHub


Made with ❤️ by gamers, for gamers

About

🎮 Free & Open Source • Test ping, packet loss & jitter to game servers. 9 games: Valorant, LoL, Apex, Fortnite, CS2, CoD, OW2, BF6, Marvel Rivals. 141 servers worldwide. By gamers, for gamers.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages