Caps vs lowercase commands not working
voigtman opened this issue · 6 comments
Observed Behavior
Since updating to 1.19 I have noticed here in the bug list various people reporting commands have stopped working and players have also been reporting gp commands are not working on my own server. I conducted my own investigation and I believe I have discovered the issue: Capitalized letters are not being recognized and/or accepted.
/claim works
/Claim does not work
/adminclaims works
/AdminClaims does not work
/claimexplosions works
/ClaimExplosions does not work
and on and on...
Everything worked as expected until about 1.19.1 or 1.19.2 when mojang rolled out this change to messages.
Expected Behavior
/Claim (etc) should work as /claim (etc)
Reproduction steps
Step 1: Type commands as described in tutorial
Stack trace or error log
N/A
SERVER:
[12:07:11] [Server thread/INFO]: Mister_Jason issued server command: /AdminClaims
[12:07:21] [Server thread/INFO]: Mister_Jason issued server command: /adminclaims
Game Console:
(typed: /AdminClaims)
12:03:55.414 ehq Render thread [System] [CHAT] Unknown or incomplete command, see below for error
12:03:55.414 ehq Render thread [System] [CHAT] AdminClaims<--[HERE]
(typed: /adminclaims)
12:03:57.658 ehq Render thread [System] [CHAT] Administrative claims mode active. Any claims created will be free and editable by other administrators.
Server version
paper 1.19.2 (130)
GriefPrevention version
16.18
Configuration
# Default values are perfect for most servers. If you want to customize and have a question, look for the answer here first: http://dev.bukkit.org/bukkit-plugins/grief-prevention/pages/setup-and-configuration/
GriefPrevention:
SeaLevelOverrides:
VanillaHazelnut: -1
VanillaHazelnut_nether: -1
VanillaHazelnut_the_end: -1
Claims:
Mode:
VanillaHazelnut_nether: Survival
VanillaHazelnut_the_end: Survival
VanillaHazelnut: Survival
PreventGlobalMonsterEggs: false
PreventTheft: true
ProtectCreatures: true
PreventButtonsSwitches: true
LockWoodenDoors: true
LockTrapDoors: true
LockFenceGates: true
EnderPearlsRequireAccessTrust: true
RaidTriggersRequireBuildTrust: true
ProtectHorses: true
ProtectDonkeys: true
ProtectLlamas: true
InitialBlocks: 2500
Claim Blocks Accrued Per Hour:
Default: 600
Max Accrued Claim Blocks:
Default: 100000000
Accrued Idle Threshold: 0
AccruedIdlePercent: 50
AbandonReturnRatio: 1.0
AutomaticNewPlayerClaimsRadius: 4
AutomaticNewPlayerClaimsRadiusMinimum: 0
ExtendIntoGroundDistance: 5
MinimumWidth: 3
MinimumArea: 9
MaximumDepth: 0
InvestigationTool: STICK
ModificationTool: GOLDEN_SHOVEL
Expiration:
ChestClaimDays: 365
UnusedClaimDays: 1095
AllClaims:
DaysInactive: 365
ExceptWhenOwnerHasTotalClaimBlocks: 5000
ExceptWhenOwnerHasBonusClaimBlocks: 5000
AutomaticNatureRestoration:
SurvivalWorlds: true
AllowTrappedInAdminClaims: false
MaximumNumberOfClaimsPerPlayer: 0
CreationRequiresWorldGuardBuildPermission: true
VillagerTradingRequiresPermission: false
CommandsRequiringAccessTrust: /sethome;/setwarp;/warp claim;/warp move
DeliverManuals: true
ManualDeliveryDelaySeconds: 30
RavagersBreakBlocks: false
FireSpreadsInClaims: false
FireDamagesInClaims: false
LecternReadingRequiresAccessTrust: true
Spam:
Enabled: false
LoginCooldownSeconds: 60
LoginLogoutNotificationsPerMinute: 5
ChatSlashCommands: /me;/global;/local
WhisperSlashCommands: /tell;/pm;/r;/whisper;/msg
WarningMessage: Too much talking not enough crafting!
BanOffenders: false
BanMessage: Banned for spam.
AllowedIpAddresses: 1.2.3.4; 5.6.7.8
DeathMessageCooldownSeconds: 120
Logout Message Delay In Seconds: 0
PvP:
RulesEnabledInWorld:
VanillaHazelnut: true
VanillaHazelnut_nether: true
VanillaHazelnut_the_end: true
ProtectFreshSpawns: true
PunishLogout: true
CombatTimeoutSeconds: 15
AllowCombatItemDrop: true
BlockedSlashCommands: /home;/vanish;/spawn;/tpa;/wwarp;/warp;/help
ProtectPlayersInLandClaims:
PlayerOwnedClaims: true
AdministrativeClaims: true
AdministrativeSubdivisions: true
AllowLavaDumpingNearOtherPlayers:
PvPWorlds: true
NonPvPWorlds: false
AllowFlintAndSteelNearOtherPlayers:
PvPWorlds: true
NonPvPWorlds: false
ProtectPetsOutsideLandClaims: true
Economy:
ClaimBlocksMaxBonus: 0
ClaimBlocksPurchaseCost: 0.0
ClaimBlocksSellValue: 0.0
ProtectItemsDroppedOnDeath:
PvPWorlds: true
NonPvPWorlds: false
BlockLandClaimExplosions: true
BlockSurfaceCreeperExplosions: false
BlockSurfaceOtherExplosions: false
LimitSkyTrees: true
LimitTreeGrowth: false
PistonMovement: EVERYWHERE_SIMPLE
PistonExplosionSound: true
FireSpreads: true
FireDestroys: true
AdminsGetWhispers: true
AdminsGetSignNotifications: true
VisualizationAntiCheatCompatMode: false
SmartBan: false
Mute New Players Using Banned Words: false
MaxPlayersPerIpAddress: 5
SilenceBans: true
Siege:
Worlds: []
BreakableBlocks:
- DIRT
- GRASS_BLOCK
- GRASS
- FERN
- DEAD_BUSH
- COBBLESTONE
- COBBLESTONE_SLAB
- COBBLESTONE_STAIRS
- GRAVEL
- SAND
- GLASS
- GLASS_PANE
- OAK_PLANKS
- SPRUCE_PLANKS
- BIRCH_PLANKS
- JUNGLE_PLANKS
- ACACIA_PLANKS
- DARK_OAK_PLANKS
- WHITE_WOOL
- ORANGE_WOOL
- MAGENTA_WOOL
- LIGHT_BLUE_WOOL
- YELLOW_WOOL
- LIME_WOOL
- PINK_WOOL
- GRAY_WOOL
- LIGHT_GRAY_WOOL
- CYAN_WOOL
- PURPLE_WOOL
- BLUE_WOOL
- BROWN_WOOL
- GREEN_WOOL
- RED_WOOL
- BLACK_WOOL
- SNOW
DoorsOpenDelayInSeconds: 300
CooldownEndInMinutes: 20
EndermenMoveBlocks: false
SilverfishBreakBlocks: false
CreaturesTrampleCrops: false
RabbitsEatCrops: true
HardModeZombiesBreakDoors: false
Database:
URL: ''
UserName: ''
Password: ''
UseBanCommand: false
BanCommandPattern: ban %name% %reason%
Advanced:
fixNegativeClaimblockAmounts: true
ClaimExpirationCheckRate: 60
OfflinePlayer_cache_days: 90
Abridged Logs:
Days To Keep: 7
Included Entry Types:
Social Activity: true
Suspicious Activity: true
Administrative Activity: false
Debug: false
Muted Chat Messages: false
Plugin list
No response
Running without GriefPrevention
- I attempted running the server without GriefPrevention installed.
- The problem does not occur when GriefPrevention is removed from the server.
Running with only GriefPrevention
- I attempted running only GriefPrevention on the server.
- The issue still occurs when GriefPrevention is the only plugin running.
Running on a fresh, clean server installation
- I attempted testing for the issue on a new server.
- The issue still occurs on a new server.
Using unmodified client
- I attempted testing for the issue with the vanilla client.
- The issue still occurs when using the vanilla client.
We appreciate you taking the time to fill out a bug report!
- I searched for similar issues before submitting this bug report.
Sounds like an issue that should probably be reported to Spigot. Spigot lowercases the commands when they are entered into the command map but is then not lowercasing the commands received from the client. GP recommends the case it uses declaring the commands, which Spigot then "breaks." Likely a Mojang change at the heart of it, but not something we can easily address, especially if players are already accustomed to capitalizing.
Sounds like an issue that should probably be reported to Spigot. Spigot lowercases the commands when they are entered into the command map but is then not lowercasing the commands received from the client. GP recommends the case it uses declaring the commands, which Spigot then "breaks." Likely a Mojang change at the heart of it, but not something we can easily address, especially if players are already accustomed to capitalizing.
https://hub.spigotmc.org/jira/browse/SPIGOT-7149
"Relates to SPIGOT-7126 and MC-523. Unresolvable due to how player commands are now handled as a result of signed command arguments."
😢
Seems like a cop-out reply on Spigot's end tbh, there's no reason that chat signing should affect passing the command to the correct handler - the text input is still given. It's just less easy. Either way, if that's the official stance, going to reopen this because we should change GP's language to suggest the functioning versions of commands.
Hey,
just wanted to add a thing:
Could it be that the command "abandonallclaims" relies the case sensitive command "AbandonAllClaims"?
Everytime I enter "abandonallclaims" it asks me to confirm with "AbandonAllClaims" with upper case letters. Of course that does not work and when I enter the command with all lowercase again, it just asks me for comfirmation again.
Could it be that the command "abandonallclaims" relies the case sensitive command "AbandonAllClaims"? Everytime I enter "abandonallclaims" it asks me to confirm with "AbandonAllClaims" with upper case letters. Of course that does not work and when I enter the command with all lowercase again, it just asks me for comfirmation again.
You're missing the "confirm" parameter. /abandonallclaims confirm
is functional.
Could it be that the command "abandonallclaims" relies the case sensitive command "AbandonAllClaims"? Everytime I enter "abandonallclaims" it asks me to confirm with "AbandonAllClaims" with upper case letters. Of course that does not work and when I enter the command with all lowercase again, it just asks me for comfirmation again.
You're missing the "confirm" parameter.
/abandonallclaims confirm
is functional.
Ah god damn, for whatever reason the "confirm" is stripped out of the messages file on my end so I did not notice.
Thanks for pointing that out.