Minecraft server implementation in C#
Minecraft server implementation in C# and latest .NET, not affiliated with Mojang.
This is currently just a passion project.
The server will be a shell for plugins.
This includes systems like chunks, blocks, entities, items, and many more.
Vanilla will then be implemented as a plugin.
Roadmap to be announced
Component-based plugins will play a big role in implementing game logic and extensibility. Utilizing a modern and unified .NET allows the server to run on most mainstream devices and architectures.
This implementation aims to provide great performance by utilizing modern practices, new technologies, and few allocations. Threading many aspects of the server is of great importance as modern/server processors usually have plenty of cores. At least one game thread per dimension is planned.
The purpose of this project is to innovate where the vanilla server is lacking, creating heavily optimized components for various workloads. A robust world save format with backups and distributed hosting, possibly with multiple game threads per dimension, is planned.
git clone https://github.com/TechnologicalPizza/MinecraftServerSharp
git submodule update --init
Latest Visual Studio 2022 with '.NET desktop development' should work out of the box.
The server will require game data at runtime which needs to be downloaded manually for now.