Max number of players on a paper server without lag?

Can I get an estimate on how many players can be online a paper server at the same time without dropping TPS under 18.5?

I’d like estimates based on a server having some plugins vs a server without any plugins for comparison.

Conditions:
There are probably a lot of things that I can’t account for, but these are some general conditions to help with the estimates.

  • Minecraft 1.16.4 (or a more stable version of 1.16 in the future)
  • CPU: Xeon E5-1650v3 (6 cores, 12 threats, 3.5GHz)
  • RAM: 32 GB DDR4
  • great internet.
  • All players are on the same continent.
  • Let’s say that all of the players are playing minecraft in an average way (no lag machines, no giant redstone creations or farms, etc).

For reference, let’s say the server with plugins has about 10 plugins: EssentialsX, MultiverseCore, WorldEdit, WorldGuard, LuckPerms, Vault, Citizens, your choice of anti-cheat plugin, and 2-3 dependency plugins.

2 Likes

Cant be entirely sure but a server I played on (with I believe the same specs) could take up to 15 players without any lag.

1 Like

There is no way to estimate what your servers TPS shall be, but with your specs you could be fine to have possibly 100 or more players.

But again, this is a rough estimate as it depends on loads of settings that your server could be configured with or what your players are doing. The more players on your server the more chunks are loaded into RAM ect and the number of chunks they each see is dependant on your server side render distance.

This is the same with plugins, the more plugins you have the more RAM you will be using as each plugin has to be loaded into memory for it to run.

Remember that Minecraft is a single core application so your CPU will not be making full use of all 6 of its cores, you could with your specs run two individual servers splitting the RAM between them?

Realistically your server should run fine and there isn’t any need to worry too much about what TPS you may get. If you do experience some issues with your servers TPS you can install some plugins to clear up and optimise entities or tune your servers configuration.

2 Likes

Keep in mind that CPU power isn’t the only factor to consider, as the CPUs can only process data that gets served to them by the machine’s various storage subsystems.

The game loads all the chunks around a player in a 21x21 grid; so if you have players scattered around the in-game worlds, that means a lot more chunks getting loaded & updated than if they were all in the same region. If your players are moving around fast (elytra, etc.), then the dynamic chunk load demands are even higher.

Check the IOPS rating (input/output operation per second) of your storage media for both random read and write operations. If your storage can’t load chunk data fast enough, it’ll cause lag. Same if it can’t save updated chunk data fast enough.

3 Likes

Even for the same hardware, TPS is going to vary depending on MC version and how your players are playing the game. The latter involves a lot of factors. You stated the version (1.16.4) and their expected behavior, but again, how your players play the game has a big impact.

I’m currently managing a server on 1.16.4 with ~80 rotating players, 28 max online at any given time (although we had 60+ at launch and lag was…horrible). We started out on Bisect Hosting with a 20GB instance. I don’t know what CPU they use for those nodes. Currently we’re on a node with 2c/4t from a Ryzen 3900X, and 12GB of RAM.

With View Distance set to 6, Aikar’s flags (for 12GB+ RAM), and a few other tweaks, we’ve been able to keep TPS pretty consistently close to perfect even with 28 people online. This is with a large world map (over 3GB and growing, some players out past 20k blocks), large nether map, and recently generated End map. We don’t have many plugins, but we do have Dynmap, World Guard, World Edit, DiscordSRV, and OpenInv.

Our biggest issue has been with entityTick performance (seems like a lot of zombies and villagers are taking up time in the game loop in particular, zombie’s idle tick is also taking resources). We’re definitely not at risk of running out of memory for the moment. CPU performance has been our bottleneck.


So, what’s the max number of players for us? No idea. Maybe 30, maybe 35, maybe 60. But a lot of our players are running automated mob farms, and that can hurt performance. Your players may be different.

Either way, pre-generating your chunks is a good idea if you expect to handle a large number of players. Some people don’t like doing that since it reveals features that haven’t been explored yet if you’re using something like Dynmap, but chunk generation can hit performance hard when you have a lot of players exploring. Getting that out of the way ahead of time is a smart idea (for all worlds).

My biggest piece of advice: Unless you’re storing your server data on a hard drive, CPU performance will almost always be your bottleneck. Get the fastest cores you can, Minecraft doesn’t scale well across multiple cores (at least not without sharding, i.e. running a separate server instance for world/nether/end each). Compared to what’s currently available, the 1650v3 is not great (PassMark isn’t perfect, but see single-threaded performance here. The CPU’s there are what I’ve seen frequently available from dedicated hosting providers).

Additionally for storage, even if your storage is slow, if you have a lot of RAM you can potentially set up a ramdisk//tmpfs to store your world data, which will significantly decrease load times for chunks. But you have to be careful about syncing that data back to local storage, since ramdisk/tmpfs is loaded into RAM, which is not persistent. Generally any modern NVMe and most SATA SSD’s will be plenty fast enough.

4 Likes