Migrate from Paper to Tuinity

Please Note: The TotalFreedom Forum has now been put into a read-only mode. Total Freedom has now closed down and will not be returning in any way, shape or form. It has been a pleasure to lead this community and I wish you all the best for your futures.
  • Tuinity or Paper for TF? 3

    1. Tuinity (1) 33%
    2. Paper (2) 67%

    Hello! As I'm sure you're all very aware, the freedom server tends to have serious lag issues during active hours. In order to combat these performance regressions, I propose migrating from Paper (https://papermc.io) to Tuinity (https://github.com/Spottedleaf/Tuinity).

    Tuinity is a fork of Paper with one goal in mind: scalability. A Paper or even vanilla server will work great for maybe you and your friends, however due to internal issues, Minecraft's performance begins to fall apart at higher player counts. Generating terrain, redstone machinery, and mob spawning are all factors that are multiplied by the people you have on. Even Paper isn't equipped to scale as well as one would hope.

    Migrating the server to Tuinity would soothe the issues of unpredictable performance during peak hours. The main way Tuinity is able to perform as well as it does is using Starlight, a modification developed by the creator of Tuinity designed to speed up the lighting engine. Unlike other lighting engine optimization mods, which optimize the existing vanilla code, Starlight completely replaces the vanilla lighting engine. Entirely. And this has dramatic effects.

    Image: a benchmark of generation times performed by Spottedleaf

    Yes, Starlight is 35 times faster than the vanilla lighting engine, and 25 times faster than Phosphor. And this is only a part of Tuinity's speed improvements. As a fork of Paper, it also retains the plentiful optimizations the Paper team has made, which means it recieves patches from two sources!

    I don't want to make Tuinity and Starlight seem perfect, however, because a complete rewrite of vanilla's lighting engine is bound to have potential consequences, such as non-vanilla behavior, and it's also vulnerable to some stuttering (however these are very minor)

    That's all I've got to say. If you'd like to ask me questions about Tuinity or Starlight, I'm happy to answer any questions you may have in the replies. Have a good day/night.

  • We ran Tuinity on the SMP server. It resolved many lag spikes, especially when players joined the game. However, it ended up not being compatible with WorldBorder, and it took us a good while to figure that out. There was no obvious indication it was Tuinity, it just was a lucky random guess. It's good, but unlike Paper it does have some plugin incompatibilites that paper doesn't have

  • @Telesphoreo#6199 The Freedom server does not use WorldBorder 😛
    But I see your point, though as far as I am aware, very few plugins currently present on the Freedom server touch worldgen ¯\_(ツ)_/¯

  • @lyicx#6200

    I think the aim of changing to this is to maintain stability when the player count has increased. Therefore if we put this on the beta server, we need to put 20 or so players on the server to test it properly, right @Reperak?

  • @Reperak#6202 but it is a valid point. If we change the server software we would want to change it across the network including the hub where it could actually be a fairly large issue.

    Wild1145

    Network Owner at TotalFreedom

    Managing Director at ATLAS Media Group Ltd.

    Founder & Owner at MastodonApp.UK

  • @Ashaz#6203 the current stability issues seem to be more plug in related anyway so I'm not entirely sure if this will make much of a difference, obviously better performance is great but equally it likely won't solve our issues.

    Wild1145

    Network Owner at TotalFreedom

    Managing Director at ATLAS Media Group Ltd.

    Founder & Owner at MastodonApp.UK

  • @Reperak#6207 I believe it does but I feel like that would just cause more confusion if we have every server running with a completely different setup, ideally we would want things to be consistent across the network so as to mitigate any compatibility issues.

    Anyways, I vouch for this to be thoroughly tested, and then if the testing goes well, for it to be implemented

  • @DragonSlayer2189#6210 well, not really. they're all still spigot, paper is a fork of spigot as everyone knows and tuinity is a fork of paper. it wouldn't really change the setup much.

    also use velocity instead of bungeecord when??

  • Good luck with plugin compatibility when we're going to need to use a bunch of zany Bungee plugins. Even regardless of that, we would probably end up throwing it for a loop because we need to rely on certain plugins to maintain the "freedom" experience. If none of the plugins we're using right now are incompatible, I'd go for it, but I also would be surprised.

  • Paper and Tuinity are extremely similar, they both use the Paperclip build system, support for the same APIs, the transition from Paper to Tuinity is hilariously painless.

  • FS-120 raised to do an investigation exercise to assess the viability of this and feed options back to me and the community on this.

    Wild1145

    Network Owner at TotalFreedom

    Managing Director at ATLAS Media Group Ltd.

    Founder & Owner at MastodonApp.UK