Skip to content

Latest commit

 

History

History
41 lines (39 loc) · 5.25 KB

progress.md

File metadata and controls

41 lines (39 loc) · 5.25 KB

Progress log

Implement login sequence

Step
Client connects to server
C→S: Handshake State=2
C→S: Login Start
S→C: Encryption Request
Client auth
C→S: Encryption Response
Server auth, both enable encryption
S→C: Set Compression (Optional, enables compression)
S→C: Login Success
S→C: Join Game
S→C: Plugin Message: minecraft:brand with the server's brand (Optional)
S→C: Server Difficulty (Optional)
S→C: Player Abilities (Optional)
C→S: Plugin Message: minecraft:brand with the client's brand (Optional)
C→S: Client Settings
S→C: Held Item Change
C→S: Held Item Change (serverbound, Optional?) (The wiki does not mention this)
S→C: Declare Recipes
S→C: Tags
S→C: Entity Status (The wiki does not specify which status, assuming op permission level)
S→C: Declare Commands
S→C: Unlock Recipes
🟡 S→C: Player Position And Look (This is not true, the first position packet will make the player leave the loading screen)
S→C: Player Info (Add Player action)
S→C: Player Info (Update latency action)
S→C: Update View Position
S→C: Update Light (One sent for each chunk in a square centered on the player's position)
S→C: Chunk Data (One sent for each chunk in a square centered on the player's position)
S→C: World Border (Once the world is finished loading)
S→C: Spawn Position (“home” spawn, not where the client will spawn on login)
S→C: Player Position And Look (Required, tells the client they're ready to spawn)
C→S: Teleport Confirm
C→S: Player Position And Look (to confirm the spawn position)
C→S: Client Status (sent either before or while receiving chunks, further testing needed, server handles correctly if not sent)
S→C: inventory, entities, etc