About Command Limiter and Cooldown
Command Limiter
Info
Command Limiter allows you to limit the use of commands that players can use. For each command you can set the cooldown, minute, hourly, daily and wipe usage limits.
It also allows you to apply limits in case of Building Blocks, Safe Zones, block the command permanently, etc...
Command Limiter is useful for limiting the use of commands from plugins that do not implement a blocking system or implement an inflexible blocking system.
Commands
Commands can be typed in chat (by putting the / character in front of the command), or from console.
- /cl reset <steamID> — This command allows you to reset usage limits for a specific player. To use this command you must have permission: commandlimiter.admin
- /cl wipe — This command allows reset all usage limits for all players. To use this command you must have permission: commandlimiter.admin
Commands can be added or modified in the configuration file: /oxide/config/CommandLimiter.json
Permissions
QuoteThis plugin uses the permission system. To assign a permission, use oxide.grant <user or group> <name or steam id> <permission>.
To remove a permission, use oxide.revoke <user or group> <name or steam id> <permission>.
- commandlimiter.admin -- Allows the use of commands reserved for administrators
- commandlimiter.bypass -- Allows you to bypass the command usage limit, but only for commands that have the CanBeBypassed field set to TRUE
- commandlimiter.bypass.force -- Allows you to easily bypass the command usage limit, regardless of the CanBeBypassed field
Default Configuration
{ "TimeZone": "Europe/London", "Clear data on map wipe": true, "Print usage limits when command is blocked": true, "Chat Command": [ "cl", "commandlimiter" ], "Command Setting": [ { "Enabled": true, "Command": "cmd", "Commands alias": [], "BlockCommand (If set to TRUE players will no longer be able to use this command. Default FALSE)": false, "SafeZone. Value [AllowOnly | Allow | Block] (Default Allow)": "Allow", "BuildingBlocked. Value [AllowOnly | Allow | Block] (Default Allow)": "Allow", "CanBeBypassed (If set to TRUE the command block can be bypassed. It depends on the user permissions)": false, "CooldownSeconds (-1 infinite)": 30, "MaxUsagePerMinute (-1 infinite)": -1, "MaxUsagePerHour (-1 infinite)": -1, "MaxUsagePerDay (-1 infinite)": -1, "MaxUsagePerWipe (-1 infinite)": -1, "BypassPermission (Permissions to bypass the block even if [CanBeBypassed] is set to false)": [] }, { "Enabled": true, "Command": "cmd_2", "Commands alias": [ "alias 1", "alias 2" ], "BlockCommand (If set to TRUE players will no longer be able to use this command. Default FALSE)": false, "SafeZone. Value [AllowOnly | Allow | Block] (Default Allow)": "Allow", "BuildingBlocked. Value [AllowOnly | Allow | Block] (Default Allow)": "Allow", "CanBeBypassed (If set to TRUE the command block can be bypassed. It depends on the user permissions)": false, "CooldownSeconds (-1 infinite)": 30, "MaxUsagePerMinute (-1 infinite)": -1, "MaxUsagePerHour (-1 infinite)": -1, "MaxUsagePerDay (-1 infinite)": -1, "MaxUsagePerWipe (-1 infinite)": -1, "BypassPermission (Permissions to bypass the block even if [CanBeBypassed] is set to false)": [] } ], "VersionNumber": { "Major": 1, "Minor": 0, "Patch": 7 } }
- TimeZone -- Set the time zone with which the dates will be saved: Default: Europe/London.
- Clear data on map wipe — Clear command usage data after a wipe. Default TRUE.
- Print usage limits when command is blocked — Prints the command usage limits when a player uses one of the configured commands. Default TRUE.
- Chat Command -- Here you can add, edit or delete commands can be typed in chat (by putting the / character in front of the command), or from console.
- Command Setting -- The list of commands on which to apply the usage and cooldown limits must be inserted here.
- Enabled -- If set to TRUE, limits and cooldowns for this command will be enabled.
- Command -- The command on which to apply limits and cooldowns.
- Commands alias — Here you can specify other commands to block with the same configurations. Useful to block a command, which has several similar or differently named commands, to do the same thing. Or alternatively to block multiple commands without creating different configurations.
- BlockCommand -- If set to TRUE, the command cannot be used by any player, except for players with the permissions: commandlimiter.admin or commandlimiter.bypass.force.
-
SafeZone. Value [AllowOnly | Allow | Block] (Default Allow) -- Sets whether the command can be used in safe zones:
- AllowOnly: The command can only be used in safe zones.
- Block: The command cannot be used in safe zones.
- Allow: No restrictions for safe zones.
-
BuildingBlocked. Value [AllowOnly | Allow | Block] (Default Allow) -- Sets whether the command can be used in areas where you have building permissions:
- AllowOnly: The command can only be used where you do not have building permissions.
- Block: The command can only be used where you have building permissions.
- Allow: No restrictions for building zones.
- CanBeBypassed -- If set to TRUE the command can be bypassed by players with permission: commandlimiter.bypass.
- CooldownSeconds — -- Cooldown for command reuse.
- MaxUsagePerMinute -- Limit the use of the command for each minute.
- MaxUsagePerHour -- Limit the use of the command for each hour.
- MaxUsagePerDay -- Limit the use of the command for each day.
- MaxUsagePerWipe -- Limit the use of the command for wipe.
-
BypassPermission (Permissions to bypass the block even if [CanBeBypassed] is set to false) — Here you can specify one or more names, to create permissions to bypass the limit. If the player has at least 1 of these permissions, he can bypass the limit even if the CanBeBypassed property is set to false.
Example: if you enter “vip1” as permission, a command called commandlimiter.bypass.vip1 will be created that you can assign to players.
Order Application Limits
The usage and cooldown limits of the various commands are applied in the following order:
- Wipe limits -- If the wipe limits have not been exceeded, proceed to the next check, otherwise the command will be blocked.
- Daily limits -- If the daily limits have not been exceeded, proceed to the next check, otherwise the command will be blocked.
- Hourly limits -- If the time limits have not been exceeded, proceed to the next check, otherwise the command will be blocked.
- Limits per minute -- If the minute limits have not been exceeded, proceed to the next check, otherwise the command will be blocked.
- CooldownSeconds -- The command will be executed if the cooldown has expired, otherwise you will have to wait for the cooldown to reset.
LOCALIZATION
The plugin are translated into the following languages:
- English
- Italian
Translation files are located in the /oxide/lang folder, here is an example of a /oxide/lang/en/CommandLimiter.json translation file.
You can add translations for other languages by adding them to the folder: /oxide/lang