Is it possible to have: One PVP arena. Multiple gamemodes, buhc, PotPVP, soup etc go on in the arena at the same time BUT matches do not interrupt each other. Like Badlion. They have a massive amount of players... Do they have over 1000+ arenas? Trying to figure this out lol
If you wanted to have it be static you would have to setup some sort of system that either duplicates levels and loads them for each arena then unloads and deletes them after the match or create some sort of system that loads an arena schematic in and removes it after the match or create a proper networking system that allows your servers to efficiently communicate and transfer players to game servers that have multiple arena's available.
It's pretty simple. I can make you a shell script (f you, windows). The only thing you'll need to worry about would be hard space.
What if it was done through blocking certain packets to certain clients? Couldn't it be all done in a single level?
Big servers write their own server/modify server software heavily, where the blocks are just saved in memory.
Duplicating worlds is the worst anyone could do. You can differentiate every game session and use UpdateBlockPacket to your advantage. I think that's what big servers do..?
What if the game mechanics require detection of changes to the arena? For example, water flow? So, is it impossible to do this without modifying the source? What about Level->setAutoSave(false)? It should have minimal effect to the level storage. Otherwise, use a custom level provider to prevent writing. I wrote a proof of concept here. Never tested it though. Is it really that costly to duplicate the level every time? If blocks are only saved in memory, it is identical to unloading, deleting, duplicating and reloading the level every time. Is there really so much difference?