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