A servers TPS or Ticks Per Second is used to quantify the overall health of your server’s performance. Like a heartbeat, your server beats at a fixed rate of 20 ticks per second, so one tick every 0.05 seconds. On each tick, various aspects of the server advance a little bit; moving of mobs, the growth of grass, moving objects change position, mobs check their surroundings and update their behavior, health and hunger, and much more. The whole of your server revolves around the beat of your servers TPS. When at peak performance, 20 TPS, you’ll receive nominal gameplay without any server-side lag. But if your servers TPS drops, even by several ticks, you’ll begin to notice lag on the server.
As the servers TPS drops, you’ll begin to notice the rubber-band effect. Your server will skip ticks in an attempt to correct itself, often reverting in-game actions a few seconds back. Most associate this event with mobs teleporting, blocks breaking but not dropping the item until a few seconds later, delay in combat strikes, or the sun skipping through the sky counterclockwise. All actions and events that take place on the server are governed by the servers TPS. As it drops, the speed of your server slows with it, time in the server is essentially slowed.
What Determines TPS?
TPS on the server is determined primarily by the speed and capabilities of the hardware used to host it. While the server’s hardware does play an important role in the server TPS, it is not the absolute determinate. Simply throwing the best hardware on a server will not guarantee its performance. What occurs on the server plays an equal role in determining the server's TPS. Mismanagement of one’s server can be just as detrimental as is adequate hardware. TPS drop can occur as a result of various in-game occurrences due to the use of plugins, mods, complex redstone structures, and much more. Determining the source of TPS drop is not an easy task, but is easily avoided with good server management practices.
What Causes TPS Drops
When adding mods or plugins, you should be thinking about the long-term effects of your choices. Many new server owners will mistakenly assume that the number of people on their server will determine the performance of the server. Before you state that “there are only a couple people online and the server is lagging like crazy”, you should note that the number of players on the server plays little part in the server’s overall performance. The primary causes of TPS drops are a result of what you having going on in your world. For modded servers this more apparent with all the new blocks and the functionality they provide.
For each modded block you add that provides some type of function, the server has to allocate resources to ensure that function is carried out. Now on its own that one block is of little consequence. But if that block forms an array as is typically done with solar panels, then the server will need to dedicate more resources to carry out that arrays functions. When we break it down we can get an idea of how much is really going on in the background.
If you have an array of 1000 solar panels, each panel when placed is constantly checking the time of day. Then checks the immediate surrounding blocks for cables to deliver power to. If one cable combines with another array, then that mainline is updated with the sum power of both arrays. These updates are happening every 0.05 seconds and when combined with everything else, it all adds up. It’s no surprise the strain it can put on a server that Minecraft wasn’t designed rub.
Preventing TPS Drops
Good management practices. When you add something to your server, whether in-game or from the back end, you should think about the long-term implications that the addition may have. How you determine this is dependent on your understanding of the addition. For mods and plugins, this means reviewing what the mod/plugin does and making an educated assumption of its long-term effects. While in-game you should consider the size of your worlds and the blocks you place in them. Some modded blocks may require more resources than others and just one could potentially wreak havoc on the servers TPS. Additionally, having various players on your server with individual base’s can add to the resource consumption. So if possible, build relatively close and share machines in a community setting. Build conservatively, only what you need, avoiding any unnecessary wanton builds that would otherwise strain your server resources.