Sits in front of a Minecraft Java server and forwards player traffic transparently while watching the in-game event stream. Every chat message, join, leave, death, command, and admin action is parsed, filtered against rules you define, and dispatched to a webhook (Discord, Slack, anything HTTP). Localized rules can auto-kick or auto-ban offenders without round-tripping a human.
Runs as a daemon. On a player connection it can autostart the underlying Minecraft server cold — no need to leave the game running 24/7. A small HTTP control API lets you query state, broadcast messages, and trigger graceful shutdown from elsewhere in your stack.
main.py — daemon entrypoint, lifecycle management, server autostartproxy.py — the TCP proxy + Minecraft protocol parserrcon.py — RCON client for kick/ban/broadcast operationsapi.py — HTTP control surface for state queries and admin actionsconfig.example.yaml — annotated config template (server addr, webhook URL, rules)requirements.txt — pinned Python dependencies# clone git clone https://github.com/Cooli-Lab/sprout.git cd sprout/mc-proxy # install pip install -r requirements.txt # configure cp config.example.yaml config.yaml $EDITOR config.yaml # point at your Minecraft server, set webhook URL, add filter rules # run python main.py