SentinelCraft Legacy Forum 2013 - 2022

Server Stuff => Server Announcements => Bungee Update => Topic started by: Oplegoman on April 01, 2021, 06:56:04 PM

Title: Development diary #1 - Overall Plan - Code Name: Don't panic
Post by: Oplegoman on April 01, 2021, 06:56:04 PM
Development diary #1 - Overall Plan - Code Name: Don't panic

(https://i.postimg.cc/W1vLmM3S/2021-04-01-18-59-28.png)
(Proof of concept for a new and updated tab, more teasers will be on their way in the next update!)


This is the first one, so we shall see how this format goes and hope it does slowly answer your questions in the coming weeks. We want to abundantly clear that this change is not going to happen quickly and there will plenty of warning when we make the change over, so please do not stress about the 'what if?'. Being as honest as we can, we do not know all the answers at this time. We shall only announce firm progress, on things we are happy are final and will not change through our development.

Why?

We know many of you will think why we are going to such great lengths to make change things, and probably feel apprehensive of any change coming forward. As for Minecraft itself, has had many considerable updates since 2013 and if we wanted to compare the two different server Java files, we would find that the most up to date version would be considerably slower. Even with server components getting faster frequencies and IPC (Instructions per cycle) this has not been enough to keep the server performing as well as we would like, and it's exacerbated with the way Minecraft is handled on a server, with the game thread only being run on one core, it means we cannot just throw more cores at it, and it runs twice or three times as fast.

We have all seen this in practice with our TPS (ticks per second) dropping when we have many concurrent players. This is a point of frustration for us all. We have taken measures to ease the burden on the server by reducing many aspects of the game such as natural mob spawning, render distance, etc. We know this does have a negative effect on player experience, but thankfully you have been begrudgingly accepting of these changes.

The last year has been troublesome for the server on the backend at least, with the loss of dynmap and skyblock. This has been the 'straw that broke the camel's back', and really showed us that we have outgrown our current server hardware. We have very much hit the limit of our current storage space, sentinel in its current form is taking up over 500 GB and this is growing. Another limitation we have hit once we get many players online is the read-write bandwidth of the server, causing major TPS drops without any seeming reason why, this is due to the server being run on basic SSD's.


The setup

As we detailed in the announcement post, we purchased a new dedicated host with more up to date hardware and must more storage. Our storage solution shall consist of 900 GB of super-fast storage and 4 TB available for backups, ensuring we keep all our data safe. This increased storage has allowed us to truly plan for increased world boarders, in some cases as well as introducing more worlds such as claimable nether and end.

If you have thought this through this mean sentinel would be well over double digits of the number of worlds we would have, which is far too much for a single Java file to handle. We have taken the decision to split this up into distinct servers which are all interconnected. This should help us leverage all the performance of the 8 core/16 thread processer we have. We have decided to split the server into 8 distinct servers at the moment:



Setting up the server this way is far more complex than if we just tried to carry on with a single server instead of a network, we feel the benefits outweigh any potential issues which could arise during this project. Some of the key aspects that we believe its work it for;

Increased render distance, which can be variable dependent on the server.
If a server crashes, such a horizon, all other servers will be playable, meaning less downtime for minor issues!
Allows us to hopefully introduce many more features to the game, or if demand was high enough newer game modes on their own specific server.
Peoples builds and actions on the server should have lesser impact upon server TPS.
Moar plugins? Maybe..

We hope you are as excited as we are to embark on this journey into evolving Sentinel into something bigger and better for everyone to enjoy! We do hope that you think these development diaries are worthwhile and informative, the next dev diary shall be on plugins, those that have changed, those we have added and the overall difficulty around them.

- Sentinel Staff
Title: Re: Development diary #1 - Overall Plan - Code Name: Don't panic
Post by: Aatif on April 03, 2021, 05:00:50 PM
I really love this! You guys are doing such a good job!❤️
Title: Re: Development diary #1 - Overall Plan - Code Name: Don't panic
Post by: NotA on April 03, 2021, 05:13:14 PM
Wish you the best of luck!
Title: Re: Development diary #1 - Overall Plan - Code Name: Don't panic
Post by: evzntv on April 03, 2021, 05:57:28 PM
this sounds incredibly dope. so excited!
Title: Re: Development diary #1 - Overall Plan - Code Name: Don't panic
Post by: Nick The Builder on April 04, 2021, 02:19:38 AM
This is very wonderful! You guys are doing a very great job! keep it up!  :D