About Smart Warnings
SmartWarnings simplifies and streamlines your server moderation by providing means to consistently Warn your players for misconduct.
Gone are the times when you leave manual notes at sleeping players, for this plugin creates a smooth but intimidating pop-up window displaying clearly to the player what they've done wrong and how to learn from it.
From version v2.5.0 you can now extend highly customizable actions to trigger based on your custom warnings. The imagination is the limit!
Rule enforcement has never been easier before.
Features
-
Easily dispatch warnings to players and clans with a simple chat command
- /warn cookiemonster "leave the jar alone you bastard" Booom done!
-
/warn clan "C00KiEZ" "no cookiemonsters allowed in the jar!!" Maybe their collective brain power is needed to understand!
-
Announces Warnings in public Global Chat (Enabled by default, can be toggled in config)
- Give your Players a sense of transparent justice by displaying the dispatched warning to everyone in public.
-
This is beneficial as players will learn what not to do from other's mistakes!
-
Offline Players can receive warnings, no problem!
-
Displays a pop-up window with the warning IMMEDIATELY if they are online, or as soon as the player wakes up from sleep upon connecting.
-
Displays a pop-up window with the warning IMMEDIATELY if they are online, or as soon as the player wakes up from sleep upon connecting.
-
Create custom presets for common violations.
- Presets can be made for example to reflect the server rules, it can be configured so that your admins can type /warn joe rule1 and it will spell out the entire rule 1 in the warning.
- Presets can have an Expiration date which will remove the warning, allowing non-repeating offenders to be cleared if they're well behaving in the long term.
-
Presets can have a Warning Point weight which will give them different severity that can influence when to trigger an Automatic Ban (if enabled).
-
Automatically Ban players with X amount of Warnings or Warning Points (Disabled by default, can be toggled in config)
- With this feature Enabled a player will be Automatically Banned when reaching the configured Warning amount or Warning Points.
-
For example, configure 3 warnings to be max and enable auto ban will ban a player when the third warning has been dispatched.
-
Supports Temporary Autobans (Disabled by default, can be toggled in config)
- If you're the kind of type that believes in second chances, when configured it bans the player lets them know when they're welcome back!
-
Optional feature: Clear the player's warning when autobanned (True by default), This can conveniently be set to False if you want the player to be instantly auto banned next time a warning is dispatched.
-
Extensive Logging both File based and Discord!
- Every move is logged in the oxide/logs/SmartWarnings folder so that you can have full traceability.
-
Optional feature: Configure Discord Webhook links to log Warnings and/or Autobans to Discord.
-
Persist Warnings across wipes, when you don't want to be forgiving!
- Set "Clear all warnings on wipe" to false and warnings will not be cleared when a new wipe is detected.
- NOTE: This requires that you exclude/do not remove the oxide/data/SmartWarnings_Playerdata.json file, if you're using tools to auto wipe and it gets deleted, so will the warnings.
-
Customizable Branding
- Set your Server Name and custom Warning Pop-up Icon to make this plugin match your server's style!
- (NEW in v2.5.0) Transparency of the pop-up window can now be customized in the config!
-
(NEW in v2.5.0) VANILLA SAFE mode: Warning display in Chat instead of GUI pop-up
- Warnings will be dispatched through chat and freeze the player until they acknowledge the warning. No use of GUI allows it to be vanilla safe!
- Acknowledge notification is fully customizable!
-
(NEW in v2.5.0) AUTOMOD: Fully customizable command actions on X warning points
- Define any custom command to be executed at X warning point.
- This allows you to integrate with any other plugin for example mute, jails or whatever really.
- For example: set to mute on 2 warning points, kick on 4 warning points, teleport to jail on 6 warning points.
NOTE: AutoMod actions are triggered incrementally by total warning points added to the player. This means if you configure Mute on 1 point and Kick on 3 points and give the player a warning worth 4 points, the player will be both kicked and muted.
AutoMod feature can conveniently be configured together with AutoBan feature, but keep in mind to set the point/warning thresholds to line up properly.
I.e. automod actions should not be on higher point level than autoban, because then player will be banned already before any actions are executed.
-
(NEW in v2.5.5) Battlemetrics Bans & Warnings integration
-
AutoBans will sync with Battlemetrics, duration, reason and note will be added to give context to what banned the player.
-
Warnings will add note to the player in Battlemetrics, so you can easily track their warning history even through the BM console!
-
Warnings will add a flag to the player in Battlemetrics, so you can easily differentiate players in the list who have warnings and not through the BM console!
-
AutoBans will sync with Battlemetrics, duration, reason and note will be added to give context to what banned the player.
Click here for guide how to set up Battlemetrics integration.
-
(NEW in v2.5.8) MySQL Database Support (allows Multi Server Warning Sync)
- You can now configure the plugin to use a MySQL Database as its data source.
- This will allow Warnings to be synced across multiple Rust servers if they are configured towards the same MySQL database.
Planned future features
- Your ideas & feedback?
Commands
-
/warn <player name or id> "reason OR preset"
- Dispatches a warning with a custom reason or preset
-
Requires permission: smartwarnings.admin
-
/warn info <player name or id, leave blank to see yourself>
- Shows the amount of warnings, warning points and the individual warning details in chat.
-
Requires permission: smartwarnings.admin to see other players. Default permission can only see their own warnings.
-
/warn clear <player name or id> <id or ALL>
- Clear a specific warning ID by specifying the warning number, or specify ALL to clear all player warnings.
-
(NEW in v2.5.0) Requires elevated permission: smartwarnings.admin.canclear
-
/warn clan <clan tag> "reason OR preset"
- Dispatches a warning with a custom reason or preset to an entire clan (Requires Clans plugin)
- Requires permission: smartwarnings.admin
-
/warn unfreezeall
-
Unfreezes all players who are currently frozen due to not acknowledging any warnings, really only needs to be used in any emergency scenario where the player would not be unfrozen normally
(Please report these scenarios, this command is purely proactive and will be removed when its not needed anymore) - Requires permission: smartwarnings.admin
-
Unfreezes all players who are currently frozen due to not acknowledging any warnings, really only needs to be used in any emergency scenario where the player would not be unfrozen normally
Configuration
{ "Warning Presets": { "spam": { "Reason": "§1 - Spamming", "Points": 1, "ExpirationDays": 3.0 }, "toxic": { "Reason": "§2 - Toxic behaviour", "Points": 2, "ExpirationDays": 7.0 }, "sign": { "Reason": "§3 - Inappropriate signage", "Points": 2, "ExpirationDays": 7.0 }, "grief": { "Reason": "§4 - Griefing", "Points": 4, "ExpirationDays": 7.0 }, "group": { "Reason": "§5 - Group Limit violation", "Points": 5, "ExpirationDays": 7.0 } }, "System Settings": { "Max Warnings": 5, "Default Warning Expiration time (Days)": 7, "Announce Warnings in Global Chat": true, "Show players who issued the warning": true, "Server Name": "MyRustServer", "Clear all Warnings on Server Wipe": true, "Use MySQL database": false, "Warning Popup - GUI Enable - Set to false to use only chat (SAFE FOR VANILLA SERVER)": false, "Warning Popup - GUI Icon": "https://i.imgur.com/oImKq4X.png", "Warning Popup - GUI Opacity": 0.85, "Optional: Send anonymous analytics data about plugin usage": true, "Config Version": { "Major": 2, "Minor": 5, "Patch": 8 } }, "MySQL Database Settings": { "MySQL Host": "", "Port": 3306, "Database": "", "Username": "", "Password": "" }, "Battlemetrics Settings": { "API Token": "", "Organization ID": "", "Server ID": "", "Banlist ID": "" }, "Autoban Settings": { "How many points until automatic ban (Set 0 for Disable)": 0, "How many warnings until automatic ban (Set 0 for Disable, Recommended: Same as Max Warnings)": 0, "How long to ban in minutes (Set 0 for Permanent)": 2880, "Clear the players Warnings on AutoBan (Default: True)": true }, "Discord Settings": { "Webhook URL - Post Warnings to Discord (Leave blank to Disable)": "", "Webhook URL - Post Autobans to Discord (Leave blank to Disable)": "" }, "AutoMod Settings": { "Mute on 2 warning points": { "PointTrigger": 2, "ExecuteCommand": "mute {0} {1}", "ClearPointsOnTrigger": false }, "Kick on 4 warning points": { "PointTrigger": 4, "ExecuteCommand": "kick {0} {1}", "ClearPointsOnTrigger": true } } }
Language Configuration
The plugin allows a comprehensive customization of all text output for your needs. Edit the oxide/lang/en/SmartWarnings.json
{ "NO_PERM": "You don't have permission to use this command.", "NO_MATCH": "Could not find a match for player name or steamid", "GUI_BUTTON_ACKNOWLEDGE_WARNING": "I ACKNOWLEDGE THIS WARNING AND WILL FOLLOW THE RULES", "GUI_HEADER": "You have received a warning", "GUI_ISSUEDBY": "<color=#FFFFFF>Warning issued by {0} at {1}</color>", "GUI_ISSUEDAT": "<color=#FFFFFF>Warning issued at {0}</color>", "GUI_WARNING_TEXT": "<color=#cc0000>Repeated violations may lead to temporary or permanent banishment from this server.</color>\n\n<color=#d9d9d9>You should review the server rules immediately by typing /info in chat and clicking on the RULES tab.\nTo remove this pop-up, acknowledge this warning by clicking the button below.\nIf you feel this was an incorrect warning please reach out to our Staff via Discord.</color>", "CHAT_ACKNOWLEDGE_TEXT": "<color=#00FF00><size=12>Warning Acknowledged: You're now unfrozen and free to go.\n</size></color><size=9>Please review the server rules by typing /info in chat to avoid getting warned in the future.</color>\n\nIf you feel this was an incorrect warning please reach out to our Staff via Discord.</size>", "ANNOUNCE_WARNING_TEXT": "<color=#DC143C>{0} has been warned!\nFurther violations will lead to disciplinary action.</color>\n<color=#A9A9A9>Reason: {1}", "ANNOUNCE_WARNING_ISSUEDBY": "\n\n<size=10>Warning Issued by: {0}</size></color>", "REASON": "REASON", "AUTOBAN_PERMANENT_MESSAGE": "AutoBanned: You were permanently banned due to reaching max warnings.", "AUTOBAN_TEMPORARY_MESSAGE": "AutoBanned: You are banned until {0} due to reaching max warnings." }
For example to change is the detailed warning text:
You can edit the GUI_WARNING_TEXT row in the language file.
Dependencies & Integrations
- Requires: DiscordMessages for Discord webhook functionality.
- Integrates with EnhancedBanSystem, autoban feature will detect if the plugin is installed and issue a ban with it, if not it will use the native Rust ban functionality.
OPTIONAL: Plugin Usage Analytics
The plugin optionally sends analytics about your server (Oxide version, Plugin version, Plugin configuration, Server Name, OwnerID and ModeratorID) to gauge usage of the plugin and to improve support.
You can toggle this feature in the configuration.