MCBE
OverviewPacketsStartGame
ID 0x0B · 11Server → ClientGameplay

StartGame

The largest packet of the login: player IDs, spawn position, the full level settings blob (seed, dimension, difficulty, game rules, experiments), block palette, permissions and the movement authority mode.

start-game.bin
struct StartGame {
  ActorUniqueID                                EntityId;
  ActorRuntimeID                               RuntimeId;
  GameType                                     EntityGameType;
  Vec3                                         Pos;
  Vec2                                         Rot;
  LevelSettings                                Settings;
  string                                       LevelId;
  string                                       LevelName;
  string                                       TemplateContentIdentity;
  bool                                         IsTrial;
  SyncedPlayerMovementSettings                 MovementSettings;
  uint64 (LE)                                  LevelCurrentTime;
  varint32                                     EnchantmentSeed;
  varuint32 [] · ServerBlockProperty[]         BlockProperties;
  string                                       MultiplayerCorrelationId;
  bool                                         EnableItemStackNetManager;
  string                                       ServerVersion;
  CompoundTag                                  PlayerPropertyData;
  uint64 (LE)                                  ServerBlockTypeRegistryChecksum;
  uuid.UUID                                    WorldTemplateId;
  bool                                         ServerEnabledClientSideGeneration;
  bool                                         BlockNetworkIdsAreHashes;
  NetworkPermissions                           NetworkPermissions;
  optional byte + ServerConfigurationJoinInfo  ServerConfigurationJoinInfo;
  ServerTelemetryData                          ServerTelemetryData;
}

Structure

FieldTypeDescription
Entity IdActorUniqueID
Runtime IdActorRuntimeID
Entity Game TypeGameType
PosVec3
RotVec2
SettingsLevelSettings
Level Idstring
Level Namestring
Template Content Identitystring
Is Trialbool
Movement SettingsSyncedPlayerMovementSettings
Level Current Timeuint64 (LE)
Enchantment Seedvarint32
Block Propertiesvaruint32 count + ServerBlockProperty[]Length-prefixed sequence.
Multiplayer Correlation Idstring
Enable Item Stack Net Managerbool
Server Versionstring
Player Property DataCompoundTag
Server Block Type Registry Checksumuint64 (LE)
World Template Iduuid.UUID
Server Enabled Client Side Generationbool
Block Network Ids Are Hashesbool
Network PermissionsNetworkPermissions
Server Configuration Join Infooptional byte + ServerConfigurationJoinInfoPresence flag on the wire; value omitted when absent.
Server Telemetry DataServerTelemetryData

Structure of Vec3

FieldTypeDescription
Xfloat32 (LE)
Yfloat32 (LE)
Zfloat32 (LE)

Structure of Vec2

FieldTypeDescription
Xfloat32 (LE)
Yfloat32 (LE)

Structure of LevelSettings

FieldTypeDescription
Seeduint64 (LE)
Spawn SettingsSpawnSettings
GeneratorGeneratorType
Game TypeGameType
Is Hardcorebool
Game DifficultyDifficulty
Default SpawnBlockPos
Achievements Disabledbool
Editor World TypeWorldType
Is Created In Editorbool
Is Exported From Editorbool
Timevarint32
Education Edition OfferEducationEditionOffer
Education Features Enabledbool
Education Product Idstring
Rain Levelfloat32 (LE)
Lightning Levelfloat32 (LE)
Confirmed Platform Locked Contentbool
Multiplayer Game Intentbool
Lan Broadcast Intentbool
Xbl Broadcast IntentGamePublishSetting
Platform Broadcast IntentGamePublishSetting
Commands Enabledbool
Texture Packs Requiredbool
Rule DataGameRulesChangedPacketData
ExperimentsExperiments
Bonus Chest Enabledbool
Start With Map Enabledbool
Default PermissionsPlayerPermissionLevel
Server Chunk Tick Rangeint32 (LE)
Has Locked Behavior Packbool
Has Locked Resource Packbool
Is From Locked Templatebool
Use Msa Gamertags Onlybool
Is From World Templatebool
Is World Template Option Lockedbool
Spawn V1 Villagersbool
Persona Disabledbool
Custom Skins Disabledbool
Emote Chat Mutedbool
Base Game Versionstring
Limited World Widthint32 (LE)
Limited World Depthint32 (LE)
Nether TypeNetherWorldType
Edu Shared Uri ResourceEduSharedUriResource
Override Force Experimental Gameplayoptional byte + boolPresence flag on the wire; value omitted when absent.
Chat Restriction LevelChatRestrictionLevel
Disable Player Interactionsbool
Server Editor Connection PolicyServerEditorConnectionPolicy
Allow Anonymous Block Drops In Editor Worldsbool

Structure of SyncedPlayerMovementSettings

FieldTypeDescription
Rewind History Sizevarint32
Server Auth Block Breakingbool

Structure of ServerBlockProperty

FieldTypeDescription
Namestring
TagCompoundTag

Structure of NetworkPermissions

FieldTypeDescription
Server Auth Sound Enabledbool

Structure of ServerConfigurationJoinInfo

FieldTypeDescription
Gatherings Configurationoptional byte + GatheringsConfigurationJoinInfoPresence flag on the wire; value omitted when absent.
Client Store Entry Point Configurationoptional byte + ClientStoreEntryPointConfigurationPresence flag on the wire; value omitted when absent.
Presence Configurationoptional byte + PresenceConfigurationPresence flag on the wire; value omitted when absent.

Structure of ServerTelemetryData

FieldTypeDescription
Server Idstring
Scenario Idstring
World Idstring
Owner Idstring

Structure of SpawnSettings

FieldTypeDescription
Typeint16 (LE)
User Defined Biome Namestring
DimensionDimensionType

Structure of BlockPos

FieldTypeDescription
Xvarint32
Yvarint32
Zvarint32

Structure of GameRulesChangedPacketData

FieldTypeDescription
Rulesvaruint32 count + GameRule[]Length-prefixed sequence.

Structure of Experiments

FieldTypeDescription
Togglesuint32 count + ExperimentToggle[]Length-prefixed sequence.
Experiments Ever Toggledbool

Structure of EduSharedUriResource

FieldTypeDescription
Button Namestring
Link Uristring

Notes

  • Sent after ResourcePackStackFinished, together with DimensionData, JigsawStructureData, VoxelShapes and ItemRegistry.
  • LevelSettings is a big nested struct: world seed, spawn position, difficulty, game rules, io reader settings, experiments, server auth movement mode and more.
  • Runtime IDs issued here are used by every later actor packet.
  • Spawn completes when the client answers RequestChunkRadius → ChunkRadiusUpdated → PlayStatus(PlayerSpawn) → SetLocalPlayerAsInitialised.