Game Protocol Documentation
Documentation for 181 protocol packets.
Packet List
-
LoginPacket (1)
Sent once from client to server at login. About 100k.
-
PlayStatusPacket (2)
Describes the login status of the player
-
ServerToClientHandshakePacket (3)
Server->Client Handshake
-
ClientToServerHandshakePacket (4)
Sets up encryption and authenticates in educational version once at level startup from client.
-
TextPacket (9)
Represents a text message that needs to be displayed in-game
-
SetTimePacket (10)
Set Time
-
RemoveActorPacket (14)
Occasionally, during the server player tick some time is taken to remove nearby actors from the worl...
-
ServerPlayerPostMovePositionPacket (16)
Used to send a player's server position to the respective client at the end of movement.
-
TakeItemActorPacket (17)
A packet sent to the server when deal with picking up an item off the ground in the world.
-
MoveActorAbsolutePacket (18)
This is used primarily for motion updates of all actors from server to client.
-
UpdateBlockPacket (21)
Occasional packets sent from server when blocks update or are ticked. (For example, when digging.)
-
AddPaintingPacket (22)
Sends the information for a new painting actor from server to client.
-
LevelEventPacket (25)
Splash Potions, weather events, global pause, simlock commands, oh my!
-
BlockEventPacket (26)
Whenever a block event happens it is sent from the server to sync client and server, with arbitraril...
-
ActorEventPacket (27)
All kinds of actor state changes (see Actor::handleEntityEvent).
-
MobEffectPacket (28)
Mob Effect
-
InteractPacket (33)
Interact
-
BlockPickRequestPacket (34)
Player picks up a block in the world; client to server.
-
ActorPickRequestPacket (35)
Player clicks on an actor in the world, eg a chicken.
-
PlayerActionPacket (36)
Sent from the client whenever the player performs an action (dashing, un-dashing, use an item, mine/...
-
HurtArmorPacket (38)
Hurt Armor
-
SetActorMotionPacket (40)
This is used for the server to set the velocity of a client actor.
-
SetActorLinkPacket (41)
Sent by both client and server, only received by LegacyClientHandler.
-
SetHealthPacket (42)
This packet is sent to the client when the player is spawned in and when they respawn.
-
SetSpawnPositionPacket (43)
When a player logs in or the SetWorldSpawnCommand is used this is sent from the server to the client...
-
AnimatePacket (44)
Animate Actor
-
RespawnPacket (45)
Sent as a handshake between the client and server to respawn the player.
-
ContainerOpenPacket (46)
Sent from the server so that the client knows to open the container screen and do the chest opening ...
-
ContainerClosePacket (47)
After the game deletes the container manager on the client, the client sends this packet.
Then the ...
-
PlayerHotbarPacket (48)
Sent from the server when the player uses pick block on actors or blocks, in addition to the player ...
-
ContainerSetDataPacket (51)
This is sent from the server basically any time that the "cooking" state of the brewing stand or the...
-
GuiDataPickItemPacket (54)
The server telling the client what item slot to hover over in the hotbar.
-
BlockActorDataPacket (56)
Sends the entire user data compound tag and the block position to the client.
-
SetCommandsEnabledPacket (59)
This is used by the world settings screen, cheats, EDU builds for teachers, and various other places...
-
SetDifficultyPacket (60)
Set Difficulty
-
ChangeDimensionPacket (61)
The server sends this packet from the level to kick off dimension changing process.
-
SetPlayerGameTypePacket (62)
Set Player Game Type
-
SimpleEventPacket (64)
This packet is used for enabling/disabling commands and for unlocking world template settings (both ...
-
LegacyTelemetryEventPacket (65)
Sends telemetry events to the client so the client can then send that on to the eventing system
-
SpawnExperienceOrbPacket (66)
Spawn Experience Orb
-
MapInfoRequestPacket (68)
In the case of the client being unable to find map data for a map item it sends a uuid for a map to ...
-
RequestChunkRadiusPacket (69)
The client can't just change the view radius without the server's approval, otherwise there could be...
-
ChunkRadiusUpdatedPacket (70)
Sent when the world is loading. We don't know why it is sent four times. Defines the tick distance.
-
GameRulesChangedPacket (72)
Updates game rules.
-
CameraPacket (73)
Used only in EDU through the tripod camera item or the TakePictureCommand. Sends the camera actor id...
-
ShowCreditsPacket (75)
Starts on server when the credits screen should pop up.
-
AvailableCommandsPacket (76)
Contains all the available commands.
-
CommandRequestPacket (77)
"slash" command execution, client to server.
-
CommandOutputPacket (79)
"slash" command execution output, server to client.
-
UpdateTradePacket (80)
This is used when the player trades with an npc. This sends all of the updated trade info in one big...
-
UpdateEquipPacket (81)
Seemingly only used for the Horse Inventory... More specifically when the player opens the horse inv...
-
ResourcePackDataInfoPacket (82)
Resource Pack Data Info
-
ResourcePackChunkDataPacket (83)
Resource Pack Chunk Data
-
ResourcePackChunkRequestPacket (84)
Resource Pack Chunk Request
-
TransferPacket (85)
Used to kick off transferring the client between online games, or it can be used to cause players to...
-
PlaySoundPacket (86)
This packet is only used via command or script event. This is for 3rd party content.
-
StopSoundPacket (87)
Allows you to stop a sound or all sounds on all clients, only used in a /command
-
SetTitlePacket (88)
Used by 3rd party content for the purpose of showing ui banners
-
AddBehaviorTreePacket (89)
Add Behavior Tree
-
ShowStoreOfferPacket (91)
Used for redirecting a user to the right offer.
-
PurchaseReceiptPacket (92)
Sent from client to server
-
PlayerSkinPacket (93)
Used when the player changes their skin
-
AutomationClientConnectPacket (95)
Initiates websocket connection
-
SetLastHurtByPacket (96)
Any time a player is hit, the id of the last mob that attacked them is sent to the client
-
BookEditPacket (97)
Sends the updated state of the Book and Quill item from client to server during use.
-
NpcRequestPacket (98)
Used for a number of interactions with the NPC Component
-
PhotoTransferPacket (99)
There is a camera item in EDU and they can use it to take screenshots and add them to a scrapbook.
-
ModalFormRequestPacket (100)
Modal Form Request
-
ModalFormResponsePacket (101)
Fired in response to third party server request to show the custom UI screen.
-
ServerSettingsRequestPacket (102)
Sent during the initialization of world settings on the client.
-
ServerSettingsResponsePacket (103)
Server Settings Response
-
ShowProfilePacket (104)
Show Profile
-
SetDefaultGameTypePacket (105)
Same as SetPlayerGameTypePacket & UpdatePlayerGameTypePacket, the only difference is that this chang...
-
RemoveObjectivePacket (106)
Using the scoreboard command, users can remove objectives that are tracked on the scoreboard.
-
SetDisplayObjectivePacket (107)
Sent from the server for 3rd party content to display current objectives and status
-
LabTablePacket (109)
For the EDU Chemistry Lab Table block actor.
-
UpdateBlockSyncedPacket (110)
Used to sync moving blocks with clients so they render correctly
-
SetLocalPlayerAsInitializedPacket (113)
Set Local Player As Initialized
-
UpdateSoftEnumPacket (114)
This is used for the scoreboard and tag systems (overwhelmingly used by 3rd party content)
-
NetworkStackLatencyPacket (115)
Ping Packet
-
SpawnParticleEffectPacket (118)
Tell client to spawn a particle effect.
-
AvailableActorIdentifiersPacket (119)
Sends the whole list of actor identifiers at game start from the server.
-
NetworkChunkPublisherUpdatePacket (121)
Tells clients to update the chunk view for the local player.
-
LevelSoundEventPacket (123)
Level Sound Event
-
LevelEventGenericPacket (124)
LevelEventGenericPacket
-
LecternUpdatePacket (125)
This is used for the Lectern Block Actor.
-
ClientCacheStatusPacket (129)
It is sent by the Client once, at login, to communicate if it supports the cache or not.
-
OnScreenTextureAnimationPacket (130)
On-Screen Texture Animation
-
MapCreateLockedCopyPacket (131)
This is fired when the user locks a map item utilizing the Cartography Table in game.
-
StructureTemplateDataRequestPacket (132)
Used to request structure information from a server.
-
StructureTemplateDataResponsePacket (133)
This is used in exporting from load, exporting from save, and querying saved structures from structu...
-
EducationSettingsPacket (137)
Transmits EducationLevelSettings to all clients.
-
EmotePacket (138)
A client sends this to the server to notify other clients about the emote.
-
MultiplayerSettingsPacket (139)
Syncs multiplayer settings
-
SettingsCommandPacket (140)
Requests a setting to be changed through commands.
-
AnvilDamagePacket (141)
Requests an anvil to be damaged.
-
CompletedUsingItemPacket (142)
Send server to client to complete the using item process. An example is when you finish drinking or ...
-
NetworkSettingsPacket (143)
Sends tunable options from host to client (compression threshold and algorithm)
-
PlayerArmorDamagePacket (149)
Sent from server whenever the player's armor takes damage.
-
CodeBuilderPacket (150)
Code Builder Packet
-
UpdatePlayerGameTypePacket (151)
The server will send this back to all clients on receipt of the SetPlayerGameTypePacket so that cach...
-
EmoteListPacket (152)
Allows clients to download emotes that other clients have equipped.
-
PositionTrackingDBServerBroadcastPacket (153)
Server to client packet for server authoratative runtime database (with persistent LevelStorage back...
-
PositionTrackingDBClientRequestPacket (154)
Position Tracking DB Client Request
-
DebugInfoPacket (155)
The system sends debug information via a generic network packet. This enables rendering of any serve...
-
PacketViolationWarningPacket (156)
This is sent when the client detects a malformed packet
-
MotionPredictionHintsPacket (157)
It is essentially a SetActionMotionPacket with a bool indicating if the actor was on the ground at t...
-
AnimateEntityPacket (158)
The AnimateEntityPacket is used to trigger a one - off animation on the client it is sent to.
-
CameraShakePacket (159)
Used to control trigger camera shake movements on the client's player camera
-
PlayerFogPacket (160)
Player Fog Packet
-
CorrectPlayerMovePredictionPacket (161)
Sent to a player when their simulation of movement mismatches enough from the server that it wants t...
-
ItemRegistryPacket (162)
Item data from the server. Contains component information.
-
ClientboundDebugRendererPacket (164)
Used to add/remove debug rendering objects.
-
SyncActorPropertyPacket (165)
Allows us to synchronize Actor properties across the network.
-
AddVolumeEntityPacket (166)
Sends a volume entity's definition and components from server to client.
-
RemoveVolumeEntityPacket (167)
Sends a volume entity to be removed from server to client.
-
SimulationTypePacket (168)
Sent from the server to the client when setting the simulation type for toolbox mode. (Not yet supor...
-
NpcDialoguePacket (169)
Sent from the server to client when remote firing an NPC dialogue window for a client
-
EduUriResourcePacket (170)
Transmits Edu Shared Uri Resource settings to all clients.
-
CreatePhotoPacket (171)
Players now have the possibility to export photos from their portfolios into photo items in their in...
-
UpdateSubChunkBlocksPacket (172)
Packet sent for every set of blocks changed in a sub chunk every tick.
-
PlayerStartItemCooldownPacket (176)
Player Start Item Cooldown
-
ScriptMessagePacket (177)
Used to send custom messages between client and server.
-
CodeBuilderSourcePacket (178)
This is EDU exclusive, used in getInterface() of WebviewSystem
-
TickingAreasLoadStatusPacket (179)
Used to inform the client that the server is waiting for ticking areas to finish preloading.
-
AgentActionEventPacket (181)
packet containing data of Agent Action Type
-
ChangeMobPropertyPacket (182)
packet containing data for changing mob property
-
LessonProgressPacket (183)
Lesson Progress
-
RequestAbilityPacket (184)
Sent from client to server. Used to request an ability change.
-
RequestPermissionsPacket (185)
Sent from client to server. Used to request a new Permissions Levels.
-
ToastRequestPacket (186)
Pushes a UI toast message to be displayed by the client
-
UpdateAdventureSettingsPacket (188)
UpdateAdventureSettingsPacket
-
DeathInfoPacket (189)
Sent from the server to client when player dies (Level::onPlayerDeath).
-
EditorNetworkPacket (190)
General use Editor specific packet - carries a payload of whatever serialized data that the individu...
-
FeatureRegistryPacket (191)
This is the packet that tracks the active feature registry data from the server so that client can p...
-
ServerStatsPacket (192)
Used to send performance and other valuable stats back to the client
-
RequestNetworkSettingsPacket (193)
Requests tunable options from host to client (compression threshold and algorithm).
-
GameTestRequestPacket (194)
Internal Text Packet
-
GameTestResultsPacket (195)
Game Test Results Packet
-
UpdateClientInputLocksPacket (196)
UpdateClientInputLocksPacket
-
CameraPresetsPacket (198)
Used to sync CameraPresets data from server to clients.
-
UnlockedRecipesPacket (199)
Sent from server to client, for all previously unlocked recipes on load and for any newly unlocked r...
-
CameraInstructionPacket (300)
Used to send a CameraInstruction from the server to the specified clients.
-
OpenSignPacket (303)
Sent from the server so that the client knows to open the sign screen.
-
AgentAnimationPacket (304)
Broadcasted to other players when an Agent performs an animation so it gets properly replicated.
-
RefreshEntitlementsPacket (305)
Refresh Entitlements
-
PlayerToggleCrafterSlotRequestPacket (306)
PlayerToggleCrafterSlotRequestPacket
-
SetPlayerInventoryOptionsPacket (307)
SetPlayerInventoryOptionsPacket
-
SetHudPacket (308)
This packet is only used via the set hud command. This is for 3rd party content.
-
AwardAchievementPacket (309)
Contains the ID of the achievement to award
-
ClientboundCloseFormPacket (310)
Sent from the server to client to force close all server forms on the stack and return to the HUD sc...
-
ServerboundLoadingScreenPacket (312)
Sent from the client to the server to message to the server about the state of the loading screen.
-
JigsawStructureDataPacket (313)
Jigsaw Structure data used by client jigsaw structure worldgen. This packet contains a copy of the b...
-
CurrentStructureFeaturePacket (314)
Informs the client of which Structure Feature they are currently occupying.
-
ServerboundDiagnosticsPacket (315)
Sent from the client to the server IF ProfilerLite is enabled AND the creator toggle for additional ...
-
CameraAimAssistPacket (316)
CameraAimAssist
-
ContainerRegistryCleanupPacket (317)
This is used to trigger a clientside cleanup of the dynamic container registry.
-
MovementEffectPacket (318)
These packets are sent to the client to update specific MovementEffects
-
CameraAimAssistPresetsPacket (320)
Camera aim-assist registry presets/categories data sent from the server to clients.
-
ClientCameraAimAssistPacket (321)
Client-side activation of aim-assist
-
UpdateClientOptionsPacket (323)
Sync the player's options (mostly settings) to the server.
-
PlayerVideoCapturePacket (324)
Used by a test command to start/stop video capture
-
ClientboundControlSchemeSetPacket (327)
Set the control scheme that the player should use
-
DebugDrawerPacket (328)
Send debug drawing shape info (from scripting) to the client for rendering
-
ServerboundPackSettingChangePacket (329)
Sent from the client to the server when players change Pack Settings (pack UI).
-
ClientboundDataStorePacket (330)
Sends a list of data store properties from the server to the client.
-
GraphicsOverrideParameterPacket (331)
Sent from the server to the client when a server script changes the rendering settings
-
ServerboundDataStorePacket (332)
Applies a single update to the server data store from the client.
-
ClientboundDataDrivenUIShowScreenPacket (333)
Allows the server to tell the client to show a Data Driven UI screen.
-
ClientboundDataDrivenUICloseScreenPacket (334)
Allows the server to tell the client to close Data Driven UI screens.
-
ClientboundDataDrivenUIReloadPacket (335)
Allows the server to tell the client to reload the Data Driven UI.
-
ClientboundTextureShiftPacket (336)
Sends a set of update properties for the texture shift system from the server to the client.
-
VoxelShapesPacket (337)
Syncs client with server voxel shape data on world join. This packet contains a copy of all behavior...
-
CameraSplinePacket (338)
Camera custom spline data sent from server to client.
-
CameraAimAssistActorPriorityPacket (339)
Camera aim-assist actor priority data sent from the server to clients.
-
ResourcePacksReadyForValidationPacket (340)
Used to inform the server that the client has finished loading all resource packs.
-
LocatorBarPacket (341)
Syncs LocatorBar changes on the server with the client.
-
PartyChangedPacket (342)
Sent by the client to provide additional client metadata.
-
ServerboundDataDrivenScreenClosedPacket (343)
Sent from the client to the server when a data driven screen is closed.
-
SyncWorldClocksPacket (344)
Initializes and syncs world clocks from the server to clients. (Currently disabled)
-
ClientboundAttributeLayerSyncPacket (345)
Syncs Attribute Layers to the Client (Currently disabled)