# Bravo: a reverse-engineered Minecraft server

> Reimplements the server side of Minecraft’s Alpha- and Beta-era multiplayer in Python on Twisted; its documentation calls it a reverse-engineered implementation written from scratch, credits network traffic dumps and says general Minecraft data went to a community wiki. The final 2.0 release speaks the 1.4.x client protocol for login, chunk transfer, entities, server-side inventories, lighting, physics and Anvil saves, while deliberately changing behaviour such as chunk loading and item stacking. A pluggable architecture adds terrain generation, seasons and commands, and small scripts inspect packets, NBT and region files.

- Type: Case study
- Targets: Game · Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-20
- Added to the catalog: 2026-11-02
- Original resource: <https://github.com/bravoserver/bravo>
- Primary source: <https://github.com/bravoserver/bravo/blob/7be5d792871a8447499911fa1502c6a7c1437dc3/README.rst>
- Catalog page: <https://awesomerea.org/resources/bravo-minecraft-server-case/>
- Record JSON: <https://awesomerea.org/resources/bravo-minecraft-server-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/bravo-minecraft-server-case/index.md)

## Requirements & limits

- Unmaintained: the GitHub description marks the project UNMAINTAINED, and the reviewed master commit dates from 2014-09-09, 90 commits after the 2.0 tag (2013-01-10, also the latest PyPI release). The 2.0 changelog adds 1.4.x protocol support without server-side encryption, disables broken online authentication and replaces the Alpha and Beta save formats with Anvil; source pins protocol version 78. The introduction says creative games are probably safe but some Survival-Multiplayer elements are missing, and older pages such as the feature list predate these 2.0 changes.
- The server needs no original game files; clients connect with the matching Minecraft client the player owns, which the FAQ says Bravo will not replace. The repository commits no game assets or Mojang code: block, item and recipe definitions are written as Python tables, and the documentation says Bravo inherits no code from other Minecraft projects.
- Python 2.6 or 2.7 (CPython or PyPy); requirements.txt pins construct 2.0.6 and Pillow 2.4.0 and needs Twisted 11.0+, including Twisted Conch, with Twisted Words or Web for the IRC and web plugins. It runs as the twistd bravo plugin, configured from bravo.ini.example with a world path, creative or survival mode and the anvil serializer; the packet-parser script still imports a pre-2.0 module path.
- Travis CI ran trial over the in-tree tests for protocol packets, chunks, inventories, plugins and serializers on Python 2.6, 2.7 and PyPy. MIT/X11 license, with bravo/nbt.py taken from Thomas Woolford’s MIT NBT library; Minecraft and its client keep Mojang’s rights.

## Primary sources

1. <https://github.com/bravoserver/bravo/blob/7be5d792871a8447499911fa1502c6a7c1437dc3/README.rst>
2. <https://github.com/bravoserver/bravo/blob/7be5d792871a8447499911fa1502c6a7c1437dc3/docs/introduction.rst>
3. <https://github.com/bravoserver/bravo/blob/7be5d792871a8447499911fa1502c6a7c1437dc3/docs/differences.rst>
4. <https://github.com/bravoserver/bravo/blob/7be5d792871a8447499911fa1502c6a7c1437dc3/CHANGELOG.rst>
5. <https://github.com/bravoserver/bravo/blob/7be5d792871a8447499911fa1502c6a7c1437dc3/bravo/beta/protocol.py>
6. <https://github.com/bravoserver/bravo/blob/7be5d792871a8447499911fa1502c6a7c1437dc3/bravo.ini.example>
7. <https://github.com/bravoserver/bravo/blob/7be5d792871a8447499911fa1502c6a7c1437dc3/requirements.txt>
8. <https://github.com/bravoserver/bravo/blob/7be5d792871a8447499911fa1502c6a7c1437dc3/.travis.yml>
9. <https://github.com/bravoserver/bravo/blob/7be5d792871a8447499911fa1502c6a7c1437dc3/LICENSE>
10. <https://github.com/bravoserver/bravo/blob/7be5d792871a8447499911fa1502c6a7c1437dc3/tools/parser-cli.py>
11. <https://pypi.org/project/Bravo/2.0/>

## More in Games

- [Chariot: Age of Empires engine reimplementation](https://awesomerea.org/resources/chariot/index.md) · Case study
- [CoD4 Rewrite: Rust/Bevy reconstruction](https://awesomerea.org/resources/cod4-rewrite-reconstruction-case/index.md) · Case study
- [CorsixTH: an open reimplementation of Theme Hospital](https://awesomerea.org/resources/corsixth-engine-case/index.md) · Case study
- [Cursed Lands: a Godot engine for Evil Islands and Lost in Astral](https://awesomerea.org/resources/cursed-lands-case/index.md) · Case study
- [Desktop Games Nostalgia: a macOS and browser port](https://awesomerea.org/resources/desktop-games-nostalgia-rea-port-case/index.md) · Case study
- [FreeRS42: reimplementing Ricochet Xtreme](https://awesomerea.org/resources/freers42-ricochet-xtreme-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
