A Minecraft server implementation in Elixir. Until this reaches version 1.0, please do not consider it ready for running real Minecraft servers (unless you're adventurous).
You can view the documentation on Hex.
The Minecraft Protocol is documented on wiki.vg. The current goal is to support version (1.12.2, protocol 340).
The following list of to-do items should be enough to be able to play on the server, at least to the most basic extent.
- World Generation
- World in-memory storage
- World persistence on disk
- Core server logic (this is a catch-all)
- Client: Handshake
- Client: Request
- Server: Response
- Client: Ping
- Server: Pong
- Client: Login Start
- Server: Encryption Request
- Client: Encryption Response
- (optional) Server: Set Compression
- Server: Login Success
- Server: Disconnect
- Server: Join Game
- Server: Spawn Position
- Server: Player Abilities
- Client: Plugin Message
- Client: Client Settings
- Server: Player Position and Look
- Client: Teleport Confirm
- Client: Player Position and Look
- Client: Client Status
- Server: Window Items
- Server: Chunk Data
- Client: Player
- Client: Player Position
- Client: Player Look