mirror of
https://github.com/PaperMC/Paper.git
synced 2025-05-19 05:30:23 -07:00
34 lines
1.6 KiB
Markdown
34 lines
1.6 KiB
Markdown
- Cookie handling will stall the connection when needed to prevent the connection from finishing before the cookie has been received.
|
|
- A player can still get timed out while waiting for a cookie.
|
|
|
|
Previously, the cookie handling for login occurred after the PlayerLoginEvent only. This meant that cookies could not be sent before the player was created.
|
|
New Use Cases:
|
|
- Instantly terminate the connection if a cookie is not present.
|
|
|
|
Behavior changes:
|
|
- PlayerLinksSendEvent now takes a configuration connection
|
|
- PlayerLoginEvent no longer blocks cookies
|
|
- PlayerLoginEvent now triggers twice due to reasons
|
|
- Disconnecting a duplicate player no longer causes a forced save. Check to make sure that still occurs
|
|
|
|
TODO:
|
|
- Figure out connection hierarchy
|
|
- Figure out naming
|
|
|
|
New Events:
|
|
PlayerServerFullCheckEvent - allows you to make players bypass the server fullness check without using PlayerLoginEvent
|
|
|
|
Protocol Lifecycles:
|
|
LOGIN:
|
|
entering login: AsyncPlayerPreLoginEvent
|
|
validating login: PlayerConnectionValidateLoginEvent (basically PlayerLoginEvent)
|
|
exiting login: PlayerFinishConnectionPhaseEvent (allows you to disconnect to prevent a ClientboundLoginFinishedPacket from being sent)
|
|
CONFIGURATION:
|
|
entering config: PlayerConnectionInitialConfigureEvent / PlayerConnectionReconfigurateEvent (split for convenience)
|
|
configuring player: AsyncPlayerConnectionConfigureEvent (allows for async processing, can run for as long as needed)
|
|
validating login: PlayerConnectionValidateLoginEvent (basically PlayerLoginEvent)
|
|
exiting config: PlayerFinishConnectionPhaseEvent (allows you to disconnect to prevent a player being placed/created)
|
|
|
|
|
|
|