Repository navigation
Moderation
OPaperStream edited this page Oct 9, 2026
·
2 revisions
Off by default, because backend servers and ban plugins use the same command names.
[punish]
enabled = trueRestart the proxy after changing it.
| Command | Permission |
|---|---|
/ban <player> [duration] [reason] |
paperproxy.command.ban |
/unban <player>, /banlist
|
paperproxy.command.ban |
/mute <player> [duration] [reason] |
paperproxy.command.mute |
/unmute <player> |
paperproxy.command.mute |
/kick <player> [reason] |
paperproxy.command.kick |
Durations: 30m, 12h, 7d, 2w, 1y or combined like 1d12h. Without a duration the punishment is permanent.
- Bans work for offline players by name. On their next login their UUID is stored, so a name change does not help, and a new player who later takes the name is not affected.
- Mutes block chat and private messages (
/msg,/tell,/w,/r,/me). - Players with
paperproxy.punish.exemptcannot be punished. - Everything is stored in
punishments.jsonand shared with other proxies through the Multi Proxy Sync.
[antibot]
enabled = true
attack-threshold = 30
attack-duration-seconds = 60
attack-known-only = true
max-accounts-per-ip = 0
blocked-name-pattern = ""
require-ping = "attack"- More than
attack-thresholdnew connections per second switch on attack mode. During an attack only players who joined before can connect: from the same network as before (IPv4 /24, IPv6 /64), and with the same UUID once they are logged in. -
require-ping: new players must have opened the server list in the last 10 minutes.off,attack(only during an attack) oralways. Most bots skip the server list. -
max-accounts-per-iplimits players from one address (paperproxy.antibot.bypassignores it). -
blocked-name-patternrefuses names that match a regular expression.
Staff with paperproxy.notify.antibot is told when an attack starts and ends.