Mammoth Mod: Minecraft to MMO: thousands of players in one world
It's Monday on PC Gamer and we haven't had a hot server chat yet: but don't worry! An upcoming Minecraft mod with serious ambitions is about to change all that, and might even have a bigger impact on the future of the platform. Essentially, it involves a problem: Minecraft processes all the information about a server on a single CPU (single-threaded). So you can have the biggest and most powerful PC in the world, but as soon as it has to deal with several dozens or even hundreds of players, performance is severely degraded, the server's tick rate drops to the point where it becomes unplayable and nobody has fun anymore.
The "world record" for simultaneous Minecraft players
The "world record" for simultaneous Minecraft players in a single world is 2622, a chaotic feat where none of those players could really do anything, but hey, they were there. That wasn't good enough for programmer Jackson Roberts. He wanted a project to complete in the early 2020s and decided to create a gigantic Minecraft server that could accommodate thousands of players without delay. Minecraft's existing single-threaded server software clearly wasn't up to the task, so Roberts and his collaborator Harvey298 decided to create their own server, which they named Mammoth.
The first attempt, as Roberts explains, was a proof-of-concept system that divided a Minecraft world into 1024 blocks, each managed by its own server: Edge areas were synchronized and servers transferred moving objects between each other. However, there were too many problems: players couldn't see each other "across servers," the failure of one server made that part of the world inaccessible, and basically the solution didn't do anything when many players gathered in a small area.
After that experience, Roberts set a number of goals for Mammoth, including: Players must be able to see each other, even if they are on different servers; if a player places a block or updates a shield, it should be immediately visible to all other players; if a server goes down, the entire world should still be accessible; if needed, servers can be added or removed at will to adjust to the number of players.
The idea he had was a centralized backend database that could communicate between Minecraft servers as they appeared and disappeared, and continuously relay messages about, for example, player movement. After trying some existing software, such as redis and SpatialOS, Roberts determined they were unsuitable for his purposes and decided to develop his own software, WorldQL, which he describes as "a scriptable real-time spatial database for multiplayer games [that] can replace traditional game servers or be used to load-balance existing servers."
The new version of Mammoth
The new version of Mammoth, scheduled for release on September 8, is based on WorldQL, which "stores all permanent world changes and passes real-time player information (such as location) between servers." Basically, each server constantly reports its data to World QL, which then asks questions of other servers based on those reports: If it knows one player is near another, and the first player's server says he has moved, WorldQL asks what the other is doing.
"In Mammoth, no single Minecraft server is responsible for storing the world. All changes to blocks are stored centrally in WorldQL. These changes are indexed by chunk coordinates and time, so a Minecraft server can only request the updates it needs since the last time a chunk was synced."
Jackson's post goes into exciting aspects such as "real-time block synchronization", message brokers, and the future potential for Minecraft minigames to be created in the WorldQL scripting environment (because they will be able to take advantage of player scaling by default). Here is Mammoth's Github page.
The debut of Mammoth will be of particular interest to some of the more unusual Minecraft communities, such as those who like to play on anarchy servers, and it will enable a whole range of other large-scale activities that have not been possible before. Expect this to be tested on servers like 2b2t and, if it works as claimed without falling over, to quickly become part of the scenery. As you can see from our list of the best Minecraft servers, people are always coming up with crazy and wonderful ways to play, and if Mammoth lives up to its promise, it could live up to its name.
By the way, you can find a nice website with building ideas for Minecraft here https://minecraft-bauideen.de/