MineCraft server scanner. Vide quid sit absconditum. https://github.com/xnite/MCSeeker
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.
 
Robert Whitney 0a73fb77af
create an actual package.json
3 days ago
.gitignore initial commit 7 months ago
README.md version filter. Closes issue #1 3 days ago
package.json create an actual package.json 3 days ago
scanner.js version filter. Closes issue #1 3 days 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>

Examples

node ./scanner.js --ip 192.168.1.0/24 --port 25565-25569 --show-desc --min-players 1 --max-players 100 --out report.csv node ./scanner.js --ip 192.168.1.0/24 --port 25565-25569 --show-desc --min-players 1 --max-players 100 --version '1.8.*' --out 1.8.x-servers.csv node ./scanner.js --ip 192.168.1.0/24 --port 25565-25569 --show-desc --min-players 1 --max-players 100 --version '*forge*' --out forge-servers.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.
  • --version <glob expression> - Glob expression to filter version (eg- 1.19.*, or 1.1*.*). (Default: *)

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.