Jump to content
Message added by turner,

This plugin is meant for trolling cheaters, please do not interfere with other players' gameplay

1 Screenshot

  • 729
  • 10
  • 16.16 kB
 Share

About Limit FPS

About Limit FPS

LimitFPS is a plugin with almost no performance impact meant for administration (and maybe trolling). It has 2 very powerful features

  • You can limit the FPS of other players
  • You can see the FPS and RAM usage of other players

 

Demo

 

 

Requirement

LimitFPS uses Harmony so you need to disable the Oxide sandbox [see how to do it]

 

Permissions

There are 2 oxide permissions that LimitFPS uses

  • limitfps.limit.use - Allows the use of /limitfps command
  • limitfps.fps.use - Allows the use of /playerfps command

Add the permissions with the console command: oxide.grant <group|user> <name|id> <permission>

Commands

There are 2 commands that LimitFPS has

  • /limitfps <playername or steamid> <target fps> - Limit the FPS of a player, set target fps to 0 to remove the limit
  • /playerfps <playername or steamid> - See the player's FPS and RAM usage

All of these 2 commands can be used from the server console (or RCON) and they work exactly the same just without the forward slash. If you are an admin in the server you can use them from the Rust console too.

 

Config

  • FPS Query interval - How often will the plugin check the player's FPS in order to adjust it
  • PD Controller P value - How fast to jump to the target FPS, if this is too high it can overshoot
  • PD Controller D value - How much to respect the error difference from the FPS measurement, if higher it can overshoot the target FPS
  • Non linear control - If set to true it will be more responsive (reaching target FPS faster) at low FPS values (30 and below)
  • FPS Limit dampening - If set to true it will stop adjusting the player's FPS once it reaches the target, if this is false, when the player presses ESCAPE or ALT+TAB's and then come back their FPS will be way lower/higher than the target
  • FPS Limit dampening range - When the FPS is within this value to the target FPS it will stop adjusting the FPS

I recommend leaving everything to default except maybe FPS Query interval, if you want to get the user's FPS faster/slower.

 

For developers

LimitFPS exposes everything you need to control other player's performance with hooks & API calls

I strongly recommend if you want to use the API or the Hooks see the demo plugin that uses all of them, its extremely detailed and everything is within 1 file, you can find it here:

 

Hooks:

object OnFPSQueryStart(BasePlayer command_initiatior, BasePlayer target, int request_id)
{
	return null; // allow the query
}

void OnFPSQueryTimeout(BasePlayer command_initiatior, BasePlayer target, int request_id)
{
}

void OnFPSQueryFinished(BasePlayer command_initiatior, BasePlayer target, ClientPerformanceReport report)
{
}

object OnLimitFPSStart(BasePlayer command_initiatior, BasePlayer target, float targetFps)
{
	return null; // allow the limitting
}

object OnLimitFPSTick(BasePlayer command_initiatior, BasePlayer target, float targetFps, ClientPerformanceReport report)
{
	return null; // allow the tick
}

API:

Interface.Oxide.CallHook("API_PlayerFPSCommand", ulong_steamid);
Interface.Oxide.CallHook("API_LimitFPSCommand", ulong_steamid, float_targetFps);

 

Contact

If you have any suggestions, want to report a bug or need help, you can contact me on Discord: turner#7777

 Share


User Feedback

487.3k

Downloads

Total number of downloads.

2.7k

Customers

Total customers served.

36.5k

Files Sold

Total number of files sold.

613.1k

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.