Progress in global internet access as well as a rise in network speeds has ensured that more
people are connected to each other than ever before. This ever increasing connectivity has
led to a surge in the number of people that play real-time online games, and therefore
there is a need for massively multi-user virtual environments (MMVEs) to be able to host
a wider range of simultaneous players. The scalability of prevailing system architectures is
limited and thus unless scalable alternatives are implemented the amount of simultaneous
users in MMVEs will be restricted.

This project proposes the use of spatial publish/subscribe (SPS) as a mechanism to
handle MMVE event and update dissemination to improve its scalability. The Koekepan
project and Minecraft are used to test the viability of SPS in improving MMVE scalability.
Custom proxies as well as an interest matcher are designed in order to implement SPS

The software designed was shown to effectively handle the event and update dissemination
in a game of Minecraft and seamlessly host two clients on two servers simultaneously.
Furthermore it was shown that the network throughput was reduced by up to 30.59% using
SPS architecture compared to the normal Koekepan architecture, and that the latency
that was introduced by the SPS layer did not exceed a level that would adversely affect
gameplaye for up to 75 subscriptions per matcher. It was concluded that SPS is a viable
mechanism for handling the event and update dissemination of MMVEs and therefore has
the potential of greatly improving their scalability.

Helpful links

GitHub : https://github.com/MiguelSmith/P2P-Minecraft-server