Readme
Moderation
Moderation plugin with features like bans, kicks, warns & more.
Credits
- Sun Beam and Soer for mutes update.
Commands
- /ban <player> [reason] [duration] – Bans specified player for duration with reason.
- /unban <player> – Removes specified player latest ban.
- /bans [player] – Displays a list of all or player bans.
- /mute <player> [reason] [duration] – Mutes specified player for duration with reason.
- /unmute <player> – Removes specified player latest mute.
- /mutes [player] – Displays a list of all or player mutes.
- /kick <player> [reason] – Kicks specified player for reason.
- /warn <player> [reason] – Warns specified player for reason.
- /checkowner – Check's the owner of barricade/structure/locked vehicle.
- /playerinfo <player> – Displays player name, country and bans, kicks, warns count.
- /glitch – Teleports you to suspected glitch barricade or structure.
Configuration
<?xml version="1.0" encoding="utf-8"?>
<ModerationConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Commands>
<MessageColor>grey</MessageColor>
<ShouldRequireReason>true</ShouldRequireReason>
<ShouldBroadcastBan>true</ShouldBroadcastBan>
<ShouldBroadcastUnban>true</ShouldBroadcastUnban>
<UseHwidBans>true</UseHwidBans>
<UseIPBans>false</UseIPBans>
</Commands>
<Database>
<MySQLAddress>127.0.0.1</MySQLAddress>
<MySQLUsername>root</MySQLUsername>
<MySQLPassword>password123</MySQLPassword>
<MySQLDatabase>unturned</MySQLDatabase>
<MySQLDatabasePort>3306</MySQLDatabasePort>
<PlayersTableName>Players</PlayersTableName>
<BansTableName>Bans</BansTableName>
<MutesTableName>Mutes</MutesTableName>
<PunishmentsTableName>Punishments</PunishmentsTableName>
<EnableGameThreadWarnings>true</EnableGameThreadWarnings>
</Database>
<PlayerService>
<ShouldSaveCountry>true</ShouldSaveCountry>
</PlayerService>
<UnbanService>
<IsEnabled>false</IsEnabled>
<RefreshTimeSeconds>30</RefreshTimeSeconds>
</UnbanService>
<MuteService>
<CacheTimeSeconds>30</CacheTimeSeconds>
<EnableUnmuteWebhooks>true</EnableUnmuteWebhooks>
<UnmuteRefreshTimeSeconds>30</UnmuteRefreshTimeSeconds>
</MuteService>
<DiscordService>
<UseWebhooks>true</UseWebhooks>
<ServerFooterEnabled>false</ServerFooterEnabled>
<Webhooks>
<DiscordWebhook WebhookType="Ban" WebhookUrl="" WebhookColor="ff0000" Inline="false">
<MessageFormat>Name: {name}, SteamID: {steamid}, Punisher: {punisher}, Duration: {duration}, Reason: {reason}</MessageFormat>
</DiscordWebhook>
<DiscordWebhook WebhookType="Kick" WebhookUrl="" WebhookColor="f06c00" Inline="false">
<MessageFormat>Name: {name}, SteamID: {steamid}, Punisher: {punisher}, Reason: {reason}</MessageFormat>
</DiscordWebhook>
<DiscordWebhook WebhookType="Warn" WebhookUrl="" WebhookColor="ffff00" Inline="false">
<MessageFormat>Name: {name}, SteamID: {steamid}, Punisher: {punisher}, Reason: {reason}</MessageFormat>
</DiscordWebhook>
<DiscordWebhook WebhookType="Unban" WebhookUrl="" WebhookColor="00ff33" Inline="false">
<MessageFormat>Name: {name}, SteamID: {steamid}, Unbanner: {punisher}</MessageFormat>
</DiscordWebhook>
<DiscordWebhook WebhookType="Spy" WebhookUrl="" WebhookColor="00ff33" Inline="false">
<MessageFormat>{punisher} spied {name} [{steamid}] on {servername}!</MessageFormat>
</DiscordWebhook>
<DiscordWebhook WebhookType="Mute" WebhookUrl="" WebhookColor="ff0000" Inline="false">
<MessageFormat>Name: {name}, SteamID: {steamid}, Punisher: {punisher}, Duration: {duration}, Reason: {reason}</MessageFormat>
</DiscordWebhook>
<DiscordWebhook WebhookType="Unmute" WebhookUrl="" WebhookColor="00ff33" Inline="false">
<MessageFormat>Name: {name}, SteamID: {steamid}, Unmuter: {punisher}</MessageFormat>
</DiscordWebhook>
</Webhooks>
</DiscordService>
<CooldownService>
<Cooldowns>
<CooldownKey Key="spy" Cooldown="10" />
</Cooldowns>
</CooldownService>
</ModerationConfiguration>
Translations
<?xml version="1.0" encoding="utf-8"?>
<Translations xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Translation Id="BanBroadcast" Value="{0} was banned by {1} for {2} for {3}!" />
<Translation Id="BanMessage" Value="[BAN] Reason: {0} Time Left: {1}" />
<Translation Id="BansLimit" Value="You can't view the list of all bans in-game, specify player or use console" />
<Translation Id="BansLine" Value="BanID: {0} SteamName: {1} SteamID: {2} PunisherName: {3} PunisherId: {4}" />
<Translation Id="BansNone" Value="There is no bans" />
<Translation Id="UnbanBroadcast" Value="{0} was unbanned!" />
<Translation Id="UnbanExpired" Value="{0} ban expired!" />
<Translation Id="UnbanFail" Value="{0} doesn't have any active ban." />
<Translation Id="KickAnnouncement" Value="{0} was kicked by {1} for {2}" />
<Translation Id="WarnAnnouncement" Value="{0} was warned by {1} for {2}" />
<Translation Id="CheckownerFail" Value="You are not looking at any barricade, structure or locked vehicle." />
<Translation Id="CheckownerOwnerName" Value="The owner of this {0} is {1} (banned: {2})" />
<Translation Id="CheckownerOwnerSteamId" Value="Steam ID: {0}" />
<Translation Id="CheckownerLastActive" Value="{0} was last active on {1}" />
<Translation Id="RequireReason" Value="You must specify a reason!" />
<Translation Id="PlayerInfoMessage" Value="{0} from {1} has {2} bans, {3} kicks & {4} warns" />
<Translation Id="NoGlitches" Value="Could not find any suspected glitch object on the map." />
<Translation Id="GlitchMessage" Value="You have been teleported to suspected glitch object!" />
<Translation Id="Permanent" Value="permanent" />
<Translation Id="PlayerNotFound" Value="Player not found!" />
<Translation Id="KickInvalid" Value="You must specify target player!" />
<Translation Id="WarnInvalid" Value="You must specify target player!" />
<Translation Id="BanInvalid" Value="Ban format: /ban <player> [reason] [duration]" />
<Translation Id="UnbanNotBanned" Value="{0} doesnt have any active bans!" />
<Translation Id="UnbanInvalid" Value="You must specify player steamID!" />
<Translation Id="PlayerInfoInvalid" Value="You must specify target player!" />
<Translation Id="HWIDBanDisabled" Value="HWID bans are disabled" />
<Translation Id="IPBanDisabled" Value="IP bans are disabled" />
<Translation Id="ReasonUnspecified" Value="Unspecified" />
<Translation Id="SpyNoPermission" Value="You don't have permission to spy" />
<Translation Id="SpyFail" Value="Spy format: /spy <player>" />
<Translation Id="SpySuccess" Value="Successfully spied {0}!" />
<Translation Id="SpyCooldown" Value="You have to wait {0} before you can spy again" />
<Translation Id="MuteAnnouncement" Value="{0} was muted by {1} for {2} for {3}!" />
<Translation Id="MuteMessage" Value="You are muted for {0} for {1}" />
<Translation Id="MutesLimit" Value="You can't view the list of all mutes in-game, specify player or use console" />
<Translation Id="MutesNone" Value="There are no mutes" />
<Translation Id="MutesLine" Value="MuteID: {0} SteamName: {1} SteamID: {2} PunisherName: {3} PunisherId: {4}" />
<Translation Id="MuteInvalid" Value="Mute format: /mute <player> [reason] [duration]" />
<Translation Id="UnmuteInvalid" Value="You must specify player name or steamID!" />
<Translation Id="UnmuteNotMuted" Value="{0} doesnt have any active mutes!" />
<Translation Id="UnmuteAnnouncement" Value="{0} was unmuted!" />
<Translation Id="UnmuteExpired" Value="{0} mute expired!" />
</Translations>