Network packets

The messages that shape Minecraft Bedrock network traffic, ordered by packet identifier.

Packets

Ordered by network identifier
1
LoginPacketSent once from client to server at login. About 100k.
2
PlayStatusPacketDescribes the login status of the player
3
ServerToClientHandshakePacketServer->Client Handshake
4
ClientToServerHandshakePacketSets up encryption and authenticates in educational version once at level startup from client.
5
DisconnectPacketSent from the server to a client to trigger a disconnection.
6
ResourcePacksInfoPacketResource Packs Info
7
ResourcePackStackPacketResource Pack Stack
8
ResourcePackClientResponsePacketResource Pack Client Response
9
TextPacketRepresents a text message that needs to be displayed in-game
10
SetTimePacketSet Time
11
StartGamePacketSent from the server to client when the game is starting (or client joins), gives ids and current tick.
12
AddPlayerPacketAdd Player
13
AddActorPacketAdd Actor
14
RemoveActorPacketOccasionally, during the server player tick some time is taken to remove nearby actors from the world.
15
AddItemActorPacketWhen an item actor is added to the world (punch a tree->tree block, for example)
16
ServerPlayerPostMovePositionPacketUsed to send a player's server position to the respective client at the end of movement.
17
TakeItemActorPacketA packet sent to the server when deal with picking up an item off the ground in the world.
18
MoveActorAbsolutePacketThis is used primarily for motion updates of all actors from server to client.
19
MovePlayerPacketFor client authoritative and server authoritative movement modes, it is only intended as a client-bound packet. It forces the player to a specified position with slightly different behavior depending on the position mode.
21
UpdateBlockPacketOccasional packets sent from server when blocks update or are ticked. (For example, when digging.)
22
AddPaintingPacketSends the information for a new painting actor from server to client.
25
LevelEventPacketSplash Potions, weather events, global pause, simlock commands, oh my!
26
BlockEventPacketWhenever a block event happens it is sent from the server to sync client and server, with arbitrarily encoded information in b0 and b1.
27
ActorEventPacketAll kinds of actor state changes (see Actor::handleEntityEvent).
28
MobEffectPacketMob Effect
29
UpdateAttributesPacketUpdate Attributes
30
InventoryTransactionPacketInventory Transaction. Sent for item interaction UI depending on if ItemStackNetManager is enabled as well as when the player uses items in gameplay. See ComplexInventoryTransaction::Type for more details.
31
MobEquipmentPacketMob Equipment. Changes to any mob's held/offhand item are fired from server to client with this packet. Clients also send this to the server when their held slot or its contents change.
32
MobArmorEquipmentPacketMob Armor Equipment
33
InteractPacketInteract
34
BlockPickRequestPacketPlayer picks up a block in the world; client to server.
35
ActorPickRequestPacketPlayer clicks on an actor in the world, eg a chicken.
36
PlayerActionPacketSent from the client whenever the player performs an action (dashing, un-dashing, use an item, mine/hit, use a block, etc).
38
HurtArmorPacketHurt Armor
39
SetActorDataPacketRegular Actor Data delta packets, sent from the level on tick, mob and actor during normal tick
40
SetActorMotionPacketThis is used for the server to set the velocity of a client actor.
41
SetActorLinkPacketSent by both client and server, only received by LegacyClientHandler.
42
SetHealthPacketThis packet is sent to the client when the player is spawned in and when they respawn.
43
SetSpawnPositionPacketWhen a player logs in or the SetWorldSpawnCommand is used this is sent from the server to the client. Does not change when using a bed, that is a separate packet (RespawnPacket)
44
AnimatePacketAnimate Actor
45
RespawnPacketSent as a handshake between the client and server to respawn the player.
46
ContainerOpenPacketSent from the server so that the client knows to open the container screen and do the chest opening animation.
47
ContainerClosePacketAfter the game deletes the container manager on the client, the client sends this packet. Then the server deletes its container manager, and sends a packet back to the client that closes the container screen.
48
PlayerHotbarPacketSent from the server when the player uses pick block on actors or blocks, in addition to the player uses the clear, give, or replace item command or if the serverplayer uses _sendAdditionalLevelData().
49
InventoryContentPacketThis is used for updating an entire container. Example uses include: player respawned, replace items command, 3rd party content calls sendInventory(), block picking.
50
InventorySlotPacketUpdates one slot in an inventory rather than the whole thing. So like animal inventory (horses, donkeys, etc) and chests. Hotbar, offhand, and some player inventory changes.
51
ContainerSetDataPacketThis is sent from the server basically any time that the "cooking" state of the brewing stand or the furnace changes (i.e. the loading bar)
52
CraftingDataPacketCrafting Data
54
GuiDataPickItemPacketThe server telling the client what item slot to hover over in the hotbar.
56
BlockActorDataPacketSends the entire user data compound tag and the block position to the client.
58
LevelChunkPacketLevel Chunk Packet
59
SetCommandsEnabledPacketThis is used by the world settings screen, cheats, EDU builds for teachers, and various other places to enable cheats/commands
60
SetDifficultyPacketSet Difficulty
61
ChangeDimensionPacketThe server sends this packet from the level to kick off dimension changing process.
62
SetPlayerGameTypePacketSet Player Game Type
63
PlayerListPacketPlayer List
64
SimpleEventPacketThis packet is used for enabling/disabling commands and for unlocking world template settings (both unlocking UI buttons on client and the actual setting on the server).
65
LegacyTelemetryEventPacketSends telemetry events to the client so the client can then send that on to the eventing system
66
SpawnExperienceOrbPacketSpawn Experience Orb
67
ClientboundMapItemDataPacketMap item data including pixels, decorations, and creation info
68
MapInfoRequestPacketIn the case of the client being unable to find map data for a map item it sends a uuid for a map to the server.
69
RequestChunkRadiusPacketThe client can't just change the view radius without the server's approval, otherwise there could be holes on unrendered area.
70
ChunkRadiusUpdatedPacketSent when the world is loading. We don't know why it is sent four times. Defines the tick distance.
72
GameRulesChangedPacketUpdates game rules.
73
CameraPacketUsed only in EDU through the tripod camera item or the TakePictureCommand. Sends the camera actor id and the target player id from the server.
74
BossEventPacketSent when a boss gets updated
75
ShowCreditsPacketStarts on server when the credits screen should pop up.
76
AvailableCommandsPacketContains all the available commands.
77
CommandRequestPacket"slash" command execution, client to server.
78
CommandBlockUpdatePacketCommand Block Update
79
CommandOutputPacket"slash" command execution output, server to client.
80
UpdateTradePacketThis is used when the player trades with an npc. This sends all of the updated trade info in one big ol' packet.
81
UpdateEquipPacketSeemingly only used for the Horse Inventory... More specifically when the player opens the horse inventory.
82
ResourcePackDataInfoPacketResource Pack Data Info
83
ResourcePackChunkDataPacketResource Pack Chunk Data
84
ResourcePackChunkRequestPacketResource Pack Chunk Request
85
TransferPacketUsed to kick off transferring the client between online games, or it can be used to cause players to quit the world and rejoin.
86
PlaySoundPacketThis packet is only used via command or script event. This is for 3rd party content.
87
StopSoundPacketAllows you to stop a sound or all sounds on all clients, only used in a /command
88
SetTitlePacketUsed by 3rd party content for the purpose of showing ui banners
89
AddBehaviorTreePacketAdd Behavior Tree
90
StructureBlockUpdatePacketAfter the client makes changes in the Structure Block Screen we tell the server to update based off of that. This only sent when you close the UI.
91
ShowStoreOfferPacketUsed for redirecting a user to the right offer.
92
PurchaseReceiptPacketSent from client to server
93
PlayerSkinPacketUsed when the player changes their skin
94
SubClientLoginPacketThis packet starts the login process of subclients (splitscreen)
95
AutomationClientConnectPacketInitiates websocket connection
96
SetLastHurtByPacketAny time a player is hit, the id of the last mob that attacked them is sent to the client
97
BookEditPacketSends the updated state of the Book and Quill item from client to server during use.
98
NpcRequestPacketUsed for a number of interactions with the NPC Component
99
PhotoTransferPacketThere is a camera item in EDU and they can use it to take screenshots and add them to a scrapbook.
100
ModalFormRequestPacketModal Form Request
101
ModalFormResponsePacketFired in response to third party server request to show the custom UI screen.
102
ServerSettingsRequestPacketSent during the initialization of world settings on the client.
103
ServerSettingsResponsePacketServer Settings Response
104
ShowProfilePacketShow Profile
105
SetDefaultGameTypePacketSame as SetPlayerGameTypePacket & UpdatePlayerGameTypePacket, the only difference is that this changes the default for all clients.
106
RemoveObjectivePacketUsing the scoreboard command, users can remove objectives that are tracked on the scoreboard.
107
SetDisplayObjectivePacketSent from the server for 3rd party content to display current objectives and status
108
SetScorePacketSet Score
109
LabTablePacketFor the EDU Chemistry Lab Table block actor.
110
UpdateBlockSyncedPacketUsed to sync moving blocks with clients so they render correctly
111
MoveActorDeltaPacketThis packet is all the deltas of actors position, rotation, and head rotation. This is used for all actors.
112
SetScoreboardIdentityPacketSet Scoreboard Identity
113
SetLocalPlayerAsInitializedPacketSet Local Player As Initialized
114
UpdateSoftEnumPacketThis is used for the scoreboard and tag systems (overwhelmingly used by 3rd party content)
115
NetworkStackLatencyPacketPing Packet
118
SpawnParticleEffectPacketTell client to spawn a particle effect.
119
AvailableActorIdentifiersPacketSends the whole list of actor identifiers at game start from the server.
121
NetworkChunkPublisherUpdatePacketTells clients to update the chunk view for the local player.
122
BiomeDefinitionListPacketOn world start, send clients the info for all available biomes.
123
LevelSoundEventPacketLevel Sound Event
124
LevelEventGenericPacketLevelEventGenericPacket
125
LecternUpdatePacketThis is used for the Lectern Block Actor.
129
ClientCacheStatusPacketIt is sent by the Client once, at login, to communicate if it supports the cache or not.
130
OnScreenTextureAnimationPacketOn-Screen Texture Animation
131
MapCreateLockedCopyPacketThis is fired when the user locks a map item utilizing the Cartography Table in game.
132
StructureTemplateDataRequestPacketUsed to request structure information from a server.
133
StructureTemplateDataResponsePacketThis is used in exporting from load, exporting from save, and querying saved structures from structure blocks.
135
ClientCacheBlobStatusPacketClient Cache Blob Status Packet
136
ClientCacheMissResponsePacketOnly active in a real client-server scenario. This packet is just a list of <blobId, blob> pairs sent from server to client.
137
EducationSettingsPacketTransmits EducationLevelSettings to all clients.
138
EmotePacketA client sends this to the server to notify other clients about the emote.
139
MultiplayerSettingsPacketSyncs multiplayer settings
140
SettingsCommandPacketRequests a setting to be changed through commands.
141
AnvilDamagePacketRequests an anvil to be damaged.
142
CompletedUsingItemPacketSend server to client to complete the using item process. An example is when you finish drinking or eating.
143
NetworkSettingsPacketSends tunable options from host to client (compression threshold and algorithm)
144
PlayerAuthInputPacketPlayer Auth Input
145
CreativeContentPacketCreative Content
146
PlayerEnchantOptionsPacketSends the of new Enchanting options from the server when a player right clicks the enchantment table.
147
ItemStackRequestPacketThe new server auth inventory item transaction request. This is done in batches of items.
148
ItemStackResponsePacketServer auth inventory item transaction response, sent from the server.
149
PlayerArmorDamagePacketSent from server whenever the player's armor takes damage.
150
CodeBuilderPacketCode Builder Packet
151
UpdatePlayerGameTypePacketThe server will send this back to all clients on receipt of the SetPlayerGameTypePacket so that cached game type and permissions flags in mLevel on all clients is kept up to date.
152
EmoteListPacketAllows clients to download emotes that other clients have equipped.
153
PositionTrackingDBServerBroadcastPacketServer to client packet for server authoratative runtime database (with persistent LevelStorage backup) designed primarily to track lodestone stuff. See Position Tracking DB Notes.md in bedrock-docs.
154
PositionTrackingDBClientRequestPacketPosition Tracking DB Client Request
155
DebugInfoPacketThe system sends debug information via a generic network packet. This enables rendering of any server information on the client in for instance ImGui.
156
PacketViolationWarningPacketThis is sent when the client detects a malformed packet
157
MotionPredictionHintsPacketIt is essentially a SetActionMotionPacket with a bool indicating if the actor was on the ground at the time the packet is sent or not.
158
AnimateEntityPacketThe AnimateEntityPacket is used to trigger a one - off animation on the client it is sent to.
159
CameraShakePacketUsed to control trigger camera shake movements on the client's player camera
160
PlayerFogPacketPlayer Fog Packet
161
CorrectPlayerMovePredictionPacketSent to a player when their simulation of movement mismatches enough from the server that it wants to correct the client.
162
ItemRegistryPacketItem data from the server. Contains component information.
164
ClientboundDebugRendererPacketUsed to add/remove debug rendering objects.
165
SyncActorPropertyPacketAllows us to synchronize Actor properties across the network.
166
AddVolumeEntityPacketSends a volume entity's definition and components from server to client.
167
RemoveVolumeEntityPacketSends a volume entity to be removed from server to client.
168
SimulationTypePacketSent from the server to the client when setting the simulation type for toolbox mode. (Not yet suported)
169
NpcDialoguePacketSent from the server to client when remote firing an NPC dialogue window for a client
170
EduUriResourcePacketTransmits Edu Shared Uri Resource settings to all clients.
171
CreatePhotoPacketPlayers now have the possibility to export photos from their portfolios into photo items in their inventory. EDU.
172
UpdateSubChunkBlocksPacketPacket sent for every set of blocks changed in a sub chunk every tick.
174
SubChunkPacketSent from server to client representing a batch of subchunk data.
175
SubChunkRequestPacketSent from the client to the server representing a batch of subchunks that the client requests from the server
176
PlayerStartItemCooldownPacketPlayer Start Item Cooldown
177
ScriptMessagePacketUsed to send custom messages between client and server.
178
CodeBuilderSourcePacketThis is EDU exclusive, used in getInterface() of WebviewSystem
179
TickingAreasLoadStatusPacketUsed to inform the client that the server is waiting for ticking areas to finish preloading.
180
DimensionDataPacketBrief packet containing data-driven dimension properties
181
AgentActionEventPacketpacket containing data of Agent Action Type
182
ChangeMobPropertyPacketpacket containing data for changing mob property
183
LessonProgressPacketLesson Progress
184
RequestAbilityPacketSent from client to server. Used to request an ability change.
185
RequestPermissionsPacketSent from client to server. Used to request a new Permissions Levels.
186
ToastRequestPacketPushes a UI toast message to be displayed by the client
187
UpdateAbilitiesPacketSent by the server to update the state of a player's Abilities.
188
UpdateAdventureSettingsPacketUpdateAdventureSettingsPacket
189
DeathInfoPacketSent from the server to client when player dies (Level::onPlayerDeath).
190
EditorNetworkPacketGeneral use Editor specific packet - carries a payload of whatever serialized data that the individual IEditorNetworkPayload generates.
191
FeatureRegistryPacketThis is the packet that tracks the active feature registry data from the server so that client can place the features themselves.
192
ServerStatsPacketUsed to send performance and other valuable stats back to the client
193
RequestNetworkSettingsPacketRequests tunable options from host to client (compression threshold and algorithm).
194
GameTestRequestPacketInternal Text Packet
195
GameTestResultsPacketGame Test Results Packet
196
UpdateClientInputLocksPacketUpdateClientInputLocksPacket
198
CameraPresetsPacketUsed to sync CameraPresets data from server to clients.
199
UnlockedRecipesPacketSent from server to client, for all previously unlocked recipes on load and for any newly unlocked recipes during gameplay.
300
CameraInstructionPacketUsed to send a CameraInstruction from the server to the specified clients.
302
TrimDataPacketSent from the server on level startup to send all trim patterns to the client.
303
OpenSignPacketSent from the server so that the client knows to open the sign screen.
304
AgentAnimationPacketBroadcasted to other players when an Agent performs an animation so it gets properly replicated.
305
RefreshEntitlementsPacketRefresh Entitlements
306
PlayerToggleCrafterSlotRequestPacketPlayerToggleCrafterSlotRequestPacket
307
SetPlayerInventoryOptionsPacketSetPlayerInventoryOptionsPacket
308
SetHudPacketThis packet is only used via the set hud command. This is for 3rd party content.
309
AwardAchievementPacketContains the ID of the achievement to award
310
ClientboundCloseFormPacketSent from the server to client to force close all server forms on the stack and return to the HUD screen.
312
ServerboundLoadingScreenPacketSent from the client to the server to message to the server about the state of the loading screen.
313
JigsawStructureDataPacketJigsaw Structure data used by client jigsaw structure worldgen. This packet contains a copy of the behavior pack jigsaw structure rules.
314
CurrentStructureFeaturePacketInforms the client of which Structure Feature they are currently occupying.
315
ServerboundDiagnosticsPacketSent from the client to the server IF ProfilerLite is enabled AND the creator toggle for additional client telemetry is enabled AND new telemetry data is ready (every 500 ms).
316
CameraAimAssistPacketCameraAimAssist
317
ContainerRegistryCleanupPacketThis is used to trigger a clientside cleanup of the dynamic container registry.
318
MovementEffectPacketThese packets are sent to the client to update specific MovementEffects
320
CameraAimAssistPresetsPacketCamera aim-assist registry presets/categories data sent from the server to clients.
321
ClientCameraAimAssistPacketClient-side activation of aim-assist
322
ClientMovementPredictionSyncPacketSends client movement prediction information to the server
323
UpdateClientOptionsPacketSync the player's options (mostly settings) to the server.
324
PlayerVideoCapturePacketUsed by a test command to start/stop video capture
325
PlayerUpdateEntityOverridesPacketPlayer Update Entity Overrides
326
PlayerLocationPacketUpdates the client with the position of a player outside simulation distance, or hides a player.
327
ClientboundControlSchemeSetPacketSet the control scheme that the player should use
328
PrimitiveShapesPacketSend primitive drawing shape info (from scripting) to the client for rendering
329
ServerboundPackSettingChangePacketSent from the client to the server when players change Pack Settings (pack UI).
330
ClientboundDataStorePacketSends a list of data store properties from the server to the client.
331
GraphicsOverrideParameterPacketSent from the server to the client when a server script changes the rendering settings
332
ServerboundDataStorePacketApplies a single update to the server data store from the client.
333
ClientboundDataDrivenUIShowScreenPacketAllows the server to tell the client to show a Data Driven UI screen.
334
ClientboundDataDrivenUICloseScreenPacketAllows the server to tell the client to close Data Driven UI screens.
335
ClientboundDataDrivenUIReloadPacketAllows the server to tell the client to reload the Data Driven UI.
336
ClientboundTextureShiftPacketSends a set of update properties for the texture shift system from the server to the client.
337
VoxelShapesPacketSyncs client with server voxel shape data on world join. This packet contains a copy of all behavior pack voxel shapes data and is used by StartGamePacket.
338
CameraSplinePacketCamera custom spline data sent from server to client.
339
CameraAimAssistActorPriorityPacketCamera aim-assist actor priority data sent from the server to clients.
340
ResourcePacksReadyForValidationPacketUsed to inform the server that the client has finished loading all resource packs.
341
LocatorBarPacketSyncs LocatorBar changes on the server with the client.
342
PartyChangedPacketSent by the client to provide additional client metadata.
343
ServerboundDataDrivenScreenClosedPacketSent from the client to the server when a data driven screen is closed.
344
SyncWorldClocksPacketInitializes and syncs world clocks from the server to clients. (Currently disabled)
345
ClientboundAttributeLayerSyncPacketSyncs Attribute Layers to the Client (Currently disabled)
346
ServerStoreInfoPacketSent by the server to provide ClientStoreEntryPointConfiguration to the client.
347
ServerPresenceInfoPacketSent by the server to provide PresenceConfiguration to the client.
348
ClientboundUpdateSoundDataPacketSent to update sound data.
349
SendPartyDestinationCookiePacketSent by the server to a client with a party destination cookie.
350
PartyDestinationCookieResponsePacketSent by the client to the server with a party destination cookie response.
351
SetPlayerFurnaceOptionsPacketSetPlayerFurnaceOptionsPacket
352
RecordStartedPacketSent to notify the client that a record started playing at a block position.
353
ClientboundMatchmakingStatePacketInforms the client when its matchmaking state changes.
354
ServerboundStonecutterSetRecipePacketWhen a player selects a recipe in the stonecutter UI on the client, the client sends this packet. Then the server synchronizes the selected recipe in the server-side stonecutter model.
355
ClientboundStonecutterSetRecipePacketWhen the server updates a recipe in the stonecutter UI model, the server sends this packet. Then the client synchronizes the selected recipe in the client-side stonecutter model.
356
ServerboundMatchmakingCancelPacketRequests cancellation of the sending player's matchmaking ticket.