Post a Reply
4095 views

Ban boats until the 1.14.1 update

  1. 5 years ago
    Edited 5 years ago by j____a____r____d

    It's already been confirmed by md_5 (the project lead for Spigot, so he knows his shit when it comes to optimization) that the major source of the server crashes is ticking water causing surrounding chunks to tick (which, if they contain water at the edges, also cause more chunks to tick.) The ticking quickly goes out of control since this is such a lousy accidental recursion that Mojank added into the game as one of 1.14's many undocumented features . This either results in a StackOverflowError from the call stack space colliding with heap space or some ConcurrentModificationException, presumably from the server ticking way too many chunks at once. Both cases cause a server crash.

    So, clearly, loading ocean chunks should be something kept to an absolute minimum until Mojang pushes out the update. Guess what runs antithetical to that objective?

    That's right, boats. Boats let new and established players alike sail across lots of ocean chunks and inadvertently generate shit tons of lag. Because their movement is clientside boats also ignore the lag that they generate, exacerbating the problem even more.

    The solution? Just ban them. /kill them every tick, notify players that they're banned for being a major propagator of server lag for this update, and just get them out of the server until the 1.14.1 update is confirmed to completely wipe out the bug once and for all.

    Now you may ask, if we ban boats, why not elytra too? Don't they allow the exact same thing? Well, elytra don't require just 3 wooden logs on a fresh spawn, and established players with elytra are mostly already aware of the problem and its cause. They're going to understand that exploring a lot of chunks in general causes server lag, and that in particular this update causes the lag to quickly grow out of control, unlike a newer player who might not be aware of the issue at hand.

    Seriously, it's the best thing we can do to mitigate crashing. The other alternative is sitting here twiddling our thumbs, hoping that people just won't boat around (which, by the way, they won't heed to our pleads in chat to fucking stop) while suffering from lost mobs and rollbacks from the server crashing.

    -----------------------------------------------------------------------------------------------------------------------------------------------

    EDIT: Compiling some counterarguments to the proposal that I have addressed before but not on this thread:

    1. "It would be impossible to transport villagers around, which is a negative".
    Actually, it wouldn't. By establishing a base near a village decently far from spawn you have a guaranteed source of villagers that you can then abduct for a villager farm. You can practically do every precise movement you can do on a boat with a minecart. As for long distance travel, you shouldn't be transporting any mob around thousands of blocks around anyways (as this is just a colossal waste of time if you ultimately think about it) unless they're rare to the point where building a base near it would be worthless. Examples include elder guardians and foxes, both of which don't necessarily warrant a permanent base location.

    This also doesn't consider the fact that, if you boat villagers around, you still are subjected to the same crashing condition that I described in the first paragraph. Villagers don't magically fix the ocean bug, and it's already well-established that server crashes and restarts put villagers at a risk of being deleted (it's happened to Team Eye 4 times already, including a Mending villager, breaking our villager breeder once, and outpost farm twice now.) There's no guarantee that transporting villagers with boats is safe at all until 1.14.1 is out.

    2. "Players will have to travel across oceans anyways, so making them have to travel for hours is a negative."
    This has some merit as there's no other option for a newer player except to journey in the Nether (which, however, is a viable option for travel. Maybe staff can finally set up the nether portal at spawn for this occasion?). However, you need to consider the two options we have.
    Either:

    • players get to boat across oceans and make their bases, but when they start losing mobs and having their stuff be rolled back from crashing they will get incredibly upset and possibly quit. We're lucky that we can deal with this shit, but others won't.
    • boat access is restricted with a very clear explanation to why, so while players are inconvenienced with having to swim across the ocean or use an alternate method of travel, the amount of ocean ticking is heavily reduced and so crashing is minimized. Hence, less chances for progress to be reverted. I will gladly try to figure out a method to help get players far out from spawn if it means being able to reduce server crashes. I've already done it a couple times, like tping MeepMeepMeepMeep 10 thousand blocks away from spawn on a whim.
  2. Edited 5 years ago by FieryPhoenix64

    So you want to force new players to swim across vast oceans for possibly hours at a time just to stop their bases being blown up? -1 from me.

  3. Edited 5 years ago by j____a____r____d

    @FieryPhoenix64 So you want to force new players to swim across vast oceans for possibly hours at a time just to stop their bases being blown up? -1 from me.

    The Nether exists for a reason, dude.

    And besides, that is insignificant compared to actually losing progress, items, villagers, and in general facing constant issues from crashing. I'd much rather swim an ocean than lose yet another damn Mending villager, and newer players would quit if they lost progress rather than have to spend a bit more time travelling.