Quake: Competitive Lagging

How to combat lag accusation and bad excuses for loosing the game. Sometimes it just ain't the ping.

Quake: Competitive Lagging

If you have played any kind of competitive online game, you have surely encountered at least one of these things: The server appears to be lagging, or is it just your connection, or maybe the enemies connection?

While we won't talk about the delicate voice chat debate that follows, it's needless to say that this is an issue that needs to be addressed in a multiplayer shooter. Even if it's a Minecraft shooter. Of course, we can't magically fix someone's internet connection or stop a server from lagging once in a lifetime. But what we can do is being transparent about all those things.

TPS: What is it and why does it matter

In the world of Minecraft, a servers performance can be measured in so-called Ticks Per Second (TPS). Idealy, there are 20 ticks in one second. That means, that the server has completed all checks and tasks 20 times per second. Those tasks vary from mob/player movement to custom plugin code (like Quake).

Now what happens if the server cannot complete 20 ticks in a second? Well, you as a player will perceive this as lag. You might teleport back to a location you just walked away from because the server simply didn't have time to process your previous movement and thinks that you are moving to fast (hacking). You will also notice choppy movement of other players and your weapons might not work as expected. This kind of lag affects all players and its entirely a server problem.

We are doing our best to keep our code outside of those ticks, to add as little load as possible to the server. But we also have to worry about what happens if the server does lag. This is why we added a feature to all games built with our GameAPI.

Server TPS

The Server's TPS will always be visible at the bottom of the TabList (Minecraft Java Edition). To make it a little more useful, we also added the current game state. The TPS will change color based on our rating of the TPS.

Green: OK, TPS is acceptable for playing.
Yellow: Light to moderate lag may occurr.
Red: Unplayable, too much lag to play the game.

Server TPS being shown in the TabList

You can also show the current server TPS by typing '/ticks' in the chat. It is usually a bit more precise than necessary and is rarely the full 20 TPS.

Bad Ping: It doesn't only affect you

The most obvious issue of a bad connection is usually your playing experience. Everything seems to be slow, your shots are not going as fast as you'd like them to go and you seemingly hit someone but they didn't die. But you are also lagging for everyone else on the server. Your movement might be choppy, making it harder (or easier) for people to aim at you.

We are trying to have a good connection to everyone by putting our servers into a well-connected datacenter. This may help, but it will not fix the problem of simply bad internet connections at home. Once again, being transparent can help to at least calm fellow players on the server and to prevent claims of server lag.

Ping Transparency

Every player has their ping next to their name in the TabBar. This feature also works with Bedrock clients! This way, everyone knows who they are playing with and what kind of issues they can expect with the other players.

Ping to the server being shown in chat. /ping

Your own ping can also be shown in chat by typing '/ping' in the chat. It should print the exact same number as in the TabList but this time the number is colored depending on it's rating.

Green: Great, you should not have any issues playing
Yellow: OK, most likely you won't notice any issues but there might be slight delay.
Red: Noticeable lag, you can still play
Dark Red: Really Lagging, we'd not recommend playing like this.