MC Crawler apunta a ser un programa de linea de comandos cuyo objetivo es llevar un registro de servidores de Minecraft Java.
Su funcionamiento general es el siguiente:
- obtiene rangos de ips ocupados por hostings
- selecciona algunos rangos al azar y ejecuta un escaneo de puertos con un rango de /16 cada uno
- envia una serie de paquetes especificos utilizados para comunicarse con este tipo de servidores
- envia un bot el cual simula un jugador y se conecta de forma automatica al servidor objetivo sin completar el login. En base a la respuesta se puede inferir con bastante exactitud si el servidor es premium o no premium, si tiene mods, withelist e incluso si el bot fue baneado.
NOTA: el programa puede actualizar la base de datos de forma automatica.
- Descarga el código:
git clone https://github.com/Urban20/MC-crawler.git
cd MC-crawler/src/MC-crawler- Instala lo necesario:
pip install -r requirements.txt-
Conseguir el archivo
escan(escáner de IPs) (parte critica del programa, sin esto el programa no funciona como debe hacerlo):- Windows: Descarga
escan.execlick - Linux: Compílalo vos mismo con Go (necesitas el binario especifico de tu distribucion):
1. instalar Golang2. acceder a la carpeta de escaner/golang/3. ejecutar el comando:go build .4. arrastrar el binario generado a la siguiente carpeta: MC-crawler/escaner/binario - Windows: Descarga
-
Una vez creado el entorno virtual e instalado las dependencias
Ejecutar:
python main.pyó
instalalo compilado para Windows (version .exe): el cual viene listo para usar click aca
Opciones:
- Barrido: Busca nuevos servidores (ejecuta la obtencion de rangos ips y el escaneo)
- Purgar: Elimina servidores que ya no están online
- Buscar: Encuentra servidores no premium
- Buscar versión: Filtra por versión de Minecraft
El programa guarda la información en dos archivos:
servers.db: Todos los servidores encontradoscrackeados.db: Servidores que permiten jugadores no premium
- Los escaneos generan tráfico de red - usar responsablemente
- No abuses de los escaneos para no saturar tu conexión
- El proyecto es extensible y admite modificaciones por parte de terceros, permitiendo su adaptación a nuevos casos de uso o funcionalidades mas no me hago responsable de las modificaciones o mal uso que se le dé a la herramienta.
- mejora de rendimiento y concurrencia por parte de los modulos escritos en python
- soporte de lenguajes
- adicion de escaneos de rango de /8 (8 bits)
Autor: Urb@n
GitHub: https://github.com/Urban20