Profile key expiration while online leads to newly joined players being kicked
If you join a server not too long before your profile key expires, every player that joins after the expiration will fail the key validation check in the PlayInfo constructor, creating an Unsigned SignedMessageValidator. If you then send any message in chat, those newly joined clients will disconnect themselves since the key is absent but a signature given, as per the Unsigned validate code:
private SignedMessageValidator.State validate(MessageSignature signature) { if (!signature.isEmpty()) { return SignedMessageValidator.State.BROKEN_CHAIN; } else ... }
The server only checks for key expiration exactly once on join, so the hotfix would be to check for signature expiration on every chat message/command and otherwise kick the player.
2022-08-03, 08:32 PM
2022-08-03, 10:52 PM
2022-08-03, 10:47 PM
0
0
-