Executing /deop
will disconnect non-whitelisted operators, as the /deop
command calls kickNonWhitelistedPlayers
(yarn mappings, not mojmap, linkie didn’t work sorry), which calls whitelist.isAllowed
and not PlayerManager.isWhitelisted
, without calling any form of isOperator
.
Reproduction steps:
Launch a dedicated minecraft server.
Join with two players and
/op
them both.Enable
enforce-whitelist
andwhite-list
inserver.properties
and restart the server.Join with the same two players.
Execute
/deop Player1
fromPlayer2
.Player2
will be kicked as well, but can rejoin (would expect them to stay).
(side-note: PlayerManager
calls whitelist.contains
, DedicatedPlayerManager
calls whitelist.isAllowed
which simply refers back to whitelist.contains
, so that’s a thing; And I don’t know if my mod dev env is bugged or if it’s intentional or what, but just fyi BannedPlayerList.contains
seems to call itself infinitely)
Comments 3
BannedPlayerList.contains
seems to call itself infinitely
Won’t that just result in a StackOverflowError?
Reproduced on vanilla 1.21.8 as well.