Punishments
SporeCore has a new punishments feature, an advanced system for banning, warning, kicking, and muting players. It includes logging to ensure all actions are tracked and to prevent staff abuse.
Settings
This feature is enabled by default. To disable it, open config.yml and set features.punishments to false.
When enabled, the server will load punishments and create a punishments.yml file with all the settings for this feature. At the top, you’ll find 5 general settings:
settings:
requireReason: true
selfPunish: false
permBypass: sporecore.punishments.bypass
notifyTry: true
viewPunisherPermission: sporecore.punishments.viewpunisherAlt Accounts
SporeCore has an advanced alt account system to prevent users from evading punishments. Currently, it only supports bans.
If
autoBanis set to true in the config, alt accounts of banned players will be blocked from joining.You can check alt accounts with
/alts <player>or/alts deep <player>.
Difference between /alts and /alts deep:
/altschecks accounts that share the current IP. Using a VPN may hide alt accounts./alts deepchecks all past IPs stored for a player, showing accounts they’ve joined with previously.
Note: /alts deep is not automatically checked because it isn’t 100% reliable. Some tools (like ExitLag) may show multiple players sharing an IP, which could create false bans on large servers.
When someone tries to join with an alt account, the server can send a try message to all online staff. Check the config for more details.
Messages
All punishment messages are customizable. You can modify messages for:
Permanent punishments:
kick,ban,mute,warnTemporary punishments:
tempBan,tempMute,tempWarn
Placeholders you can use:
%reason%→ Punishment reason%punisher%→ Staff member who issued the punishment%date%→ Date of the punishment%id%→ Punishment ID%time%→ Time left for temporary punishments%alt%→ The punished alt account (only for evasion messages)
Example messages (in punishments.yml):
Logs
Logs track staff actions and help prevent abuse. You can toggle logging in punishments.yml.
Placeholders for logs:
%user%→ Staff member who punished or removed punishment%action%→ Type of punishment (e.g., Temp-Ban, Kick)%target%→ Player who got punished%reason%→ Reason for punishment%time%→ Time for temporary punishments
You can also log try messages when a player tries to join or talk while punished.
Example log config:
Reasons
You can define punishment reasons in categories, which automatically set punishment types and durations based on offenses.
Example:
You can add multiple categories and offenses for chat abuse, spamming, and more.
Removal Reasons
You can also configure removal reasons to help staff use commands more easily:
These are optional suggestions and staff don’t have to follow them.
Punishing Players
Use /punish <player> <reason> to automatically punish a player using the configured reasons.
You can also use:
/mute,/tempmute,/warn,/tempwarn,/ban,/tempban,/kick
Temporary punishments:
You can provide a custom time, or use the time from the config if the reason matches.
Permissions:
Restrict staff to certain punishments using permissions.
Example: Give a helper only
sporecore.punishments.punishandsporecore.punishments.warn. They can warn, but not ban.
History
Check punishment history with /history (your own) or /history <player> (others).
Permissions:
sporecore.punishments.history→ View your own historysporecore.punishments.history.others→ View others’ history
The history menu shows all punishments, including active ones. Staff with sporecore.punishments.viewpunisher can see who punished which player.
Last updated