This plugin is an advanced punishment management plugin for Hytale.
Note
This plugin overrides the vanilla /ban, /kick and /unban commands
Note
This plugin collects anonymized usage metrics when searching for updates by default.
These metrics consist of installed plugin version and selected release channel.
They are immediately aggregated per version and per release channel.
The raw data is never saved.
Your ip address, any sort of identifier, etc. are never processed, stored or evaluated.
To disable this set doMetrics to false in the config.json
- Download the latest release from Curseforge
- Put it in your servers
modsfolder - Start the server to generate an example config
- Edit the config in
mods/Tarobits_Punishments/config.json(See Configuration for more details)
| Key | Value | Function | Default |
|---|---|---|---|
| doUpdateChecks | boolean (true/false) | Enable automatic update checks | true |
| updateCheckFrequency | integer | How often update checks are performed (in hours) Set to 0 to disable |
2 |
| doLogging | boolean (true/false) | Enable logging of actions | true |
| doMetrics | boolean (true/false) | Enable anonymized metric collection while fetching updates (pluginVersion, releaseChannel) | true |
| developmentRelease | boolean (true/false) | Change update notifications to development channel | false |
| presets | array of Presets | Presets for the punishments | predefined punishments |
| Key | Value | Function | Required |
|---|---|---|---|
| name | string | Name that is displayed to the moderators | always |
| type | enum(ban,mute,kick,warn) | Type of the punishment | always |
| sub_type | enum(temp,perm) or omitted | SubType of the punishment | only when type is ban or mute |
| duration | Duration string | The duration of the punishment | only when sub_type is temp |
| reason | string | Reason displayed to the player when this punishment is given to them | always |
Format: (int)(y,m,d,h,min)*? Examples:
- 12y2m3d4h6min
- 5m
| Key | Function |
|---|---|
| y | years |
| m | months |
| d | days |
| h | hours |
| min | minutes |
Warning
m is for months not minutes
- Punishment UI
- Player details
- Past punishments
- Punishment presets
- Many different punishment types
- Bans
- Mutes
- Kicks
- Warnings
- Localization
- Reduction and extension of punishments
- Customization of Duration string parameters
- Customization of display (Including but not limited to:)
- Custom message format (disconnection, chat message, etc.)
- Email format
- In-game appeal process (with optional email support)
- In-game configuration
- Logging of actions performed
- Broadcasted or silent punishments (Currently all punishments are silent)
- Player details
- Chat log
- Database support (primarily for big servers with multiple sub-servers)
tpunish.guiOpen the punishment guitpunish.configOpen the in-game config gui and receive update notifications if enabledtpunish.banAccess the/bancommand (Enables access to custom punishments)tpunish.ban.tempCreate temporary banstpunish.ban.permCreate permanent banstpunish.unbanUnban userstpunish.muteAccess the/mutecommand (Enables access to custom punishments)tpunish.mute.tempCreate temporary mutestpunish.mute.permCreate permanent mutestpunish.unmuteUnmute userstpunish.kickKick userstpunish.kick.customAccess to the/kickcommand (Enables access to custom punishments)tpunish.warnWarn userstpunish.warn.customAccess to the/warncommand (Enables access to custom punishments)tpunish.customAccess custom punishments inside the punishment gui (Not implemented)
Note
All parameters shown are required
/punish => Opens the GUI
/tpconfig or /tpc => Opens the config GUI
/tpconfig reload => Reloads config.json
/tpconfig version => Displays current version
/tpconfig checkversion => Checks for updates manually
/ban [player] [duration] [reason] => Ban a player
/mute [player] [duration] [reason] => Mute a player
/kick [player] [reason] => Kick a player
/warn [player] [reason] => Warn a player
/unban [player] => Unban a player
/unmute [player] => Unmute a player
[player] => If the player is online the start of the username is enough. If the player is offline you must type the full username
[duration] => Duration string or perm (for a permanent action)
[reason] => The reason why the action is being performed
If you'd like to support this project or any of my other ones you may do so with this link.