This is a Proof of Concept of a simple Minecraft server written in Go, that has a simple multiplayer world.
This server actually supports only Minecraft 1.16.5 clients.
This is a very simple server, which can help those who are making one to better understand how the basic things that compose it interact with each other.
This project was inspired by:
- ESP32 Minecraft Server, a very simple Minecraft server written in C for the ESP32 development board.
- Go-mc, a Minecraft library written in Go.
- wiki vg, a website that has the documentation for every Minecraft package.
Everything has been adapted and rewritten to make code easy to understand.
- There can be only one username online at the same time
- Concurrent handling of clients
- Concurrent handling of client packets
- Support for player running
- Detection of a disconnected player is immediate
- Support for chunk generation
- Support for mobs
- Game changes saving
- Support for more client packets
- Plugins