Quick & Dirty Minecraft server scanner
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Rob d060605253 output file append, not overwrite. 4 months ago
.gitignore initial commit 4 months ago
README.md bug fixes, final touches 4 months ago
package.json color parsing 4 months ago
scanner.js output file append, not overwrite. 4 months ago

README.md

What is this?

This scans for MineCraft servers... really really fast!

Getting Started

  • Clone this repository somewhere.
  • Run npm install from within this directory.

Usage

Run node ./scanner.js [options] --ip <ip range>

Example

node ./scanner.js --ip 192.168.1.0/24 --port 25565-25569 --show-desc --min-players 1 --max-players 100 --out report.csv

CLI Options

  • --ip <ip> - IP Address or Range of IP Addresses with CIDR notation (eg- 192.168.1.0/24)
  • --port <ports> - Ports to look for minecraft servers on. (Default: 25565-25566)
  • --min-players <count> - Minimum number of players.
  • --max-players <count> - Maximum player count.

Output Options

  • --show-desc - Enable showing of server description in output.
  • --quiet - Silence terminal output.

Output File Options

  • --out <filename> - Output to CSV file (Can be opened as a spreadsheet in MS Office, Google Docs, etc.)
  • --format <csv|txt|txt-connect-only> - Output format (txt-connect-only for ip:port list format)
  • --log-desc - Output server discription to output file.

Geo Location

  • --geo-ip - Use IP Geolocation database.
  • --geo-coords - Add geo-coordinates to output.
  • --maxmind-key - Provide a key for maxmind database download.

By really fast, I mean really fast!

# time node ./scanner.js --ip 135.148.60.0/24 --show-desc --quiet --out example.csv
Scanning ports 25565-25566 on 135.148.60.0/24
Scan finished!

real    0m3.183s
user    0m0.825s
sys     0m0.334s
# cat example.csv | wc -l
85

In this example it took 3.183 seconds to scan 255 IP addresses, and find 85 MineCraft servers. At this speed, a full /16 (123.45.0.0 - 123.45.255.255) will take about 13.5 minutes to scan.

Limitations

  • Fails to scan more than a /16 without kicking the bucket... so you should probably stick to that or smaller ranges.
  • Working on a Minecraft bot client... doesn't work though... you can see how badly it doesn't work by using --enable-client flag... it is totally broken. Don't use it.