About Server FPS Plus
The FpsPlus plugin is designed to optimize the server's frame rate in the game Rust. It does this by adjusting the frame budgets of various in-game systems based on the server's average frames per second (FPS) in 1 minute. The plugin is designed to help maintain a target FPS, which can be configured in the config file. It also helps reducing negative spikes in server fps.
Features:
- FPS Monitoring: The plugin monitors the server's FPS and maintains a list of the most recent FPS values. This list is used to calculate the average FPS, which is then used to determine the necessary optimization level.
- Dynamic Optimization: The plugin adjusts the frame budgets of various in-game systems based on the server's current average FPS. There are 4 levels of optimization. Console warnings will be displayed when changing the optimization level.
- Discord webhook: Report all optimization changes to a discord channel via a webhook.
1. Installation: Place the FpsPlus.cs file in the Oxide/Plugins directory of your Rust server.
2. Configuration: You can edit the oxide/config file to change the lower and upper FPS limit from which the optimizations will start being applied, whether warnings are enabled and enter the url of your discord webhook.
3. Usage: The plugin automatically starts monitoring the server's FPS and adjusting the frame budgets when it is loaded.
4. On higher optimization levels, it will disable events (Patrol, Airdrops, Cargo) and NPC's (think and move) if this is allowed in the config file. It will re enable them when FPS's go back to normal.
In the example picture above, my config is:
LowerFpsLimit: 20.0
UpperFpsLimit: 38.0
My server max FPS are set to 40 (via convar or console command fps.limit 40).
Since this plugn uses 1 minute average values, it will not jump between optimization levels on FPS spikes.
Default config file:
{
"DisableEvents": true,
"DisableNPCs": true,
"DiscordWebhookUrl": "your discord webhook",
"EnableConsoleWarnings": true,
"LowerFpsLimit": 20.0,
"UpperFpsLimit": 38.0
}