-
Notifications
You must be signed in to change notification settings - Fork 0
Flow
##How Minecraft Normally Work Usually, in a traditional Minecraft server, player flow is like this:
Player A Player B Player C
| | |
| | |
| | |
+-----------------+-----------------+
|
|
|
▼
Server 1
|
|
|
▼
world1
world1_nether
world1_the_endAbove is the old way of handling players using a single machine. Bottleneck usually happens when a single machine gets filled up with high amount of concurrent players.
#How to Scale Let's visualize a smarter way to distribute players. In Minecraftly, it's like this:
Player A Player B Player C
| | |
| | |
| | |
▼ ▼ ▼
Server 1 or 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9 or 10 or 11 or 12 ... or ∞
| | |
| | |
| | |
▼ ▼ ▼
+-----------------------------------------------------------------------------+
| worldA worldB worldC |
| worldA_nether worldB_nether worldC_nether |
| worldA_the_end worldB_the_end worldC_the_end |
+-----------------------------------------------------------------------------+As you can see, in this method, it doesn't matter which server brings player his/her own world when they log in, as long as one server delivers the correct world to the correct player at the correct moment.
So, where do we store those world folders? The worlds are stored in a common file system or something? The answer is yes. It can simply be a NFS server or a scale out NAS cluster. Any solution works, as long as all servers share the same common file system folder.
Minecraftly is distributed under the GNU GPLv3 license.