- Github
- Discord
- Official Website
- Our Minecraft Servers
- Search Official Support Documentation
- View all versions
MBC (Minecraft Bot Client) is a pure-protocol Minecraft bot client written in Python. No game assets required β it connects to servers, sends chat messages, and runs commands directly. Features include a bilingual UI, SRV record resolution, vanilla-style command autocomplete, auto-spam, session logging, and more.
- π All versions supported β Auto-detects the server protocol; any Minecraft version between 1.8 and 26.2
- π SRV records β Auto-resolves
_minecraft._tcp.<domain>SRV records, no need to specify port - π£οΈ Bilingual UI β Chinese / English, picked automatically from the exe suffix (
-zh/-en) - β¨οΈ Vanilla-style autocomplete β Type
.or/for a grey inline preview,Tabto complete,β/βor mouse wheel to cycle,Escto clear - π¬ Chat & server commands β Plain text for chat,
/prefix for server commands - ποΈ
.client commands β.help.esc.connect.respawn.log.walk.eat.spam.config.exit(legacy//prefix still works) - π€ Human-like actions β Head turns and arm swings with random delays and BΓ©zier trajectories, mimicking a real mouse to bypass common anti-cheat checks
- πΆ Random auto-walk β Random roaming or custom waypoints; stops automatically on damage/death
- π Auto-eat on damage β Attempts to eat when health drops below a threshold, toggleable
- π Proximity & path alerts β Announces nearby players and missing blocks ahead; invisible to other players
- π¨ Auto-spam β Configurable rate and message list, persisted in config
- π Session logging β Auto-creates timestamped
.logfiles in thelog/folder when enabled - π Remote version check & announcements β Shows remote txt content 1:1 on startup; skip with
fast_start - β‘ Fast start β Enable
fast_startin config to skip network checks and reduce resource usage - π Offline mode β Designed for
online-mode=false(cracked/offline) servers - π» Cross-platform β Windows / Linux / macOS, single-file exe distribution via PyInstaller
Download en/MinecraftBotClient-en.exe from the releases/ directory, place it next to en/config.en.json, and double-click the exe.
pip install -r requirements.txt
python main.pypython build.pyArtifacts go into releases/<version>/ β Chinese and English builds are separate under zh/ and en/ subdirectories (exe + config + README).
{
"version": "1.3.1",
"username": "",
"server_address": "localhost:25565",
"minecraft_version": "1.8.9",
"language": "en",
"fast_start": false,
"log_enabled": false,
"spam_enabled": false,
"spam_rate": 1.0,
"spam_messages": ["Hello!", "Anyone there?", "GG"],
"command_autocomplete": true,
"auto_eat": true,
"auto_eat_health_threshold": 10,
"auto_walk": false,
"auto_walk_waypoints": [],
"stop_walk_on_damage": true,
"proximity_alerts": true,
"proximity_distance": 5.0,
"human_actions": true,
"human_action_interval_min": 2.0,
"human_action_interval_max": 7.0
}| Field | Description |
|---|---|
username |
Player name, leave empty for a random one |
server_address |
Server address, SRV domains supported (e.g. mc.example.com) or explicit port (e.g. mc.example.com:25565) |
minecraft_version |
Server version, any value between 1.8 and 26.2 |
language |
UI language: zh / en |
fast_start |
Skip version/announcement checks on startup |
command_autocomplete |
Toggle command autocomplete |
auto_eat / auto_eat_health_threshold |
Auto-eat on damage toggle and health threshold |
auto_walk / auto_walk_waypoints |
Auto-walk toggle and custom waypoints (relative coordinates) |
stop_walk_on_damage |
Stop walking automatically on damage/death |
proximity_alerts / proximity_distance |
Nearby player alerts toggle and distance |
human_actions / human_action_interval_min/max |
Human-like actions toggle and interval seconds |
log_enabled |
Enable logging by default (toggle at runtime with .log on) |
spam_enabled / spam_rate / spam_messages |
Auto-spam toggle, rate and message templates |
| Command | Description |
|---|---|
.help |
Show all commands and open the help website |
.esc |
Leave the server but keep the client open (standby mode) |
.connect |
Reconnect in standby mode |
.exit |
Disconnect and close the client |
.respawn |
Send a respawn packet after dying |
.log on/off |
Toggle logging (written to the log/ folder with timestamps) |
.spam on/off |
Toggle auto-spam |
.spam rate <n> |
Set messages per second |
.spam add <msg> / .spam remove <i> / .spam list / .spam clear / .spam status |
Spam message management |
.walk start/stop |
Start/stop random auto-walk |
.walk add <x,y,z> |
Add a custom waypoint (relative coordinates, comma separated) |
.walk list / .walk clear |
List/clear waypoints |
.eat on/off |
Toggle auto-eat on damage |
.config <key> [val] |
View or modify any config key (ex: .config fast_start true) |
- Type
.or/to see a grey inline preview of the command Tabaccepts the preview; pressTabrepeatedly to cycle suggestionsβ/βarrow keys or the mouse wheel cycle suggestionsEntersends,Escclears the input,βalso browses command history
Type /list, /msg player hello, /tp ... etc., same as in-game.
Sent as a chat message directly.
On startup the client fetches and displays the txt content 1:1:
- Version check:
https://shit.pub/s/developer/minecraft/client/MinecraftBotClient-MBC/verify/txt.txt - Announcements:
https://shit.pub/s/developer/minecraft/client/MinecraftBotClient-MBC/announcement.txt
Enable fast_start to skip these checks.
Each build is placed in its own folder under releases/<version>/:
releases/
βββ 1.3.1/
β βββ zh/
β β βββ MinecraftBotClient-zh.exe
β β βββ config.zh.json
β β βββ README.zh.md
β βββ en/
β βββ MinecraftBotClient-en.exe
β βββ config.en.json
β βββ README.en.md
βββ ...
MinecraftBotClient/
βββ main.py # Entry point
βββ build.py # Build script (versioned output, bilingual)
βββ requirements.txt # Python dependencies
βββ README.md # δΈζζζ‘£
βββ README.en.md # This file
βββ src/
β βββ i18n.py # Bilingual dictionary + t() translation function
β βββ logger.py # SessionLogger for per-session log files
β βββ client/
β β βββ minecraft_bot_client.py # Main client logic (connect/chat/commands/walk/alerts)
β βββ network/
β β βββ connection_manager.py # Minecraft protocol (handshake/login/chat/keepalive/SRV/human actions)
β β βββ version_checker.py # Remote version check + announcements
β βββ features/
β β βββ spam.py # Auto-spam manager
β βββ settings/
β β βββ settings_manager.py # Config read/write + persistence
β βββ ui/
β βββ console_ui.py # Console UI (ANSI colors / autocomplete / mouse wheel)
βββ releases/ # Build artifacts (versioned)
| Range | Examples | Protocol ID |
|---|---|---|
| 1.8 | 1.8, 1.8.9 | 47 |
| 1.9 - 1.12 | 1.9, 1.10.2, 1.11, 1.12.2 | 47 - 340 |
| 1.13 - 1.16 | 1.13.2, 1.14.4, 1.15.2, 1.16.5 | 340 - 754 |
| 1.17 - 1.18 | 1.17, 1.18.2 | 755 - 758 |
| 1.19 | 1.19, 1.19.2, 1.19.4 | 759 - 760 |
| 1.20 | 1.20 - 1.20.6 | 763 - 766 |
| 1.21 | 1.21 - 1.21.8 | 767 - 773 |
| 25.x - 26.x | 25.1 - 26.2 | 774 - 777 |
Any unlisted version within a range is auto-mapped to the nearest known protocol ID; the actual server protocol is probed before login.
| Library | Purpose |
|---|---|
requests |
HTTP requests (version check, announcements) |
cryptography |
AES/RSA encryption (online-mode login flow, not triggered in offline mode) |
dnspython |
SRV record resolution |
pyinstaller |
Packaging into exe |
- This client runs in offline mode. Use it on servers with
online-mode=false - Please note that the official account mode is still under development; please be patient or subscribe to our GitHub repository
- Help website: https://shit.pub/s/developer/minecraft/client/MinecraftBotClient-MBC/MBC/
- For testing and development purposes only