Instanced Arena World Theory

Discussion in 'Plugin Development' started by Cryptite, Feb 23, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    Cryptite

    I've developed a rated arena system for my server which pits two players (perhaps in the future, 4 for a 2v2 scenario) against each other in an arena. Due to the volume of queuers, players in the queue can end up waiting for quite some time before they get to play in a match because, presently, I only have one arena running. To facilitate this, I intend to multiply the number of arenas that can be played at any one point in time. However, I'm not sure what the best way to go about this that would be the most efficient and least laggy for both players and the server.

    Currently, the arena is in a world by itself which is essentially just a small flatmap with a world border at about 80 blocks and a closed-off arena in the middle that players are warped to when they fight. The question is which of the following, or if none are best, what better to "instance" the arenas:

    • One world, "arenas" with multiple copies of the arena at different locations throughout the same world. -OR-
    • One world "arena1" that's copy/pasted several times and each pair are sent to a separate world (arena2, arena3, etc).
    I'm only sort of aware of something whereby 'spawn' chunks are loaded and never unloaded, but I don't understand it, as well as greater chunk/player loading mechanics to best make this choice. So, that said, to those of you who understand chunk loading, and all that business, would you be so kind as to provide your advice? Thanks!
     
  2. Offline

    Deckerz

    T
    the one world is better, and less laggy
     
  3. Offline

    Cryptite

    Is there some distance requirement or way I should lay out the arenas? Or, rather, is it better to have everyone fairly close to each other, or spread them out so that what other players are doing isn't happening in the same "chunk zone" as another?
     
  4. Offline

    Deckerz

    doesn't matter but closer better
     
  5. Offline

    Cryptite

    Currently, many of the players are reporting that they're getting quite a bit of lag in the arena. I don't believe this has anything to do with code issues. Does it perhaps have something to do with the fact that the arena is in a separate world? Does warping back and forth to a new world create any client or server lag issues that might be resolved by being on the same world? Presently I'm still only running one arena at a time.
     
  6. Offline

    mastermustard

    it could be the internet connection and ram
     
  7. Offline

    ferrybig

    if they chancing the world, the whole world need to be resend, the lagg by this could be decresed by setting al those empty chunks to full air(and removing the air filled chunk sections)
     
  8. Offline

    Cryptite

    Do you mean converting all of the non-important chunks to air or actually deleting the chunk somehow? And wouldn't they just get regenerated if the chunks themselves were deleted?
     
  9. Offline

    ferrybig

    you need to delete a part of its nbt, there are blocks of 16X16X16 inside a chunk, if you delete all those blocks, none blocks will be send over the connection, making less stress on the connection, but the chunk wont regenerate because it has the important parts
     
  10. Offline

    Cryptite

    Is there a good program to do this with? MCEdit perhaps?
     
  11. Offline

    ferrybig

    if you use a world generation plugin, let the second part of the byte[][] array a null, then a chunk is fully empty, so return a new byte[16][];
     
Thread Status:
Not open for further replies.

Share This Page