Deploy MCBot
MCBot is a Minecraft AI chat bot that monitors server logs and responds to players via RCON. It supports multiple AI providers and can execute in-game commands (give items, teleport, change weather, etc.).
Prerequisites
Before deploying, ensure:
- A Minecraft Java Edition server is running
- Python 3.10+ is installed
mcrconCLI is installed (see install guide)
Step-by-step deployment
1. Clone and install
git clone https://github.com/longsizhuo/mc-chat-bot.git
cd mc-chat-bot
pip install -r requirements.txt
2. Enable RCON on the Minecraft server
Edit server.properties in the Minecraft server directory:
enable-rcon=true
rcon.port=25575
rcon.password=<generate-a-secure-password>
Then restart the Minecraft server.
3. Create config.yml
cp config.example.yml config.yml
Edit config.yml with the correct values:
server_dir: absolute path to the Minecraft server directoryai.provider: one ofdeepseek,openai,anthropic,ollama,customai.api_key: the API key for the chosen provider (not needed forollama)rcon.password: must matchserver.propertiesbot.name: the display name in chatbot.language:zhfor Chinese,enfor English
See references/CONFIG.md for all configuration options.
4. Test
python run.py -c config.yml
Verify the bot starts without errors. Join the Minecraft server and type something in chat — the bot should respond.
5. Run as a systemd service (optional)
sudo tee /etc/systemd/system/mcbot.service > /dev/null << EOF
[Unit]
Description=MCBot - Minecraft AI Chat Bot
After=network.target
[Service]
Type=simple
User=$(whoami)
WorkingDirectory=$(pwd)
ExecStart=$(which python3) $(pwd)/run.py -c $(pwd)/config.yml
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now mcbot.service
Troubleshooting
- "mcrcon not found": Install mcrcon, see references/INSTALL_MCRCON.md
- "RCON error: Connection refused": Check that RCON is enabled in
server.propertiesand the server is restarted - "AI API error": Verify
api_keyandbase_urlin config.yml. For Ollama, ensure Ollama is running locally - Bot not responding: Check that
server_dirandlog_filein config.yml point to the correct log file - Bot responds but commands don't work: The player name in game must match exactly (case-sensitive)
AI Provider quick reference
| Provider | provider |
api_key |
Default model |
|---|---|---|---|
| DeepSeek | deepseek |
Required | deepseek-chat |
| OpenAI | openai |
Required | gpt-4o-mini |
| Anthropic | anthropic |
Required | claude-sonnet-4-20250514 |
| Ollama | ollama |
Not needed | llama3 |
| Custom | custom |
Depends | Must specify model and base_url |