mirror of
https://github.com/xnite/MCSeeker.git
synced 2026-05-02 12:54:50 -07:00
57 lines
2.8 KiB
Markdown
57 lines
2.8 KiB
Markdown
# What is this?
|
|
This scans for MineCraft servers... really really fast! [but this scans even faster](https://github.com/xnite/BBCrawler)
|
|
|
|
# Getting Started
|
|
* Clone this repository somewhere.
|
|
* Run `npm install` from within this directory.
|
|
|
|
## Getting Help
|
|
You can get help through our [Discord server](https://discord.gg/3RUjaRzdKv)
|
|
|
|
## 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`
|
|
|
|
### 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: `*`)
|
|
* `--conc <howmany>` - How many concurrent connections to use for scanning. (Default is 256)
|
|
|
|
#### 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 /10 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**.
|
|
* Above limitations are solved by running [BBCrawler](https://github.com/xnite/BBCrawler) instead but that is more complex than most people will want. |