Redstone
Introduction
Redstone
is an experimental Minecraft server built with C# and .NET 5.
The project has been created for learning purposes, about the network, game logic and Minecraft world generation problematics.
The goal is to provide a clean and simple API to develop highly performant Minecraft servers.
Redstone uses a HostBuilder
to benefit the use of using modern design patterns such as Dependency Injection, Logging and Configuration loading.
⚠️ This project is not affiliated with Mojang Studios. ⚠️
Getting started
Before getting started, you will need to install the following softwares in order to contrribute to the Redstone project:
- Git SCM
- Visual Studio 2019 (or Visual Studio Code)
- Docker
- With
docker-compose
- With
The solution is configured to run with Linux containers.
One you have checked out the repository, you can open the Redstone.sln
solution in visual studio, set the docker-compose
project as "Startup Project" and start the debug to get a working server in debug mode.
Note: The configuration files of the project are located in the bin/config
folder, located at the root directory of the project.
Available features
- Server status
- Login
- Player movements (Move, jump and rotation)
- Player visibility with other entities
- Player data
- Loading
- Saving
- Chat
- Normal chat
- Commands
- Inventory
- Creative Inventory
- Survival inventory
- Hotbar
- Block placement
- Block destruction
- World generators
- Crafting
Thanks
A huge thanks to wiki.vg community for the amazing work about the Minecraft protocol description and map/chunk formats!