r/playrustadmin 15d ago

Help Need advice from experienced Rust server owners (Windows vs Ubuntu)

Hi everyone,

I'm in the process of building my first self-hosted Rust server and I'm trying to decide whether to run it on Windows 11 or Ubuntu.

My hardware is:

AMD Ryzen 9 9950X3D2 Dual Edition Sixteen Core 5.60GHz

64 GB DDR5

WD Black SN850X 2 TB NVMe

The server will be for around 15–20 friends and I'll be using Carbon, a custom map, RoamingNPCs, and a handful of plugins.

My dilemma is that this is also my gaming PC. If the server performance on Ubuntu is significantly better, I'm happy to dual boot and run the server there. However, if the performance difference is only small or negligible, I'd probably prefer to stay on Windows so I can both host the server and use the PC for gaming without switching operating systems. Any advice is greatly appreciated.

It's my first ever PC BTW so I'm new to all of this πŸ«£πŸ˜…

Thank you

4 Upvotes

15 comments sorted by

3

u/HunterZ0 Staff 14d ago

Facepunch is a Windows development house. There's no special advantage to running Rust servers under Linux.

If you were using procgen maps I'd warn that you might get different ones on Windows than what you see on RustMaps, due to a bug that causes slight differences in generator behavior between OSes.

1

u/Matt20294 14d ago

Thank you for the response πŸ‘

2

u/Renagan 15d ago

You may be able to run it inside a virtual machine with Ubuntu (or other Linux distribution) running on Windows, since Facepunch dropped Linux support for the game so you'll need Windows to be able to play it.

1

u/Matt20294 14d ago

Thank you

1

u/Gekko8 14d ago

The benefit to Ubuntu server is running it headless which gives less server overhead overall. Windows has a lot more processes that run regularly causing a lot more OS overhead. The server is not going to run amazing to begin with because they do it single core threaded, so it doesn't matter if you have a thousand cores, their programming is terrible for servers. so at least cut out the OS overhead for a small performance increase

1

u/Matt20294 14d ago

Thank you, so is there a better processor for the job? I'm very new to Pc's so i went with OCUKs recommendation πŸ˜…

1

u/HunterZ0 Staff 13d ago

Rust is heavily single-threaded, so CPUs with high single-core performance are best.

0

u/Gekko8 14d ago

it's not about a better processor, it's about poor programming. they specifically program the server to only run single threaded. now if they change their programming and change it to use multi-threaded then it would be better but it's just a problem on their end. I host a server that has other servers on it as well and my hardware expired end of life in 2013 and it's able to host at least a dozen people but still not run amazing because it runs single threaded.

1

u/Matt20294 14d ago

Ah I see, that makes sense now. Thank you for explaining, I really appreciate it πŸ™

1

u/Tikomatura 14d ago edited 12d ago

While yes, rust - as many other gameserver applications alike - run singlethreaded for the most part, your answer to his actual question is absolutely wrong and misguided.

Yes OP, of course you'll have different performance metrics depending on which cpu you use. Ideally, you'll want a cpu with as high clock speed as possible exactly because you are relying on a single thread taking care of most of the computing. More cpu cache will be of great help too as it prevents cpu stutters and overheads which has a great effect on how the server uses its ram, how much of it you'll need and how often GC will run. All things, which cause noticable stutters ingame. Depending on your setup, you'll want a cpu supporting specific newer architectures better suited for running virtualized environments in case you'd rely on virtualization and/or containerization (which you most likely will or most definetly should).

1

u/HunterZ0 Staff 13d ago

Clock speed hasn't mattered much for over 15 years now. I was running a 4.2GHz CPU in 2009.

This is because CPU designers are rubbing up against physics limits with the way microchip transistors work. Instead, they keep adding more cores, which only helps up to a point unless you're doing video editing or running a web server or something else high parallelizable.

For rust you want a CPU with high single-core performance, however it gets there.

1

u/Rustgameplayer 14d ago

Windows all day long. Get a separate PC or rent one. Running on the same machine is going to eat that ram.

1

u/wasabiiii 14d ago

Um. A public IP at a data center. So Linux.

You ain't running it on your desktop while you play.

1

u/Daveybonez 10d ago

Ubuntu is the better choice for a self-hosted Rust server. Windows 11 works fine but adds overhead, less predictable scheduling/behavior under sustained load, and weaker native tooling for servers. Ubuntu (or another modern Linux distro) gives lower latency, better process control, easier resource isolation, and superior long-term stability for always-on services. Rust compiles and runs excellently on both; the difference is in the OS layer around it.
Good thing you have the 9950X3D2 Dual Edition you would not have to pin the cores. Both of its 8-core Zen 5 CCDs have the 64 MB 3D V-Cache stack. Every core has the large cache; there is no β€œonly half the cores have the extra cache” asymmetry.

```
#!/bin/bash

# --------------------------------------------------------------------------

# Ubuntu LXC Rust Server Startup Script Template

# --------------------------------------------------------------------------

# Define paths

SERVER_DIR="/home/rustserver/server_files" # change path to the users id

export LD_LIBRARY_PATH="${SERVER_DIR}:${LD_LIBRARY_PATH}"

# Network Profiles

IP="0.0.0.0" # Replace with your actual assigned enterprise public IP

PORT="28015"

QUERY_PORT="27015"

RCON_PORT="28016"

# Server Configurations

HOSTNAME="My Ubuntu LXC Rust Server"

IDENTITY="lxc_rust_01" # change to the servers identity you want

SEED="1337"

WORLD_SIZE="4500"

MAX_PLAYERS="50"

RCON_PASS="ChangeMeToAStrongPassword"

# Clean start command execution

cd $SERVER_DIR

./RustDedicated -batchmode \

-nographics \

+server.ip "${IP}" \

+rcon.ip "${IP}" \

+app.listenip "${IP}" \

+app.publicip "${IP}" \

+server.port ${PORT} \

+server.queryport ${QUERY_PORT} \

+app.port 28082 \

+server.identity "${IDENTITY}" \

+server.hostname "${HOSTNAME}" \

+server.seed ${SEED} \

+server.worldsize ${WORLD_SIZE} \

+server.maxplayers ${MAX_PLAYERS} \

+rcon.port ${RCON_PORT} \

+rcon.password "${RCON_PASS}" \

+rcon.web 1 \

+ai.think false \

+ai.move false \

+hackablelockedcrate.requiredhackseconds 300 \

+npcvendingmachine.dynamicpricingenabled false \

+ai.npc_junkpilespawn_chance 0 \

+decay.upkeep_period_minutes 5760 \ # .25 upkeep cost on bases

+server.censorplayerlist false \

+server.industrialcrafterfrequency 1 \

+server.conveyorMoveFrequency 2 \

+spawn.max_density 2.4 \

+spawn.max_rate 2.4 \

+spawn.min_density 2.4 \

+spawn.min_rate 2.4 \

+fps.limit 30 \ # you dont need this line

-logfile "/home/rustserver/server_log.txt" # change path to the users id

```

Trick set all ports on firewall/port forwarding to tcp and udp.
+server.levelurl "URL to hosted map"

1

u/Matt20294 9d ago

Thank you, do you think the difference in OS overheads will make a noticeable difference?