Bug fixes, improvements, and removals (FS-192) (#46)

* Three fixes

* Fixes /tempban throwing a NullPointerException when trying to get a player who isn't on the server but was in the past
* Fixes /tempban banning players for 24 hours regardless of the duration defined
* Fixes /list -t throwing a NullPointerException when performed from a non-player source (such as Telnet)

* Removes hubworld entriely

* Configurable blacklists for tag, muted commands, and wildcard

Changes:
* Moves globally blocked commands to the `global` subsection of the original `blocked_commands` section. You *will* need to update your configurations
* /wildcard's command blacklist is now configurable under the `wildcard` section in `blocked_commands`.
* The commands muted players can't use are now configurable under the `muted` section in `blocked_commands`.
* Removes some commented-out globally blocked command entries.

Co-authored-by: Ryan <Wild1145@users.noreply.github.com>
This commit is contained in:
Video
2021-05-09 09:42:31 -06:00
committed by GitHub
parent bdf4ca84e0
commit 9dd0298f56
15 changed files with 301 additions and 568 deletions

View File

@ -230,214 +230,242 @@ allow:
auto_clear: false
gravity: false
# Blocked commands:
#
# How blocked commands work:
# All sections described below are delimited by colon characters.
# Make sure that you block a command by its main command name, not an alias
# as all aliases are blocked by default. Commands are case-insensitive.
#
# * The first section is a letter which indicates which rank may use this command
# Valid ranks:
# n - Nobody (Completely disabled)
# a - Admins (Console)
# s - Senior Admins (Console)
# o - Ops (Non-Ops won't be able to use it)
#
# * The second section is a letter which indicates what to do when a player executes that command.
# Valid actions:
# b - Block the command
# a - Block the command and auto-eject that player (for ops and below)
# u - Block the command and Return an "Unknown command" message (Used to hide commands)
#
# * The third section is the command to be blocked, prefixed with a slash
#
# * The fourth section is the message to send to the player when executing that command.
# This should be omitted if unwanted. ChatColors are supported with the &-key. By default
# the starting ChatColor is set to gray. You can use the default 'That command is blocked.' message
# by using a single underscore.
#
# Examples:
# - 'n:b:/mail sendall:&4You can't send mails to everyone!'
# - 's:a:/stop'
# - 'n:b:/ban:_'
#
blocked_commands:
# Core Protect Blocked and shows as an unknown command...
- 'a:u:/co:_'
- 'n:u:/co purge:_'
- 'a:u:/coreprotect:_'
- 'n:u:/coreprotect purge:_'
- 'a:u:/core:_'
- 'n:u:/core purge:_'
# Disabled commands
- 'n:b:/essentials:_'
- 'n:b:/time:Server-side time changing is disabled. Please use /ptime to set your own personal time.'
- 'n:b:/disguiseradius:_'
- 'n:b:/undisguiseradius:_'
- 'n:b:/debug:_'
- 'n:b:/pardon:_'
- 'n:b:/ban-ip:_'
- 'n:b:/pardon-ip:_'
- 'n:b:/toggledownfall:_'
- 'n:b:/spreadplayers:_'
- 'n:b:/blockdata:_'
- 'n:b:/clearhistory:_'
- 'n:b:/save-on:_'
- 'n:b:/save-off:_'
- 'n:b:/packet:_'
- 'n:b://eval:_'
- 'n:b:/testvote:_'
- 'n:b:/nvreload:_'
- 'n:b:/bungeeguard:_'
- 'n:b:/buycraft:_'
- 'n:b:/spigot reload:_'
# - 'n:b:/setjail:_'
- 'n:b:/mail sendall:Sending mail to all players is not allowed.'
- 'n:b:/entitydata:_'
- 'n:b:/skins:_'
- 'n:b:/advancement:_'
- 'n:b:/worldborder:The worldborder does not need to be changed. This command is disabled.'
- 'n:b:/defaultgamemode:The default gamemode should not be changed.'
- 'n:b:/thread:_'
- 'n:b:/stacktrace:_'
- 'n:b:/function:_'
- 'n:b:/forceload:_'
- 'n:b:/fill:_'
- 'n:b:/paper:_'
- 'n:b:/locate:_'
- 'n:b:/vvbukkit:_'
- 'n:b:/plot area c:_'
- 'n:b:/d minecart_command:_'
- 'n:b:/loot:_'
- 'n:b:/plan:_'
# - 'n:b:/explosivearrows:&cDisabled until further notice'
- 'n:b://material:_'
- 'n:b://mat:_'
- 'n:b:/mat:_'
- 'n:b:/vpnguard:_'
- 'n:b:/pcapi:_'
- 'n:b://distr:&cNope.'
- 'n:b:/data:_'
- 'n:b:/datapack:_'
- 'n:b://regen:_'
- 'n:b:/onlinemode:&cThis breaks UUIDs.'
- 'n:b:/execute:_'
- 'n:b:/killall:_'
- 'n:b:/createdisguise:_'
- 'n:b:/attribute:_'
#
# How globally blocked commands work:
# All sections described below are delimited by colon characters.
# Make sure that you block a command by its main command name, not an alias
# as all aliases are blocked by default. Commands are case-insensitive.
#
# * The first section is a letter which indicates which rank may use this command
# Valid ranks:
# n - Nobody (Completely disabled)
# a - Admins (Console)
# s - Senior Admins (Console)
# o - Ops (Non-Ops won't be able to use it)
#
# * The second section is a letter which indicates what to do when a player executes that command.
# Valid actions:
# b - Block the command
# a - Block the command and auto-eject that player (for ops and below)
# u - Block the command and Return an "Unknown command" message (Used to hide commands)
#
# * The third section is the command to be blocked, prefixed with a slash
#
# * The fourth section is the message to send to the player when executing that command.
# This should be omitted if unwanted. ChatColors are supported with the &-key. By default
# the starting ChatColor is set to gray. You can use the default 'That command is blocked.' message
# by using a single underscore.
#
# Examples:
# - 'n:b:/mail sendall:&4You can't send mails to everyone!'
# - 's:a:/stop'
# - 'n:b:/ban:_'
#
global:
# CoreProtect Blocked and shows as an unknown command...
- 'a:u:/co:_'
- 'n:u:/co purge:_'
- 'a:u:/coreprotect:_'
- 'n:u:/coreprotect purge:_'
- 'a:u:/core:_'
- 'n:u:/core purge:_'
# Admin commands
- 'a:b:/vive:_'
- 'a:b:/vse:_'
- 'a:b:/lightning:_'
- 'a:b:/playsound:_'
- 'a:b:/locatebiome:_'
- 'a:b:/delchunks:_'
- 'a:b:/exploitfixer:_'
- 'a:b:/massivelag:_'
- 'a:b:/ml:_'
- 'a:b:/createkit:_'
- 'a:b:/delkit:_'
- 'a:b:/region:_'
- 'a:b:/clone:_'
- 'a:b:/cap:_'
- 'a:b:/gamemode:Use /gmc and /gms to set your gamemode.'
- 'a:b:/powernbt:_'
- 'a:b:/nbt.:_'
- 'a:b:/blockshub:_'
- 'a:b:/protocol:_'
- 'a:b:/libsdisguises reload:_'
- 'a:b://awe:_'
- 'a:b:/stopfire:_'
- 'a:b:/allowfire'
- 'a:b:/stoplag:_'
- 'a:b:/worldguard:_'
- 'a:b:/slay:_'
- 'a:b:/save-all:_'
- 'a:b:/libsdisguises:_'
- 'a:b:/particle:Due to security reasons, the use of /particle has been disabled.'
- 'a:b:/rainbowclear:_'
- 'a:b:/rainbowspeed:_'
- 'a:b:/kick:_'
- 'a:b:/difficulty:_'
- 'a:b:/captchafy:_'
- 'a:b:/socialspy:_'
- 'a:b:/sproxy:_'
- 'a:b:/replaceitem:_'
- 'a:b:/kill:_'
- 'a:b:/reaction:_'
- 'a:b:/setworldspawn:_'
- 'a:b:/scoreboard:_'
- 'a:b:/setspawn:_'
- 'a:b:/forestgen:_'
- 'a:b:/setidletimeout:_'
- 'a:b:/lrbuild:_'
- 'a:b:/size:_'
- 'a:b:/break:_'
- 'a:b:/disentity:_'
- 'a:b:/reload:_'
- 'a:b:/title:_'
- 'a:b:/weather:_'
- 'a:b:/tpall:_'
- 'a:b:/etpall:_'
- 'a:b:/setblock:_'
- 'a:b:/gamerule:_'
- 'a:b:/togglejail:_'
- 'a:b:/range:_'
- 'a:b:/stop:_'
- 'a:b:/restart:_'
- 'a:b:/sr:_'
- 'a:b:/tpo:_'
- 'a:b:/tpohere:_'
- 'a:b:/tphere:_'
- 'a:b:/rfchairs:_'
- 'a:b:/ppo:_'
- 'a:b:/vulnerabilitypatcher:_'
- 'a:b:/crackshot config:_'
- 'a:b:/marry reload:_'
- 'a:b:/bh:_'
- 'a:b:/tpaall:_'
- 'a:b:/paper heap:_'
- 'a:u:/burn:_'
- 'a:b:/summon:_'
- 'a:b:/discord:_'
- 'a:b:/bossbar:_'
- 'a:b:/team:_'
- 'a:b:/spawner:_'
# - 'a:b:/getpos:_'
- 's:b:/istack:_'
- 'a:b:/getloc:_'
- 'a:b:/holo:_'
- 'a:b:/hd:_'
- 'a:b:/hologram:_'
- 'a:b:/holograms:_'
# - 'a:b:/whois:&cpeople like aurulim ruined the usage of this command, stop tp bypassing' # Blocking this is ridiculous. Instead of being lazy and just blocking whois, how about you disable the part where it reveals people's coords, like you did with disabling IPs?
- 's:b:/awe toggle:_'
- 's:b:/tellraw:_'
- 's:b://awe toggle:_'
- 'a:b:/openinv:_'
- 'a:b:/oi:_'
- 'a:b:/open:_'
- 'a:b:/openender:_'
- 'a:b:/oe:_'
- 'a:b:/searchinv:_'
- 'a:b:/si:_'
- 'a:b:/searchender:_'
- 'a:b:/se:_'
- 'a:b:/searchenchant:_'
- 'a:b:/searchenchants:_'
- 'a:b:/anycontainer:_'
- 'a:b:/anychest:_'
- 'a:b:/sc:_'
- 'a:b:/fawe:_'
- 'a:b:/wea:_'
- 'a:b:/protocolsupport:_'
- 'a:b:/ps:_'
- 'n:b:/wra:_'
- 's:b:/viaver:_'
- 's:b:/viaversion:_'
- 's:b:/spark:_'
# Disabled commands
- 'n:b:/essentials:_'
- 'n:b:/time:Server-side time changing is disabled. Please use /ptime to set your own personal time.'
- 'n:b:/disguiseradius:_'
- 'n:b:/undisguiseradius:_'
- 'n:b:/debug:_'
- 'n:b:/pardon:_'
- 'n:b:/ban-ip:_'
- 'n:b:/pardon-ip:_'
- 'n:b:/toggledownfall:_'
- 'n:b:/spreadplayers:_'
- 'n:b:/blockdata:_'
- 'n:b:/clearhistory:_'
- 'n:b:/save-on:_'
- 'n:b:/save-off:_'
- 'n:b:/packet:_'
- 'n:b://eval:_'
- 'n:b:/testvote:_'
- 'n:b:/nvreload:_'
- 'n:b:/bungeeguard:_'
- 'n:b:/buycraft:_'
- 'n:b:/spigot reload:_'
- 'n:b:/mail sendall:Sending mail to all players is not allowed.'
- 'n:b:/entitydata:_'
- 'n:b:/skins:_'
- 'n:b:/advancement:_'
- 'n:b:/worldborder:The worldborder does not need to be changed. This command is disabled.'
- 'n:b:/defaultgamemode:The default gamemode should not be changed.'
- 'n:b:/thread:_'
- 'n:b:/stacktrace:_'
- 'n:b:/function:_'
- 'n:b:/forceload:_'
- 'n:b:/fill:_'
- 'n:b:/paper:_'
- 'n:b:/locate:_'
- 'n:b:/vvbukkit:_'
- 'n:b:/plot area c:_'
- 'n:b:/d minecart_command:_'
- 'n:b:/loot:_'
- 'n:b:/plan:_'
- 'n:b://material:_'
- 'n:b://mat:_'
- 'n:b:/mat:_'
- 'n:b:/vpnguard:_'
- 'n:b:/pcapi:_'
- 'n:b://distr:&cNope.'
- 'n:b:/data:_'
- 'n:b:/datapack:_'
- 'n:b://regen:_'
- 'n:b:/execute:_'
- 'n:b:/killall:_'
- 'n:b:/createdisguise:_'
- 'n:b:/attribute:_'
# Admin commands
- 'a:b:/vive:_'
- 'a:b:/vse:_'
- 'a:b:/lightning:_'
- 'a:b:/playsound:_'
- 'a:b:/locatebiome:_'
- 'a:b:/delchunks:_'
- 'a:b:/exploitfixer:_'
- 'a:b:/massivelag:_'
- 'a:b:/ml:_'
- 'a:b:/createkit:_'
- 'a:b:/delkit:_'
- 'a:b:/region:_'
- 'a:b:/clone:_'
- 'a:b:/cap:_'
- 'a:b:/gamemode:Use /gmc and /gms to set your gamemode.'
- 'a:b:/powernbt:_'
- 'a:b:/nbt.:_'
- 'a:b:/blockshub:_'
- 'a:b:/protocol:_'
- 'a:b:/libsdisguises reload:_'
- 'a:b://awe:_'
- 'a:b:/stopfire:_'
- 'a:b:/allowfire'
- 'a:b:/stoplag:_'
- 'a:b:/worldguard:_'
- 'a:b:/slay:_'
- 'a:b:/save-all:_'
- 'a:b:/libsdisguises:_'
- 'a:b:/particle:Due to security reasons, the use of /particle has been disabled.'
- 'a:b:/rainbowclear:_'
- 'a:b:/rainbowspeed:_'
- 'a:b:/kick:_'
- 'a:b:/difficulty:_'
- 'a:b:/captchafy:_'
- 'a:b:/socialspy:_'
- 'a:b:/sproxy:_'
- 'a:b:/replaceitem:_'
- 'a:b:/kill:_'
- 'a:b:/reaction:_'
- 'a:b:/setworldspawn:_'
- 'a:b:/scoreboard:_'
- 'a:b:/setspawn:_'
- 'a:b:/forestgen:_'
- 'a:b:/setidletimeout:_'
- 'a:b:/lrbuild:_'
- 'a:b:/size:_'
- 'a:b:/break:_'
- 'a:b:/disentity:_'
- 'a:b:/reload:_'
- 'a:b:/title:_'
- 'a:b:/weather:_'
- 'a:b:/tpall:_'
- 'a:b:/etpall:_'
- 'a:b:/setblock:_'
- 'a:b:/gamerule:_'
- 'a:b:/togglejail:_'
- 'a:b:/range:_'
- 'a:b:/stop:_'
- 'a:b:/restart:_'
- 'a:b:/sr:_'
- 'a:b:/tpo:_'
- 'a:b:/tpohere:_'
- 'a:b:/tphere:_'
- 'a:b:/rfchairs:_'
- 'a:b:/ppo:_'
- 'a:b:/vulnerabilitypatcher:_'
- 'a:b:/crackshot config:_'
- 'a:b:/marry reload:_'
- 'a:b:/bh:_'
- 'a:b:/tpaall:_'
- 'a:b:/paper heap:_'
- 'a:u:/burn:_'
- 'a:b:/summon:_'
- 'a:b:/discord:_'
- 'a:b:/bossbar:_'
- 'a:b:/team:_'
- 'a:b:/spawner:_'
- 's:b:/istack:_'
- 'a:b:/getloc:_'
- 'a:b:/holo:_'
- 'a:b:/hd:_'
- 'a:b:/hologram:_'
- 'a:b:/holograms:_'
- 's:b:/awe toggle:_'
- 's:b:/tellraw:_'
- 's:b://awe toggle:_'
- 'a:b:/openinv:_'
- 'a:b:/oi:_'
- 'a:b:/open:_'
- 'a:b:/openender:_'
- 'a:b:/oe:_'
- 'a:b:/searchinv:_'
- 'a:b:/si:_'
- 'a:b:/searchender:_'
- 'a:b:/se:_'
- 'a:b:/searchenchant:_'
- 'a:b:/searchenchants:_'
- 'a:b:/anycontainer:_'
- 'a:b:/anychest:_'
- 'a:b:/sc:_'
- 'a:b:/fawe:_'
- 'a:b:/wea:_'
- 'a:b:/protocolsupport:_'
- 'a:b:/ps:_'
- 'n:b:/wra:_'
- 's:b:/viaver:_'
- 's:b:/viaversion:_'
- 's:b:/spark:_'
# Commands that cannot be used by muted players
muted:
- say
- me
- msg
- tell
- reply
- mail
# Commands that cannot be used with /wildcard
wildcard:
- wildcard
- gtfo
- doom
- slconfig
- smite
# Words that cannot be used in tags
forbidden_words:
- admin
- owner
- moderator
- developer
- console
- dev
- staff
- mod
- sra
- tca
- sta
- sa
# Automatically wipe dropped objects
auto_wipe: true