Hytale Modding
Server Plugins

Client-to-Server Inputs Reference

Complete reference for every packet the client can send to the server.

Overview

This is a comprehensive list of every packet a client can send to the server. The client sends abstract actions, not raw keyboard input. The server never sees "W pressed" - only the resulting movement states or action requests. This list is not exclusive to key inputs, but rather all packets.

Formatting is packet.flag, ie MovementStates.idle or ClientPlaceBlock.position


Data Structures

Enums vs Structs

Packets use two types of flag/value structures:

TypeStructureSizeSerialization
EnumSingle value from fixed set1 byteInteger value of selected enum constant
StructMultiple fields sent togetherVariesEach field serialized sequentially

MovementStates (Struct)

Movement booleans.

FlagDescription
idleNot moving
walkingWalking speed
runningRunning speed
sprintingSprint speed
jumpingCurrently jumping
fallingIn freefall
crouchingSneaking/crouched
flyingCreative flight
onGroundTouching ground
inFluidIn water/liquid
swimmingSwimming motion
climbingOn ladder/climbable
glidingUsing glider
rollingDodge roll
sittingSeated
sleepingIn bed
mountingGetting on mount
mantlingClimbing ledge
slidingSliding down slope
horizontalIdleNot moving horizontally
forcedCrouchingForced crouch (low ceiling)
swimJumpingJumping while swimming

InteractionType (Enum)

Major interactions.

ValueNamePlayer InputDescription
0PrimaryLMBPrimary action - attack, break block
1SecondaryRMBSecondary action - use item, place block
2Ability1QWeapon/item ability
3Ability2Reserved (no default binding)
4Ability3Reserved (no default binding)
5UseEWorld interaction - containers, NPCs
6PickMMBPick block
7PickupItem pickup (system)
8CollisionEnterCollision started (system)
9CollisionLeaveCollision ended (system)
10CollisionOngoing collision (system)
11EntityStatEffectStat effect applied (system)
12SwapToItem swapped to (system)
13SwapFromItem swapped from (system)
14DeathEntity death (system)
15WieldingWielding state (system)
16ProjectileSpawnProjectile spawned (system)
17ProjectileHitProjectile hit (system)
18ProjectileMissProjectile missed (system)
19ProjectileBounceProjectile bounced (system)
20HeldItem held (system)
21HeldOffhandItem held offhand (system)
22EquippedItem equipped (system)
23DodgeDodge roll action
24GameModeSwapGame mode changed (system)

BuilderToolAction (Enum)

Builder tool general actions.

ValueNameDefault KeyDescription
0SelectionPosition1Set first corner of selection
1SelectionPosition2Set second corner of selection
2SelectionCopyCtrl+CCopy selection to clipboard
3HistoryUndoCtrl+ZUndo last operation
4HistoryRedoCtrl+YRedo last undone operation
5ActivateToolModeBEnter builder tool mode
6DeactivateToolModeBExit builder tool mode

InventoryActionType (Enum)

Bulk inventory operations.

ValueNameDescription
0TakeAllTake all items from container to inventory
1PutAllPut all matching items into container
2QuickStackQuick stack matching items into container
3SortSort container (actionData specifies sort type)

CustomPageEventType (Enum)

3 values for custom UI page events.

ValueNameDescription
0AcknowledgeClient acknowledging page action
1DataClient sending data back to server
2DismissClient dismissed/closed page

Key → Packet Reference

Summary of all default Key Mappings.

KeyPacketPackageNotes
W/A/S/DClientMovementplayerMovement states in packet
SpaceClientMovementplayerjumping state
ShiftClientMovementplayercrouching state
Shift (mounted)DismountNPCinteractionWhen riding a mount
LMBMouseInteractionplayerPrimary (0)
RMBMouseInteractionplayerSecondary (1)
QMouseInteractionplayerAbility1 (2)
Q (hold)DropItemStackinventoryWhen holding item
EMouseInteractionplayerUse (5)
MMBMouseInteractionplayerPick (6)
1-9SetActiveSlotinventoryDirect slot selection
ScrollSetActiveSlotinventoryHotbar scrolling
Scroll (on block)SwitchHotbarBlockSetinventoryBlock variant cycling
MUpdateWorldMapVisibleworldmapMap toggle
BBuilderToolGeneralActionbuildertoolsActivateToolMode (5) / DeactivateToolMode (6)
Ctrl+CBuilderToolGeneralActionbuildertoolsSelectionCopy (2)
Ctrl+ZBuilderToolGeneralActionbuildertoolsHistoryUndo (3)
Ctrl+YBuilderToolGeneralActionbuildertoolsHistoryRedo (4)
ESCSetPausedworldSingleplayer only
ESC (window open)CloseWindowwindowCloses active window
EnterChatMessageinterface_Sends chat/command

Player

Core player action packets. These are the most commonly used packets for gameplay logic - combat systems, custom abilities, movement validation, and interaction handling.

PacketIDFieldsDescription
ClientMovement100absolutePosition, relativePosition, movementStates, bodyOrientation, lookOrientation, velocity, wishMovement, teleportAckContinuous position/rotation updates. Contains either absolute position or relative delta. teleportAck confirms server teleports. Uses MovementStates struct.
MouseInteraction22interactionType, targetEntity, targetBlock, screenPointMouse button actions with target information. Uses InteractionType enum.
ClientPlaceBlock104position, rotation, placedBlockIdClient placing a block. Contains position, rotation, and the specific block variant being placed.
ClientReady105readyForChunks, readyForGameplayClient signaling ready state. readyForChunks = ready to receive world data, readyForGameplay = fully loaded.
SyncPlayerPreferences116showEntityMarkers, armorItemsPreferredPickupLocation, weaponAndToolItemsPreferredPickupLocation, usableItemsItemsPreferredPickupLocation, solidBlockItemsPreferredPickupLocation, miscItemsPreferredPickupLocation, allowNPCDetection, respondToHitClient syncing player settings to server. Includes item pickup preferences and UI settings.
LoadHotbar180indexLoad a saved hotbar preset by index.
SaveHotbar181indexSave current hotbar to preset slot.

Inventory

Item and slot management packets. Useful for custom inventory rules, item restrictions, ability triggers via hotbar slots, and tracking player item usage.

PacketIDFieldsDescription
SetActiveSlot177inventorySectionId, activeSlotPlayer changing active hotbar slot via keys 1-9 or scroll wheel.
MoveItemStack175fromSectionId, fromSlotId, quantity, toSectionId, toSlotIdDragging item from one slot to another.
SmartMoveItemStack176fromSectionId, fromSlotId, quantity, moveTypeShift-click auto-move. moveType determines destination logic.
DropItemStack174inventorySectionId, slotId, quantityDropping item from inventory. Triggered by Q key (hold).
SwitchHotbarBlockSet178itemIdCycling through block variants using scroll wheel while holding a block item.
InventoryAction179inventorySectionId, inventoryActionType, actionDataBulk inventory operations from UI buttons. Uses InventoryActionType enum.
SetCreativeItem171inventorySectionId, slotId, item, overrideSet/spawn item in creative inventory. override determines if existing item is replaced.
DropCreativeItem172itemDrop item spawned from creative menu into world.
SmartGiveCreativeItem173item, moveTypeAuto-place creative item (equip armor, add to hotbar, etc).

Interaction

Combat and entity interaction sync packets. Used for combat validation, combo systems, mount control, and NPC interaction tracking.

PacketIDFieldsDescription
SyncInteractionChains290updates[]Synchronizes ongoing attack/ability chains between client and server for animation and hit detection.
DismountNPC294Player requesting to dismount. Triggered by Shift key while mounted.

Interface

Chat, language, and custom UI packets. Essential for command systems, chat moderation, custom menus, shops, dialogs, and any server-driven UI.

PacketIDFieldsDescription
ChatMessage211messagePlayer chat message or command. Messages starting with / are processed as commands. Messages starting with . (local commands) are rejected by server.
UpdateLanguage212languagePlayer changed language preference.
CustomPageEvent219type, dataResponse to server-defined custom UI page. Uses CustomPageEventType enum. data is optional string payload (max 4MB).

Window

Container and window management packets. Useful for custom container logic, crafting systems, trading interfaces, and tracking when players open/close menus.

PacketIDFieldsDescription
ClientOpenWindow200typeClient requesting to open a window. Only certain window types are client-requestable.
SendWindowAction201id, actionClient sending an action/interaction to an open window.
CloseWindow202idClient closing a window (ESC key or close button).

Worldmap

Map visibility and navigation packets. Can be used as an extra keybind (M key detection), custom map overlays, teleportation systems, or death marker tracking.

PacketIDFieldsDescription
UpdateWorldMapVisible243visiblePlayer opened or closed world map. Toggled by M key.
RemoveMapMarker246markerIdRemove a marker from the map (death markers, custom markers).
TeleportToWorldMapMarker244idRequest teleport to a map marker. Requires allowTeleportToMarkers permission.
TeleportToWorldMapPosition245x, yRequest teleport to map coordinates. Requires allowTeleportToCoordinates permission.

Entities

Entity-related movement packets. Used for custom mount physics, mount-specific abilities, or vehicle control systems.

PacketIDFieldsDescription
MountMovement166absolutePosition, bodyOrientation, movementStatesPosition and movement states for the mount entity when player is riding.

Camera

Camera control packets. Useful for spectator systems, cinematic sequences, or admin observation tools.

PacketIDFieldsDescription
RequestFlyCameraMode282enteringRequest to enter or exit fly camera mode. Requires hytale.flyCam permission.

Buildertools

Creative mode building tool packets. Requires hytale.editor.builderTools permission. Can be granted to non-creative players to enable these packets as extra keybinds (B, Ctrl+Z/Y/C), or used to track/validate creative building operations.

General Actions

PacketIDFieldsDescription
BuilderToolGeneralAction412actionGeneral builder tool action. Uses BuilderToolAction enum.

Entity Manipulation

PacketIDFieldsDescription
BuilderToolEntityAction401entityId, actionEntity tool action (Freeze, Clone, Remove).
BuilderToolSetEntityTransform402entityId, position, rotationSet entity position and rotation.
BuilderToolSetEntityScale420entityId, scaleSet entity scale.
BuilderToolSetEntityLight422entityId, lightSet entity light properties.
BuilderToolSetEntityPickupEnabled421entityId, enabledToggle whether entity can be picked up.
BuilderToolSetNPCDebug423entityId, debugToggle NPC debug mode.

Selection Tools

PacketIDFieldsDescription
BuilderToolSelectionUpdate409selectionUpdate selection bounds.
BuilderToolSelectionTransform405transformTransform (move/rotate) current selection.
BuilderToolSelectionToolAskForClipboard410Request clipboard data from server.

Block Operations

PacketIDFieldsDescription
BuilderToolExtrudeAction403axis, amountExtrude selection along axis.
BuilderToolLineAction414start, endDraw a line of blocks between two points.
BuilderToolStackArea404count, offsetStack/repeat selection multiple times.

Clipboard

PacketIDFieldsDescription
BuilderToolRotateClipboard406axis, directionRotate clipboard contents.
BuilderToolPasteClipboard407position, optionsPaste clipboard at position.

Tool Configuration

PacketIDFieldsDescription
BuilderToolArgUpdate400toolId, argsUpdate tool-specific arguments/settings.
BuilderToolSetTransformationModeState408modeSet transformation mode (move/rotate/scale).
BuilderToolOnUseInteraction413position, blockTool use interaction at position.

Prefab

PacketIDFieldsDescription
PrefabUnselectPrefab417Deselect currently selected prefab.

Machinima

Cinematic/machinima system packets. Used for in-game cinematics, cutscenes, or replay systems.

PacketIDFieldsDescription
RequestMachinimaActorModel260modelId, sceneName, actorNameRequest a model for use in machinima scene.
UpdateMachinimaScene261player, sceneName, frame, updateType, sceneUpdate machinima scene state. Can target specific player or broadcast with *.

Connection

Initial connection handshake packets. Used for custom connection validation, protocol checks, or connection-time logging.

PacketIDFieldsDescription
Connect0protocolHash, language, uuid, username, clientTypeFirst packet sent. Contains protocol version for compatibility check, player identity, and client type.
Disconnect1type, reasonClient notifying server it's disconnecting. Type indicates reason category (quit, timeout, kicked, etc).
Pong3timestampResponse to server Ping for latency measurement and keepalive.

Auth

Authentication packets. Used during the connection handshake for secure servers or password-protected servers.

PacketIDFieldsDescription
AuthToken12token, nonceClient's authentication token for secure servers. Part of mutual auth handshake.
PasswordResponse15passwordClient's response to server password prompt.

Setup

Initial setup phase packets. Sent after connection but before gameplay. Used for enforcing render distance limits, tracking client capabilities, or custom loading logic.

PacketIDFieldsDescription
RequestAssets23assets[]Client requesting specific assets (textures, models, sounds) from the server. Array of asset identifiers.
ViewRadius32valueClient's requested view/render distance in blocks. Server may clamp this.
PlayerOptions33skinData, preferencesPlayer cosmetics and client preferences sent during setup.

World

World state packets. The pause packet only functions in singleplayer.

PacketIDFieldsDescription
SetPaused158pausedPause/unpause game. Only processed in singleplayer with one player.

Serveraccess

LAN/server access configuration packets. Only functional for singleplayer world owners configuring LAN access.

PacketIDFieldsDescription
UpdateServerAccess251hosts[], accessUpdate LAN server visibility settings. Singleplayer owner only.
SetServerAccess252access, passwordSet LAN access mode and password. Singleplayer owner only.

Server Events

Packets with corresponding server-side events:

PacketPackageEventCancellable
MouseInteractionplayerPlayerInteractEventYes
SetActiveSlotinventorySwitchActiveSlotEventYes
DropItemStackinventoryDropItemEvent.PlayerRequestYes
ChatMessageinterface_PlayerChatEventYes
ConnectconnectionPlayerSetupConnectEventYes
DisconnectconnectionPlayerDisconnectEventNo
ClientReadyplayerPlayerReadyEventNo

Imports

// player
import com.hypixel.hytale.protocol.packets.player.ClientMovement;
import com.hypixel.hytale.protocol.packets.player.MouseInteraction;
import com.hypixel.hytale.protocol.packets.player.ClientPlaceBlock;
import com.hypixel.hytale.protocol.packets.player.ClientReady;
import com.hypixel.hytale.protocol.packets.player.SyncPlayerPreferences;
import com.hypixel.hytale.protocol.packets.player.LoadHotbar;
import com.hypixel.hytale.protocol.packets.player.SaveHotbar;

// inventory
import com.hypixel.hytale.protocol.packets.inventory.SetActiveSlot;
import com.hypixel.hytale.protocol.packets.inventory.MoveItemStack;
import com.hypixel.hytale.protocol.packets.inventory.SmartMoveItemStack;
import com.hypixel.hytale.protocol.packets.inventory.DropItemStack;
import com.hypixel.hytale.protocol.packets.inventory.SwitchHotbarBlockSet;
import com.hypixel.hytale.protocol.packets.inventory.InventoryAction;
import com.hypixel.hytale.protocol.packets.inventory.SetCreativeItem;
import com.hypixel.hytale.protocol.packets.inventory.DropCreativeItem;
import com.hypixel.hytale.protocol.packets.inventory.SmartGiveCreativeItem;

// interaction
import com.hypixel.hytale.protocol.packets.interaction.SyncInteractionChains;
import com.hypixel.hytale.protocol.packets.interaction.DismountNPC;

// interface_
import com.hypixel.hytale.protocol.packets.interface_.ChatMessage;
import com.hypixel.hytale.protocol.packets.interface_.UpdateLanguage;
import com.hypixel.hytale.protocol.packets.interface_.CustomPageEvent;

// window
import com.hypixel.hytale.protocol.packets.window.ClientOpenWindow;
import com.hypixel.hytale.protocol.packets.window.SendWindowAction;
import com.hypixel.hytale.protocol.packets.window.CloseWindow;

// worldmap
import com.hypixel.hytale.protocol.packets.worldmap.UpdateWorldMapVisible;
import com.hypixel.hytale.protocol.packets.worldmap.RemoveMapMarker;
import com.hypixel.hytale.protocol.packets.worldmap.TeleportToWorldMapMarker;
import com.hypixel.hytale.protocol.packets.worldmap.TeleportToWorldMapPosition;

// entities
import com.hypixel.hytale.protocol.packets.entities.MountMovement;

// camera
import com.hypixel.hytale.protocol.packets.camera.RequestFlyCameraMode;

// buildertools
import com.hypixel.hytale.protocol.packets.buildertools.*;

// machinima
import com.hypixel.hytale.protocol.packets.machinima.RequestMachinimaActorModel;
import com.hypixel.hytale.protocol.packets.machinima.UpdateMachinimaScene;

// connection
import com.hypixel.hytale.protocol.packets.connection.Connect;
import com.hypixel.hytale.protocol.packets.connection.Disconnect;
import com.hypixel.hy

From Hytale Server build 2026.01.13-dcad8778f