The aim of this project is to improve the scalability of the Opencraft server. The Opencraft server is based on an open-source implementation of the vanilla Minecraft server. This thesis focuses on improving the messaging system of the Opencraft server. The existing implementatio
...
The aim of this project is to improve the scalability of the Opencraft server. The Opencraft server is based on an open-source implementation of the vanilla Minecraft server. This thesis focuses on improving the messaging system of the Opencraft server. The existing implementation of the messaging system is very basic. It went through all online players and promptly generated all messages and send them afterwards, this limits performance and scalability. We decided to replace the system with an implementation of the topic-based variant of the publish/subscribe design pattern. However, we evaluated other options as well. We also decided to implement certain features that were deemed necessary for verification purposes. The server often varied in behaviour compared to the vanilla Minecraft server. This made message verification harder since it was not possible to compare both servers side to side. This lead to the implementation of collision, physics, and water flow, which allows anyone to verify the behaviour of the Opencraft server is correct. The implementation of the messaging system provides a variety of components that can each be configured. All different configurations were tested to find the optimal configuration for the Opencraft server.