Skip to content

darkosBE/ServerHunter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

---

🎯 ServerHunter

ServerHunter is a high-performance, multithreaded Minecraft server scanner built for speed, precision, and data integrity.
It scans massive IPv4 ranges to discover active Minecraft: Java Edition servers and stores full status data — including MOTD, player lists, mods, and version info — directly in MongoDB.

Designed By Syzdark Announce If anyone would pls help with the development


🧩 Key Features

  • Ultra-fast multithreaded scanning — up to 700 concurrent threads
  • 🧠 Smart MOTD parsing — supports both plain text and JSON MOTDs
  • 💾 MongoDB integration — results are stored and deduplicated automatically
  • 🔍 Mod & Player detection — captures mods (FML, Forge) and online player samples
  • 🛡️ Opt-out filtering — skips known “protect invalid” servers
  • 📊 Live progress tracking — real-time scan speed and server discovery rate
  • 🧱 Lightweight & portable — single-file deployment, runs anywhere Python 3 runs

🧰 Requirements

  • Python: 3.8 or higher
  • MongoDB: Local or remote instance (Atlas supported)
  • Dependencies:
pip install mcstatus pymongo netaddr

💡 Optional performance extras:

pip install motor

⚙️ Configuration

All configuration values are defined at the top of dark.py:

Variable Description Default
MONGO_URI MongoDB connection string Atlas URI
DB_NAME Database name mcscanner
COLLECTION_NAME MongoDB collection servers
PORT Minecraft server port 25565
TIMEOUT Socket timeout (seconds) 0.1
MAX_THREADS Number of concurrent worker threads 700
PROGRESS_EVERY Progress log interval (IPs) 100

You can set your own MongoDB URI via environment variable:

export mcscanner="mongodb+srv://user:password@cluster.mongodb.net/?retryWrites=true&w=majority"

🚀 Usage

🔹 Basic Scan

Run a single IP range:

python dark.py 192.168.0.1-192.168.0.255

or a CIDR network:

python dark.py 192.168.0.0/24

🔹 Example Output

✅ MongoDB ready

🎯 Scanning 256 IPs | Target: ~10 IPs/sec

============================================================
🎉 FOUND: 192.168.0.45:25565
📝 MOTD: Welcome to ServerHunter Network!
👥 8/100 | ⚙️ 1.12.2
============================================================

📊 100/256 | Found: 12 | 12.4 IPs/s

🔹 Data Stored in MongoDB

Each discovered server is stored as a document in MongoDB:

{
  "ip": "192.168.0.45",
  "port": 25565,
  "motd_raw": "§aWelcome to ServerHunter",
  "motd_formatted": "Welcome to ServerHunter",
  "players_online": 8,
  "players_max": 100,
  "player_list": ["Steve", "Alex"],
  "mods": ["FML", "examplemod@1.0.0"],
  "version_name": "1.12.2",
  "last_seen": 1729272036.882
}

📈 Performance Tips

  • Run on a high-bandwidth connection (≥100 Mbps recommended)
  • Use a MongoDB cluster for faster inserts
  • Reduce MAX_THREADS if CPU saturation occurs
  • Set TIMEOUT higher (e.g. 0.3) for unstable networks

🧱 Project Structure

ServerHunter/
├── scanner.py               # Main scanner script
└── README.md             # Documentation

🧑‍💻 License

This project is released under the BSD 2-Clause. You are free to use, modify, and distribute it.


🤝 Contributing

Contributions are welcome! If you’d like to improve performance, add new data extraction logic, or integrate async scanning, feel free to open a pull request.


💬 Contact

Created with ❤️ by Syzdark For support or collaboration, open an issue or reach out via GitHub.

DISCORD

Discord.gg/syzdevs


About

DEPRECATED PLS USE https://github.com/darkosBE/PapiScan

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages