hytopia
Version:
The HYTOPIA SDK makes it easy for developers to create massively multiplayer games using JavaScript or TypeScript.
2,541 lines (1,177 loc) • 44.4 kB
Markdown
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [server](./server.md)
## server package
## Classes
<table><thead><tr><th>
Class
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[AssetsLibrary](./server.assetslibrary.md)
</td><td>
Manages the assets library and synchronization of assets to the local assets directory in development.
When to use: pulling assets from the shared library during local development. Do NOT use for: production asset loading; the library is disabled in production.
</td></tr>
<tr><td>
[Audio](./server.audio.md)
</td><td>
Represents a audio playback in a world.
</td></tr>
<tr><td>
[AudioManager](./server.audiomanager.md)
</td><td>
Manages audio instances in a world.
When to use: querying or bulk-controlling audio in a specific world. Do NOT use for: individual playback configuration; use `Audio` instances.
</td></tr>
<tr><td>
[Block](./server.block.md)
</td><td>
Represents a block in a world.
When to use: reading block data from queries like raycasts or chunk lookups. Do NOT use for: creating or placing blocks directly; use `ChunkLattice.setBlock`<!-- -->.
</td></tr>
<tr><td>
[BlockTextureRegistry](./server.blocktextureregistry.md)
</td><td>
Manages block textures and block texture atlas generation of the game.
When to use: querying texture atlas UVs and transparency hints for blocks. Do NOT use for: runtime texture modifications; regenerate atlas offline in dev.
</td></tr>
<tr><td>
[BlockType](./server.blocktype.md)
</td><td>
Represents a block type definition.
When to use: defining new block types (textures, colliders, liquid behavior). Do NOT use for: placing blocks directly; use `ChunkLattice.setBlock`<!-- -->.
</td></tr>
<tr><td>
[BlockTypeRegistry](./server.blocktyperegistry.md)
</td><td>
Manages known block types in a world.
When to use: registering and retrieving block types for a specific world. Do NOT use for: placing blocks; use `ChunkLattice.setBlock`<!-- -->.
</td></tr>
<tr><td>
[ChatManager](./server.chatmanager.md)
</td><td>
Manages chat and commands in a world.
When to use: broadcasting chat, sending system messages, or registering chat commands. Do NOT use for: player HUD/menus; use `PlayerUI` for rich UI.
</td></tr>
<tr><td>
[Chunk](./server.chunk.md)
</td><td>
A 16^3 chunk of blocks representing a slice of world terrain.
When to use: reading chunk data or working with bulk block operations. Do NOT use for: creating terrain directly; prefer `ChunkLattice`<!-- -->.
</td></tr>
<tr><td>
[ChunkLattice](./server.chunklattice.md)
</td><td>
A lattice of chunks that represent a world's terrain.
When to use: reading or mutating blocks in world space. Do NOT use for: per-entity placement logic; prefer higher-level game systems.
</td></tr>
<tr><td>
[Collider](./server.collider.md)
</td><td>
Represents a collider in a world's physics simulation.
When to use: defining collision shapes for rigid bodies or entities. Do NOT use for: gameplay queries; use `Simulation.raycast` or intersection APIs instead.
</td></tr>
<tr><td>
[CollisionGroupsBuilder](./server.collisiongroupsbuilder.md)
</td><td>
A helper class for building and decoding collision groups.
When to use: creating custom collision filters for colliders and rigid bodies. Do NOT use for: per-frame changes; collision group changes are usually infrequent.
</td></tr>
<tr><td>
[DefaultPlayerEntity](./server.defaultplayerentity.md)
</td><td>
Represents the default player model entity.
When to use: standard player avatars with built-in cosmetics and default controls. Do NOT use for: fully custom player rigs that don't match the default model's anchors/animations.
</td></tr>
<tr><td>
[DefaultPlayerEntityController](./server.defaultplayerentitycontroller.md)
</td><td>
The default player entity controller implementation.
When to use: player-controlled avatars using `DefaultPlayerEntity`<!-- -->. Do NOT use for: NPCs or non-player entities; use `SimpleEntityController` or `PathfindingEntityController` instead.
</td></tr>
<tr><td>
[Entity](./server.entity.md)
</td><td>
Represents a dynamic or static object in a world.
When to use: any non-player object that needs physics, visuals, or interactions. Do NOT use for: player-controlled avatars (use `PlayerEntity` / `DefaultPlayerEntity`<!-- -->). Do NOT use for: voxel blocks (use block APIs on `ChunkLattice`<!-- -->).
</td></tr>
<tr><td>
[EntityManager](./server.entitymanager.md)
</td><td>
Manages entities in a world.
When to use: querying and filtering entities within a specific world. Do NOT use for: cross-world queries; access each world's manager separately.
</td></tr>
<tr><td>
[EntityModelAnimation](./server.entitymodelanimation.md)
</td><td>
Represents a single animation of the model used for an Entity.
When to use: controlling individual animation playback, blending, and looping on model entities. Do NOT use for: block entities (they have no model animations).
</td></tr>
<tr><td>
[EntityModelNodeOverride](./server.entitymodelnodeoverride.md)
</td><td>
Represents a name-match model node override rule for an Entity.
When to use: configuring visual and transform overrides for one or more model nodes selected by name match.
</td></tr>
<tr><td>
[ErrorHandler](./server.errorhandler.md)
</td><td>
Manages error and warning logging.
When to use: reporting recoverable issues or fatal errors with consistent formatting. Do NOT use for: normal control flow; prefer explicit return values or exceptions.
</td></tr>
<tr><td>
[EventRouter](./server.eventrouter.md)
</td><td>
Routes events to listeners in local, world, or global scope.
When to use: event-driven hooks within server subsystems. Do NOT use for: high-frequency per-entity updates; prefer direct method calls for hot paths.
</td></tr>
<tr><td>
[GameServer](./server.gameserver.md)
</td><td>
Global entry point for server systems (players, worlds, assets).
When to use: accessing global managers and registries after startup. Do NOT use for: constructing your own server instance.
</td></tr>
<tr><td>
[IterationMap](./server.iterationmap.md)
</td><td>
A high-performance Map-like data structure optimized for frequent iteration.
When to use: per-tick collections that are built, iterated, and cleared each frame. Do NOT use for: long-lived maps with rare iteration; a standard Map is simpler.
</td></tr>
<tr><td>
[Matrix2](./server.matrix2.md)
</td><td>
Represents a 2x2 matrix.
When to use: 2D transforms or linear algebra utilities. Do NOT use for: immutable math; most methods mutate the instance.
</td></tr>
<tr><td>
[Matrix3](./server.matrix3.md)
</td><td>
Represents a 3x3 matrix.
When to use: 2D homogeneous transforms or normal matrix math. Do NOT use for: immutable math; most methods mutate the instance.
</td></tr>
<tr><td>
[Matrix4](./server.matrix4.md)
</td><td>
Represents a 4x4 matrix.
When to use: 3D transforms (translation, rotation, scale) and camera math. Do NOT use for: immutable math; most methods mutate the instance.
</td></tr>
<tr><td>
[ModelRegistry](./server.modelregistry.md)
</td><td>
Manages model data for all known models of the game.
When to use: querying model metadata (bounds, node names, animations, trimesh). Do NOT use for: runtime mesh editing; use dedicated tooling or physics colliders.
</td></tr>
<tr><td>
[ParticleEmitter](./server.particleemitter.md)
</td><td>
Represents a particle emitter in the world. Emit 2D particles that always face the camera.
</td></tr>
<tr><td>
[ParticleEmitterManager](./server.particleemittermanager.md)
</td><td>
Manages ParticleEmitter instances in a world.
When to use: querying or bulk-cleaning particle emitters for a world. Do NOT use for: configuring emitters; use `ParticleEmitter` instances directly.
</td></tr>
<tr><td>
[PathfindingEntityController](./server.pathfindingentitycontroller.md)
</td><td>
A pathfinding entity controller built on top of `SimpleEntityController`<!-- -->.
When to use: obstacle-aware movement to a target coordinate. Do NOT use for: per-tick recalculation; pathfinding is synchronous and can be expensive.
</td></tr>
<tr><td>
[PersistenceManager](./server.persistencemanager.md)
</td><td>
Manages persistence of player and global data.
When to use: reading or writing persisted data shared across lobbies or per player. Do NOT use for: per-tick state; cache data in memory and write back periodically.
</td></tr>
<tr><td>
[Player](./server.player.md)
</td><td>
A connected player in the game.
When to use: interacting with a connected player's state, UI, and world membership. Do NOT use for: constructing players or representing offline users.
</td></tr>
<tr><td>
[PlayerCamera](./server.playercamera.md)
</td><td>
The camera for a Player.
When to use: controlling a player's view, mode, and camera offsets. Do NOT use for: moving the player or entities; use entity movement APIs.
</td></tr>
<tr><td>
[PlayerEntity](./server.playerentity.md)
</td><td>
Represents an entity controlled by a player in a world.
When to use: custom player avatars that respond to player input. Do NOT use for: non-player NPCs; use `Entity` with a controller instead.
</td></tr>
<tr><td>
[PlayerManager](./server.playermanager.md)
</td><td>
Manages all connected players in a game server.
When to use: accessing online players, reacting to connection lifecycle events, or routing players to worlds. Do NOT use for: constructing or persisting players yourself; players are created automatically on connection.
</td></tr>
<tr><td>
[PlayerUI](./server.playerui.md)
</td><td>
The UI for a player.
When to use: showing overlays, HUDs, menus, and custom UI for a specific player. Do NOT use for: world-level UI shared by all players; use scene UI systems instead.
</td></tr>
<tr><td>
[Quaternion](./server.quaternion.md)
</td><td>
Represents a quaternion.
When to use: rotation math for entities, cameras, or transforms. Do NOT use for: immutable math; most methods mutate the instance.
</td></tr>
<tr><td>
[RigidBody](./server.rigidbody.md)
</td><td>
Represents a rigid body in a world's physics simulation.
When to use: physics-simulated or kinematic objects that need forces, collisions, or velocity. Do NOT use for: purely visual transforms; use entity transforms without physics when possible.
</td></tr>
<tr><td>
[SceneUI](./server.sceneui.md)
</td><td>
UI rendered within the 3D space of a world's game scene.
</td></tr>
<tr><td>
[SceneUIManager](./server.sceneuimanager.md)
</td><td>
Manages SceneUI instances in a world.
When to use: querying or bulk-unloading scene UI elements in a world. Do NOT use for: player HUD/menus; use `PlayerUI` for per-player UI.
</td></tr>
<tr><td>
[SimpleEntityController](./server.simpleentitycontroller.md)
</td><td>
A simple entity controller with basic movement functions.
When to use: straightforward movement and facing without pathfinding. Do NOT use for: obstacle-aware movement; use `PathfindingEntityController`<!-- -->.
</td></tr>
<tr><td>
[Simulation](./server.simulation.md)
</td><td>
Represents the physics simulation for a world.
When to use: advanced physics queries, custom gravity, or debug rendering. Do NOT use for: typical movement; use entity/rigid body APIs instead.
</td></tr>
<tr><td>
[Telemetry](./server.telemetry.md)
</td><td>
Manages performance telemetry and error tracking through your Sentry account.
When to use: profiling and diagnosing slow ticks or runtime errors in production. Do NOT use for: high-volume custom metrics; use a dedicated metrics pipeline instead.
</td></tr>
<tr><td>
[Vector2](./server.vector2.md)
</td><td>
Represents a 2D vector.
When to use: performance-sensitive math in game loops or geometry utilities. Do NOT use for: immutable math; most methods mutate the instance.
</td></tr>
<tr><td>
[Vector3](./server.vector3.md)
</td><td>
Represents a 3-dimensional vector.
When to use: performance-sensitive 3D math and transforms. Do NOT use for: immutable math; most methods mutate the instance.
</td></tr>
<tr><td>
[World](./server.world.md)
</td><td>
Represents an isolated simulation space (a world) on the server.
When to use: your primary container for game objects, physics, and players. Use multiple worlds to run separate rooms, arenas, or instances. Do NOT use for: cross-world global state; keep that in your own services or `GameServer`<!-- -->.
</td></tr>
<tr><td>
[WorldLoop](./server.worldloop.md)
</td><td>
Manages the tick loop for a world.
When to use: advanced scheduling or instrumentation of a world's tick cycle. Do NOT use for: normal lifecycle control—use `World.start` and `World.stop`<!-- -->.
</td></tr>
<tr><td>
[WorldManager](./server.worldmanager.md)
</td><td>
Manages all worlds in a game server.
When to use: creating additional worlds, routing players, or querying the active world set. Do NOT use for: instantiating `World` directly for gameplay; use `WorldManager.createWorld` to ensure IDs and lifecycle are managed consistently.
</td></tr>
</tbody></table>
## Abstract Classes
<table><thead><tr><th>
Abstract Class
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[BaseEntityController](./server.baseentitycontroller.md)
</td><td>
A base class for entity controller implementations.
When to use: implementing custom entity behavior and movement logic. Do NOT use for: one-off entity changes; prefer direct entity APIs.
</td></tr>
</tbody></table>
## Enumerations
<table><thead><tr><th>
Enumeration
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[AudioEvent](./server.audioevent.md)
</td><td>
Event types an Audio instance can emit.
See `AudioEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[BaseEntityControllerEvent](./server.baseentitycontrollerevent.md)
</td><td>
Event types a BaseEntityController instance can emit.
See `BaseEntityControllerEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[BlockTypeEvent](./server.blocktypeevent.md)
</td><td>
Event types a BlockType instance can emit.
See `BlockTypeEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[BlockTypeRegistryEvent](./server.blocktyperegistryevent.md)
</td><td>
Event types a BlockTypeRegistry instance can emit.
See `BlockTypeRegistryEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[ChatEvent](./server.chatevent.md)
</td><td>
Event types a ChatManager instance can emit.
See `ChatEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[ChunkLatticeEvent](./server.chunklatticeevent.md)
</td><td>
Event types a ChunkLattice instance can emit.
See `ChunkLatticeEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[CoefficientCombineRule](./server.coefficientcombinerule.md)
</td><td>
The coefficient for friction or bounciness combine rule.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[ColliderShape](./server.collidershape.md)
</td><td>
The shapes a collider can be.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[CollisionGroup](./server.collisiongroup.md)
</td><td>
The default collision groups.
</td></tr>
<tr><td>
[EntityEvent](./server.entityevent.md)
</td><td>
Event types an Entity instance can emit.
See `EntityEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[EntityModelAnimationBlendMode](./server.entitymodelanimationblendmode.md)
</td><td>
The blend mode of an entity model animation.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[EntityModelAnimationEvent](./server.entitymodelanimationevent.md)
</td><td>
Event types an EntityModelAnimation instance can emit.
See `EntityModelAnimationEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[EntityModelAnimationLoopMode](./server.entitymodelanimationloopmode.md)
</td><td>
The loop mode of an entity model animation.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[EntityModelAnimationState](./server.entitymodelanimationstate.md)
</td><td>
The state of an entity model animation.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[EntityModelNodeOverrideEvent](./server.entitymodelnodeoverrideevent.md)
</td><td>
Event types an EntityModelNodeOverride instance can emit.
See `EntityModelNodeOverrideEventPayloads` for payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[GameServerEvent](./server.gameserverevent.md)
</td><td>
Event types a GameServer instance can emit to the global event router.
See `GameServerEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[ParticleEmitterEvent](./server.particleemitterevent.md)
</td><td>
Event types a ParticleEmitter instance can emit.
See `ParticleEmitterEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[PlayerCameraEvent](./server.playercameraevent.md)
</td><td>
Event types a PlayerCamera can emit.
See `PlayerCameraEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[PlayerCameraMode](./server.playercameramode.md)
</td><td>
The mode of the camera.
\*\*Category:\*\* Players
</td></tr>
<tr><td>
[PlayerEvent](./server.playerevent.md)
</td><td>
Event types a Player can emit.
See `PlayerEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[PlayerManagerEvent](./server.playermanagerevent.md)
</td><td>
Event types a PlayerManager can emit.
See `PlayerManagerEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[PlayerUIEvent](./server.playeruievent.md)
</td><td>
Event types a PlayerUI can emit.
See `PlayerUIEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[RigidBodyType](./server.rigidbodytype.md)
</td><td>
The types a RigidBody can be.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[SceneUIEvent](./server.sceneuievent.md)
</td><td>
Event types a SceneUI instance can emit.
See `SceneUIEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[SimulationEvent](./server.simulationevent.md)
</td><td>
Event types a Simulation instance can emit.
See `SimulationEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[TelemetrySpanOperation](./server.telemetryspanoperation.md)
</td><td>
Performance telemetry span operation types.
\*\*Category:\*\* Telemetry
</td></tr>
<tr><td>
[WorldEvent](./server.worldevent.md)
</td><td>
Event types a World instance can emit.
See `WorldEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[WorldLoopEvent](./server.worldloopevent.md)
</td><td>
Event types a WorldLoop instance can emit.
See `WorldLoopEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[WorldManagerEvent](./server.worldmanagerevent.md)
</td><td>
Event types a WorldManager instance can emit to the global event router.
See `WorldManagerEventPayloads` for the payloads.
\*\*Category:\*\* Events
</td></tr>
</tbody></table>
## Functions
<table><thead><tr><th>
Function
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[startServer(init)](./server.startserver.md)
</td><td>
Boots the server runtime, runs your init callback, and starts accepting connections.
Use for: normal server startup in your entry file. Do NOT use for: restarting an already running server within the same process.
</td></tr>
</tbody></table>
## Interfaces
<table><thead><tr><th>
Interface
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[AudioEventPayloads](./server.audioeventpayloads.md)
</td><td>
Event payloads for Audio emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[AudioOptions](./server.audiooptions.md)
</td><td>
Options for creating an Audio instance.
Positional audio can be configured via `AudioOptions.attachedToEntity` or `AudioOptions.position`<!-- -->.
Use for: configuring audio before calling `Audio.play`<!-- -->. Do NOT use for: runtime updates after playback starts; use `Audio.set*` methods.
\*\*Category:\*\* Audio
</td></tr>
<tr><td>
[BallColliderOptions](./server.ballcollideroptions.md)
</td><td>
The options for a ball collider.
Use for: sphere-shaped colliders. Do NOT use for: other shapes; use the matching collider option type.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[BaseColliderOptions](./server.basecollideroptions.md)
</td><td>
The base options for a collider.
Use for: configuring colliders when creating entities or rigid bodies. Do NOT use for: runtime changes; use `Collider` methods instead.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[BaseEntityControllerEventPayloads](./server.baseentitycontrollereventpayloads.md)
</td><td>
Event payloads for BaseEntityController emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[BaseEntityOptions](./server.baseentityoptions.md)
</td><td>
The base options for an entity.
Use for: common entity configuration shared by block and model entities. Do NOT use for: runtime changes after spawn; use `Entity` setters instead.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[BaseRigidBodyOptions](./server.baserigidbodyoptions.md)
</td><td>
The base options for a rigid body.
Use for: initial rigid body configuration when creating entities or bodies. Do NOT use for: runtime changes; use `RigidBody` setter methods instead.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[BlockColliderOptions](./server.blockcollideroptions.md)
</td><td>
The options for a block collider.
Use for: axis-aligned box colliders. Do NOT use for: other shapes; use the matching collider option type.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[BlockEntityOptions](./server.blockentityoptions.md)
</td><td>
The options for creating a block entity.
Use for: entities rendered as blocks with a `BlockType` texture. Do NOT use for: model entities; use `ModelEntityOptions`<!-- -->.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[BlockPlacement](./server.blockplacement.md)
</td><td>
A block placement in world coordinates.
\*\*Category:\*\* Blocks
</td></tr>
<tr><td>
[BlockTypeEventPayloads](./server.blocktypeeventpayloads.md)
</td><td>
Event payloads for BlockType emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[BlockTypeOptions](./server.blocktypeoptions.md)
</td><td>
Options for creating a block type instance.
Use for: defining new block types to register in a `BlockTypeRegistry`<!-- -->. Do NOT use for: placing blocks; use `ChunkLattice.setBlock`<!-- -->.
\*\*Category:\*\* Blocks
</td></tr>
<tr><td>
[BlockTypeRegistryEventPayloads](./server.blocktyperegistryeventpayloads.md)
</td><td>
Event payloads for BlockTypeRegistry emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[CapsuleColliderOptions](./server.capsulecollideroptions.md)
</td><td>
The options for a capsule collider.
Use for: capsule-shaped colliders. Do NOT use for: other shapes; use the matching collider option type.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[ChatEventPayloads](./server.chateventpayloads.md)
</td><td>
Event payloads for ChatManager emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[ChunkLatticeEventPayloads](./server.chunklatticeeventpayloads.md)
</td><td>
Event payloads for ChunkLattice emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[ConeColliderOptions](./server.conecollideroptions.md)
</td><td>
The options for a cone collider.
Use for: cone-shaped colliders. Do NOT use for: other shapes; use the matching collider option type.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[CylinderColliderOptions](./server.cylindercollideroptions.md)
</td><td>
The options for a cylinder collider.
Use for: cylinder-shaped colliders. Do NOT use for: other shapes; use the matching collider option type.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[DefaultPlayerEntityControllerOptions](./server.defaultplayerentitycontrolleroptions.md)
</td><td>
Options for creating a DefaultPlayerEntityController instance.
Use for: configuring default player movement and animation behavior at construction time. Do NOT use for: per-frame changes; override methods or adjust controller state instead.
\*\*Category:\*\* Controllers
</td></tr>
<tr><td>
[DynamicRigidBodyOptions](./server.dynamicrigidbodyoptions.md)
</td><td>
The options for a dynamic rigid body, also the default type.
Use for: physics-driven bodies affected by forces and collisions. Do NOT use for: kinematic bodies; use the kinematic option types instead.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[EntityEventPayloads](./server.entityeventpayloads.md)
</td><td>
Event payloads for Entity emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[EntityModelAnimationEventPayloads](./server.entitymodelanimationeventpayloads.md)
</td><td>
Event payloads for EntityModelAnimation emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[EntityModelAnimationOptions](./server.entitymodelanimationoptions.md)
</td><td>
The options for creating an EntityModelAnimation instance.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[EntityModelNodeOverrideEventPayloads](./server.entitymodelnodeoverrideeventpayloads.md)
</td><td>
Event payloads for EntityModelNodeOverride emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[EntityModelNodeOverrideOptions](./server.entitymodelnodeoverrideoptions.md)
</td><td>
The options for creating an EntityModelNodeOverride instance.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[EventPayloads](./server.eventpayloads.md)
</td><td>
The payloads for all events in the game server.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[FixedRigidBodyOptions](./server.fixedrigidbodyoptions.md)
</td><td>
The options for a fixed rigid body.
Use for: immovable bodies (world geometry, static platforms). Do NOT use for: moving objects; use dynamic or kinematic options.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[GameServerEventPayloads](./server.gameservereventpayloads.md)
</td><td>
Event payloads for GameServer emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[KinematicPositionRigidBodyOptions](./server.kinematicpositionrigidbodyoptions.md)
</td><td>
The options for a kinematic position rigid body.
Use for: moving bodies by setting target positions each tick. Do NOT use for: physics-driven motion; use dynamic bodies instead.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[KinematicVelocityRigidBodyOptions](./server.kinematicvelocityrigidbodyoptions.md)
</td><td>
The options for a kinematic velocity rigid body.
Use for: moving bodies by setting velocities each tick. Do NOT use for: physics-driven motion; use dynamic bodies instead.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[ModelEntityOptions](./server.modelentityoptions.md)
</td><td>
The options for creating a model entity.
Use for: entities rendered from a glTF model. Do NOT use for: block entities; use `BlockEntityOptions`<!-- -->.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[NoneColliderOptions](./server.nonecollideroptions.md)
</td><td>
The options for an error type "none" collider.
Use for: explicitly disabling collider creation. Do NOT use for: physical interactions; no collider will be created.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[Outline](./server.outline.md)
</td><td>
The options for rendering an outline.
\*\*Category:\*\* Types
</td></tr>
<tr><td>
[ParticleEmitterEventPayloads](./server.particleemittereventpayloads.md)
</td><td>
Event payloads for ParticleEmitter emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[ParticleEmitterOptions](./server.particleemitteroptions.md)
</td><td>
Options for creating a ParticleEmitter instance.
Use for: configuring an emitter before calling `ParticleEmitter.spawn`<!-- -->. Do NOT use for: runtime updates after spawn; use `ParticleEmitter.set*` methods.
\*\*Category:\*\* Particles
</td></tr>
<tr><td>
[PlayerCameraEventPayloads](./server.playercameraeventpayloads.md)
</td><td>
Event payloads for PlayerCamera emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[PlayerEventPayloads](./server.playereventpayloads.md)
</td><td>
Event payloads for Player emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[PlayerManagerEventPayloads](./server.playermanagereventpayloads.md)
</td><td>
Event payloads for PlayerManager emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[PlayerUIEventPayloads](./server.playeruieventpayloads.md)
</td><td>
Event payloads for PlayerUI emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[QuaternionLike](./server.quaternionlike.md)
</td><td>
A quaternion.
\*\*Category:\*\* Math
</td></tr>
<tr><td>
[RgbColor](./server.rgbcolor.md)
</td><td>
An RGB color. `r`<!-- -->, `g`<!-- -->, and `b` expect a value between 0 and 255.
\*\*Category:\*\* Types
</td></tr>
<tr><td>
[RoundCylinderColliderOptions](./server.roundcylindercollideroptions.md)
</td><td>
The options for a round cylinder collider.
Use for: rounded cylinder colliders. Do NOT use for: other shapes; use the matching collider option type.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[SceneUIEventPayloads](./server.sceneuieventpayloads.md)
</td><td>
Event payloads for SceneUI emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[SceneUIOptions](./server.sceneuioptions.md)
</td><td>
Options for creating a SceneUI instance.
Use for: configuring scene UI before `SceneUI.load`<!-- -->. Do NOT use for: runtime updates after load; use `SceneUI.set*` methods.
\*\*Category:\*\* UI
</td></tr>
<tr><td>
[SimulationEventPayloads](./server.simulationeventpayloads.md)
</td><td>
Event payloads for Simulation emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[SpdMatrix3](./server.spdmatrix3.md)
</td><td>
A 3x3 symmetric positive-definite matrix for spatial dynamics.
\*\*Category:\*\* Math
</td></tr>
<tr><td>
[TrimeshColliderOptions](./server.trimeshcollideroptions.md)
</td><td>
The options for a trimesh collider.
Use for: mesh-based colliders from model data. Do NOT use for: simple primitives; prefer analytic shapes when possible.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[Vector2Boolean](./server.vector2boolean.md)
</td><td>
A 2-dimensional vector of boolean values.
\*\*Category:\*\* Math
</td></tr>
<tr><td>
[Vector2Like](./server.vector2like.md)
</td><td>
A 2-dimensional vector.
\*\*Category:\*\* Math
</td></tr>
<tr><td>
[Vector3Boolean](./server.vector3boolean.md)
</td><td>
A 3-dimensional vector of boolean values.
\*\*Category:\*\* Math
</td></tr>
<tr><td>
[Vector3Like](./server.vector3like.md)
</td><td>
A 3-dimensional vector.
\*\*Category:\*\* Math
</td></tr>
<tr><td>
[VoxelsColliderOptions](./server.voxelscollideroptions.md)
</td><td>
The options for a voxels collider.
Use for: voxel-based colliders (block volumes). Do NOT use for: simple primitives; prefer analytic shapes when possible.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[WedgeColliderOptions](./server.wedgecollideroptions.md)
</td><td>
The options for a wedge collider.
Use for: wedge-shaped colliders (inclined planes). Do NOT use for: other shapes; use the matching collider option type.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[WorldEventPayloads](./server.worldeventpayloads.md)
</td><td>
Event payloads for World emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[WorldLoopEventPayloads](./server.worldloopeventpayloads.md)
</td><td>
Event payloads for WorldLoop emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[WorldManagerEventPayloads](./server.worldmanagereventpayloads.md)
</td><td>
Event payloads for WorldManager emitted events.
\*\*Category:\*\* Events
</td></tr>
<tr><td>
[WorldMap](./server.worldmap.md)
</td><td>
A map representation for initializing a world.
Use for: importing static maps or tooling exports via `World.loadMap`<!-- -->. Do NOT use for: incremental edits while a world is live; use chunk/block APIs instead.
</td></tr>
<tr><td>
[WorldOptions](./server.worldoptions.md)
</td><td>
Options for creating a World instance.
Use for: initializing a world and its environment at construction time. Do NOT use for: runtime changes; use the corresponding `set*` methods on `World`<!-- -->.
</td></tr>
</tbody></table>
## Variables
<table><thead><tr><th>
Variable
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[BLOCK\_ROTATIONS](./server.block_rotations.md)
</td><td>
All valid block rotations, named as `{face pointing up}_{Y rotation degrees}`<!-- -->.
N prefix = negative axis (e.g. `NZ_90` = -Z face up, rotated 90° around global Y).
\*\*Category:\*\* Blocks
</td></tr>
<tr><td>
[DEFAULT\_ENTITY\_RIGID\_BODY\_OPTIONS](./server.default_entity_rigid_body_options.md)
</td><td>
The default rigid body options for a model entity when `EntityOptions.rigidBodyOptions` is not provided.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[SUPPORTED\_INPUTS](./server.supported_inputs.md)
</td><td>
The inputs that are included in `PlayerInput`<!-- -->.
\*\*Category:\*\* Players
</td></tr>
</tbody></table>
## Type Aliases
<table><thead><tr><th>
Type Alias
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[BlockRotation](./server.blockrotation.md)
</td><td>
A block rotation from `BLOCK_ROTATIONS`<!-- -->.
\*\*Category:\*\* Blocks
</td></tr>
<tr><td>
[BlockTextureMetadata](./server.blocktexturemetadata.md)
</td><td>
Block texture metadata including UVs and rendering hints.
\*\*Category:\*\* Textures
</td></tr>
<tr><td>
[ColliderOptions](./server.collideroptions.md)
</td><td>
The options for a collider.
Use for: providing collider definitions when creating rigid bodies or entities. Do NOT use for: runtime changes; use `Collider` APIs instead.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[CollisionCallback](./server.collisioncallback.md)
</td><td>
A callback function that is called when a collision occurs.
</td></tr>
<tr><td>
[CollisionGroups](./server.collisiongroups.md)
</td><td>
A set of collision groups.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[CommandCallback](./server.commandcallback.md)
</td><td>
A callback function for a chat command.
</td></tr>
<tr><td>
[ContactForceData](./server.contactforcedata.md)
</td><td>
Data for contact forces.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[ContactManifold](./server.contactmanifold.md)
</td><td>
A contact manifold.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[DecodedCollisionGroups](./server.decodedcollisiongroups.md)
</td><td>
A decoded set of collision groups represented as their string equivalents.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[DefaultPlayerEntityOptions](./server.defaultplayerentityoptions.md)
</td><td>
Options for creating a DefaultPlayerEntity instance.
Use for: customizing the default player avatar (for example cosmetic visibility). Do NOT use for: changing movement behavior; use `DefaultPlayerEntityControllerOptions`<!-- -->.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[EntityOptions](./server.entityoptions.md)
</td><td>
The options for creating an `Entity` instance.
Use for: constructing an entity; choose `BlockEntityOptions` or `ModelEntityOptions`<!-- -->. Do NOT use for: mutating entity state after spawn; use entity setters and methods.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[FaceCallback](./server.facecallback.md)
</td><td>
Callback invoked as the entity rotates toward a target.
</td></tr>
<tr><td>
[FaceCompleteCallback](./server.facecompletecallback.md)
</td><td>
Callback invoked when the entity finishes rotating to face a target.
</td></tr>
<tr><td>
[FaceOptions](./server.faceoptions.md)
</td><td>
Options for `SimpleEntityController.face`<!-- -->.
Use for: customizing a single `face()` call (callbacks, completion). Do NOT use for: persistent defaults; use `SimpleEntityControllerOptions`<!-- -->.
\*\*Category:\*\* Controllers
</td></tr>
<tr><td>
[FilterOptions](./server.filteroptions.md)
</td><td>
Filter options for raycasting and intersection queries.
Use for: scoping physics queries to specific colliders or groups. Do NOT use for: persistent collision configuration; use `CollisionGroupsBuilder`<!-- -->.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[IntersectionResult](./server.intersectionresult.md)
</td><td>
An intersection result.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[ModelBoundingBox](./server.modelboundingbox.md)
</td><td>
A bounding box for a model.
\*\*Category:\*\* Models
</td></tr>
<tr><td>
[ModelTrimesh](./server.modeltrimesh.md)
</td><td>
A trimesh for a model.
\*\*Category:\*\* Models
</td></tr>
<tr><td>
[MoveCallback](./server.movecallback.md)
</td><td>
Callback invoked as the entity moves toward a target coordinate.
</td></tr>
<tr><td>
[MoveCompleteCallback](./server.movecompletecallback.md)
</td><td>
Callback invoked when the entity reaches the target coordinate.
</td></tr>
<tr><td>
[MoveOptions](./server.moveoptions.md)
</td><td>
Options for `SimpleEntityController.move`<!-- -->.
Use for: customizing a single `move()` call. Do NOT use for: persistent defaults; use `SimpleEntityControllerOptions`<!-- -->.
\*\*Category:\*\* Controllers
</td></tr>
<tr><td>
[ParticleEmitterOrientation](./server.particleemitterorientation.md)
</td><td>
The orientation mode for particles.
\*\*Category:\*\* Particles
</td></tr>
<tr><td>
[PathfindAbortCallback](./server.pathfindabortcallback.md)
</td><td>
Callback invoked when pathfinding aborts.
\*\*Category:\*\* Controllers
</td></tr>
<tr><td>
[PathfindCompleteCallback](./server.pathfindcompletecallback.md)
</td><td>
Callback invoked when pathfinding completes and the entity reaches the target.
\*\*Category:\*\* Controllers
</td></tr>
<tr><td>
[PathfindingOptions](./server.pathfindingoptions.md)
</td><td>
Options for `PathfindingEntityController.pathfind`<!-- -->.
Use for: configuring a single pathfinding request. Do NOT use for: per-tick recalculation; call `pathfind` sparingly.
\*\*Category:\*\* Controllers
</td></tr>
<tr><td>
[PlayerCameraOrientation](./server.playercameraorientation.md)
</td><td>
The camera orientation state of a Player.
\*\*Category:\*\* Players
</td></tr>
<tr><td>
[PlayerCosmetics](./server.playercosmetics.md)
</td><td>
The cosmetics of a player.
\*\*Category:\*\* Networking
</td></tr>
<tr><td>
[PlayerCosmeticsEquippedItem](./server.playercosmeticsequippeditem.md)
</td><td>
An equipped item of a player's cosmetics.
\*\*Category:\*\* Networking
</td></tr>
<tr><td>
[PlayerCosmeticSlot](./server.playercosmeticslot.md)
</td><td>
The slots used for player cosmetics.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[PlayerEntityOptions](./server.playerentityoptions.md)
</td><td>
Options for creating a PlayerEntity instance.
Use for: creating a player-bound entity (requires `player`<!-- -->). Do NOT use for: non-player entities; use `EntityOptions`<!-- -->.
\*\*Category:\*\* Entities
</td></tr>
<tr><td>
[PlayerInput](./server.playerinput.md)
</td><td>
The input state of a `Player`<!-- -->.
\*\*Category:\*\* Players
</td></tr>
<tr><td>
[RawCollider](./server.rawcollider.md)
</td><td>
A raw collider object from the Rapier physics engine.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[RawCollisionGroups](./server.rawcollisiongroups.md)
</td><td>
A raw set of collision groups represented as a 32-bit number.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[RawShape](./server.rawshape.md)
</td><td>
A raw shape object from the Rapier physics engine.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[RaycastHit](./server.raycasthit.md)
</td><td>
A hit result from a raycast.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[RaycastOptions](./server.raycastoptions.md)
</td><td>
Options for raycasting.
Use for: configuring `Simulation.raycast` calls. Do NOT use for: caching long-term query state; build per query.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[RigidBodyAdditionalMassProperties](./server.rigidbodyadditionalmassproperties.md)
</td><td>
Additional mass properties for a RigidBody.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[RigidBodyOptions](./server.rigidbodyoptions.md)
</td><td>
The options for a rigid body.
Use for: constructing rigid bodies; choose an option type matching `RigidBodyType`<!-- -->. Do NOT use for: runtime changes; use `RigidBody` methods instead.
\*\*Category:\*\* Physics
</td></tr>
<tr><td>
[TelemetrySpanOptions](./server.telemetryspanoptions.md)
</td><td>
Options for creating a telemetry span.
Use for: configuring `Telemetry.startSpan` calls. Do NOT use for: long-lived spans; keep spans short and scoped to a task.
\*\*Category:\*\* Telemetry
</td></tr>
<tr><td>
[WaypointMoveCompleteCallback](./server.waypointmovecompletecallback.md)
</td><td>
Callback invoked when the entity finishes moving to a waypoint.
</td></tr>
<tr><td>
[WaypointMoveSkippedCallback](./server.waypointmoveskippedcallback.md)
</td><td>
Callback invoked when a waypoint is skipped due to timeout.
</td></tr>
</tbody></table>