Improve the server hardware running Rust Server
If possible, you want fast dedicated cores for your RUST server. Most rust uses 1 to 2 dedicated cores so the faster the ocres the better. Also improve the amount of run allocated to your rust server
It’s pretty obvious that greater numbers of players require better server hardware and are more likely it is to expose game engine limitations.
Lots of players building (especially on large bases) and destroying bases requires the server to do a lot of work and this affects the rust dedicated server performance.
Modded Servers (Oxide)
Some plugins might improve performance over time, consider one that increases building decay and helps limit the number of entities in the world. Every plugin has some impact on server performance when it is active. But for most plugins the impact will be vanishingly small.
Restarting the Rust server
Restarting the server can improve performance. It is common for heavily modded servers to restart daily (or more). Vanilla servers tend to restart much less frequently. You might need to consider restarting your server if memory usage becomes unacceptably high or to improve some un-diagnosed performance problem. The necessity of restarts also changes with each build/update. So be flexible in your approach.
Longer server saves Intervals
Every time the server saves it impacts players. Consider setting the save interval longer (server.saveinterval). It’s also useful to announce saves as they happen (via a plugin or RUSTAdmin) so players understand what’s happening.
Animal AI appears to have a large impact on server performance. Many owners will turn off animal AI at peak times (ai.think 0). This does impact gameplay (bears won’t attack for example) but it might be worth the extra performance. RUSTAdmin has the ability to run commands when player numbers reach a particular level. Play around with it to see what works for your server.
Use decay and upkeep settings
Use decay and upkeep settings that work for your server and help to control the growth of entities. You can change decay and upkeep settings 5 to make them more or less aggressive (there are lots of oxide plugins that adjust decay as well). Unused raided bases and random clutter on the map just waste entities and will force a wipe for performance reasons sooner.
Find a wipe schedule that maintains acceptable performance and works for your players. This will largely be dictated by the average number of players on the server, the rate they build, and decay settings.
Using Rust Server commands to improve performance
- batching.colliders “0” – This removes the need for the server to batch entitys. This provides a massive performance boost since with it enabled when some one builds the server has to unbatch and then batch all related entitys. You must note that if your server goes over 265k entitys you will need to re-enable it to get around the Unity enttiy limit.
- fps.limit “265” – This command allows you to set the server side FPS. We recommend setting it to 265 but any thing over 60 is suitable.
- server.fps – This command allows you to view your current server side FPS. If your performance is bad you will see large drops in.
- nav_disable “true” – This will disable navmesh on your server. Doing this will break animal AI but providers a massive performance boost.
- gc.interval “90000” – Garbage collection is known to cause lag spikes on servers, especially those with a lot of plugins. Doing this will essentially stop this proccess from happening helping to reduce lag spikes.
- server.saveinterval “600” – You may experience server side FPS drops when the server saves on high entity servers. Increasing the duration between saves helps to keep this to a minimum
- server.encryption “0” – This disables the encryption between clients over voice chat and will improve performance both server side and for clients.