Rust Server CPU Guide: Ryzen 9 7950X3D, 5950X and 3900X Compared

Published on | Updated

Why a Rust server leans on single-core speed, how the CPUs behind Space-Node's Rust plans compare on AMD's published specs, and how to measure server FPS on your own server instead of trusting a benchmark chart.

Rust

Rust is one of the heavier game servers to run. Animals and NPCs, building decay, electricity, industrial setups and every Oxide plugin hook all have to be processed, frame after frame, and a large share of that work runs on one thread. When that thread can't keep up, the server's framerate drops and players feel it.

Why single-core speed matters for Rust

Rust runs on the Unity engine, and a large part of its server simulation runs on the main thread. Extra cores still help with some background work, but they don't make that main loop faster. A fast core does.

This is also why RAM alone doesn't fix a laggy Rust server. Having enough memory keeps the server from running out as the map fills with bases, but once there is enough, adding more does nothing for server FPS.

Server FPS, the number to watch

A Rust server reports its own framerate. Type fps in the server console or over RCON: the Facepunch wiki describes it as returning the current frames per second, on client and server alike. fps.limit sets the cap, and from the in-game console you prefix it with sv to set it on the server (Facepunch wiki: useful commands).

Server FPS is not the same as the framerate players see on their own PC. It shows how quickly the server gets through its work. When it drops, players notice it as delay on their actions. Facepunch wrote about "interaction delay issues when the server FPS drops below a certain point" as far back as Devblog 74, the update that added the server.fps console command.

The CPUs behind Space-Node's Rust servers

CPUCores / threadsBase / max boostL3 cacheMemory (AMD spec)Where it runs Rust
Ryzen 9 7950X3D16 / 324.2 / 5.7 GHz128 MBDDR5USA: California and Virginia
Ryzen 9 5950X16 / 323.4 / 4.9 GHz64 MBDDR4Singapore and Australia
Ryzen 9 3900X12 / 243.8 / 4.6 GHz64 MBDDR4Netherlands, Germany, Poland, Canada and India (Standard)

Sources: AMD product pages for the 7950X3D, 5950X and 3900X. Because of hardware shortages, the plan selector notes that the exact CPU in any region can vary between similar Ryzen models, with similar or higher single-thread performance than the one listed. A Premium tier on a Ryzen 9 9950X is shown in the Rust plan selector for Europe and Canada, but it can't be ordered yet.

AMD's max boost figure is the best case for one core on a bursty single-threaded load. On a busy node, clocks sit somewhere between base and boost, so use the table to compare the chips rather than to predict an exact clock speed.

What the 7950X3D's cache means for Rust

The 7950X3D carries AMD 3D V-Cache, which doubles its L3 cache to 128 MB. A Rust server keeps track of a huge number of entities: players, animals, building blocks, deployables, dropped items. The more of that data stays in cache, the less time the main thread spends waiting on RAM.

How much that helps depends on the map size, how far into the wipe you are, how much has been built and which plugins you run. We don't quote a percentage, because we don't have a test we can share that backs one up. The Ryzen 9 L3 cache post explains the mechanism in more detail, with Minecraft as the example.

What drags server FPS down

Before you blame the CPU, look at what the server is doing. Entity count grows through a wipe as bases, deployables and items pile up, so server FPS late in a wipe says more than FPS on wipe day. Large maps and high player counts add work. Plugins add hook time on every event they listen to, and one badly written plugin can cost more than the rest together.

Our Rust performance guide covers entity limits and the settings worth changing.

Measuring your own server

Take readings the same way each time, so you can compare them:

  1. Check fps at a quiet moment and again at your busiest hour.
  2. Check it again on the same days of each wipe, for example day one and the last day before the next wipe.
  3. Note what changed between readings: a new plugin, a map change, a Rust update.

Write the setup down with every reading: map size and seed, players online, days since wipe, the Oxide plugin list, your fps.limit, the Rust server build, and the plan and region. Without it, a number from last month can't be compared with one from today.

We only publish performance numbers from our own servers when we can share that setup, so anyone can repeat the test.

Choosing a plan

Pick the region closest to your players first. Distance adds delay to every shot and every door, and no CPU takes that away. Then pick the plan size by the player count and wipe length you plan for. The plans, RAM per plan and hardware per region are on our Rust hosting page.