A Python-based bot framework for connecting multiple clients to a Minecraft Pocket Edition (MCPE) server. The project creates bots that connect, authenticate, send chat messages, move, and maintain an active session.
main.py: Main entry point. Initializes bots, resolves the server host, checks server status, launches connections, and runs the interactive console.state.py: Shared global state and synchronization primitives for bots.Connection/SpawnBot.py: Bot lifecycle and interaction logic, including packet handling, movement, chat, and spam.Host/ResolveHost.py: DNS resolution and IP validation for server hosts.Player/BotName.py: Random bot name generator.Player/Skin.py: Random skin data generator for bots.Crypto/EC.py: ECDSA key generation for JWT creation.Crypto/JWT.py: JWT construction for MCPE login.RakNet/Packet.py: RakNet packet utilities for reading and writing binary data.RakNet/Protocol.py: Protocol constants and packet builders for MCPE.RakNet/RakNet.py: RakNet transport implementation, reliable packet sending, and connection management.
- Python 3.8 or higher
cryptography
Install dependencies:
python -m pip install -r requirements.txtRun the project from the repository root:
python main.py <host> <port> <name> <bots> <time> [protocol] [register] [messages] [interval]<host>: Server IP or domain name.<port>: Server UDP port.<name>: Base name used for bot accounts.<bots>: Number of bots to create.<time>: Duration in seconds to run. Use0for unlimited runtime.[protocol]: Optional.70or84. Defaults to84.[register]: Optional register command or static password. If it starts with/, it sends the command with a random password.[messages]: Optional messages separated by|to send via bot chat.[interval]: Optional interval in seconds between spam messages.
python main.py play.example.com 19132 bot 20 120 84 /register Hello!-How-are-you? 5After startup, the following commands are available:
help- Show available commands.status- Display bot status table.say <message>- Send a message or command from all bots.move- Toggle automatic movement for bots.jump- Make all moving bots jump.autojump- Toggle random auto-jumps.spam- Toggle chat spam.tp <x> <y> <z>- Teleport all bots to the specified coordinates.distribute- Spread bots randomly around their current positions.reconnect- Force reconnection for all bots.info- Show current session information.exit- Stop the program and disconnect all bots.
- This project uses RakNet and MCPE protocol packets to emulate client behavior.
- It is designed for MCPE servers compatible with protocol 0.15.x when using protocol
84. - If host resolution fails or the server is offline, the program exits.
Bots may experience partial or complete failure in the movement and messaging system due to the somewhat unusual or limited PocketMine packages. This tool was created for legitimate educational purposes; do not test it on servers to take them down or disable them.
This script may violate the Minecraft EULA if not used correctly.
This project is under of the licence MIT Licence