The Offensive Global Minecraft® Server Scanner
⚠️ Please: Do not repeat the actions of The Fifth Column. If too many people start doing this, who knows what playing minecraft will be like then.
- Scans /21 subnets (~2,046 IPs) per resolved target — ideal for finding hidden or misconfigured servers
- Case-insensitive MOTD filtering — skip fake, protected, or irrelevant servers using a keyword blacklist
- Resolves domains via
mcsrvstat.us+ DNS fallback - Atomic file locking — safely removes processed targets from
ips.txteven with multiple workers - MongoDB integration — stores server info (IP, version, players, MOTD, timestamp)
- Multiprocessing + threading — leverages all CPU cores and handles I/O efficiently
- Fake server detection — skips servers with malformed JSON or suspicious MOTDs
- IPv4-only — avoids IPv6 complexity and incompatibility
- Python 3.8+
- Packages:
pip install pymongo requests colorama
💡 No external binaries needed — pure Python + standard library (
socket,ipaddress,multiprocessing).
Edit these values at the top of scanner.py:
| Setting | Description |
|---|---|
MONGO_URI |
Your MongoDB Atlas (or local) connection string |
FORBIDDEN_KEYWORDS |
List of lowercase words to skip in MOTD (e.g., "protect", "invalid") |
PING_TIMEOUT |
Seconds to wait per server (default: 1.6) |
IPS_FILE |
Input file (default: ips.txt) |
One target per line. Supports:
192.168.1.10
104.236.123.45:25565
play.hypixel.net
mc.example.com:25566
The scanner will:
- Resolve domains to IPv4
- Extract port (default:
25565) - Scan the /21 subnet of the resolved IP
- Remove the line from
ips.txtatomically
- Create
ips.txtwith your seed targets - Run the scanner:
python3 scanner.py
- Results are:
- Printed to console (
[ONLINE] ...) - Saved to MongoDB (
mcscanner.serverscollection) - Skipped servers logged as
[SKIP]
- Printed to console (
⚠️ Warning: Scanning large IP ranges may trigger network abuse alerts. Use responsibly and comply with local laws.
- Read & shuffle targets from
ips.txt - Resolve each to an IPv4 + port
- Generate /21 subnet (e.g.,
192.168.0.0/21→192.168.0.1to192.168.7.254) - Ping all IPs in parallel using threaded socket handshakes
- Parse valid server responses, skip fakes
- Save clean servers to MongoDB
- Remove processed target from file (with cross-platform file locking)
Servers with any of these words in their MOTD are skipped:
["protect", "docs", "refer", "invalid", "be"]Example:
"§cServer is protected!"→ contains"protect"→ skipped
Add more words to FORBIDDEN_KEYWORDS as needed.
Each document in mcscanner.servers:
{
"_id": "192.168.1.100:25565",
"ip": "192.168.1.100",
"port": 25565,
"description": "Welcome to my server!",
"version": "Paper 1.20.1",
"players": "12/100",
"protocol": 763,
"timestamp": "2025-10-23T12:34:56.789Z"
}- This tool is for educational and research purposes only
⚠️ Please: Do not repeat the actions of The Fifth Column. If too many people start doing this, who knows what playing minecraft will be like then.
- Inspired by open-source Minecraft scanners
- Uses
mcsrvstat.usfor domain resolution (fallback: system DNS) - Built with ❤️ By Syzdark
🌐 Use wisely. Scan ethically. Share responsibly.