Expand description
§Horizon Network Common
Shared types and protocols for the Horizon ecosystem:
- Horizon - Game server instances (regions)
- Horizon-Atlas - Server meshing proxy and load balancer
- Horizon-Maestro - Container orchestration and deployment
This crate provides the common data structures and communication protocols that enable these three systems to work together for infinite world scaling.
§Architecture
┌─────────────────────────────────────────────────────────────────┐
│ Maestro │
│ (Container Orchestration) │
└─────────────────────────┬───────────────────────────────────────┘
│ SpawnServerRequest / SpawnServerResponse
▼
┌─────────────────────────────────────────────────────────────────┐
│ Atlas │
│ (Server Meshing Proxy + Player Routing) │
└────────┬────────────────┬───────────────────┬───────────────────┘
│ │ │
│ Registration │ Heartbeat │ Transfer
▼ ▼ ▼
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
│ Horizon │ │ Horizon │ │ Horizon │
│ Region(0,0,0) │ │ Region(1,0,0) │ │ Region(0,1,0) │
└────────────────┘ └────────────────┘ └────────────────┘Re-exports§
pub use spatial::WorldCoordinate;pub use spatial::RegionCoordinate;pub use spatial::RegionBounds;pub use server::ServerId;pub use server::ServerInfo;pub use server::ServerStatus;pub use server::ServerRegistration;pub use server::ServerHeartbeat;pub use server::RegistrationResponse;pub use server::SpawnServerRequest;pub use server::SpawnServerResponse;pub use player::PlayerId;pub use player::PlayerInfo;pub use player::PlayerState;pub use player::AuthenticationStatus;pub use player::ConnectionState;pub use player::MovementData;pub use player::DisconnectReason;pub use transfer::TransferToken;pub use transfer::TransferRequest;pub use transfer::TransferResult;pub use transfer::TransferReason;pub use transfer::TransferError;pub use transfer::TransferNotification;pub use health::HealthStatus;pub use health::HealthCheck;pub use health::HealthCheckRequest;pub use health::ComponentHealth;pub use health::ClusterHealth;pub use messages::HorizonMessage;pub use messages::AtlasMessage;pub use messages::AtlasToMaestroMessage;pub use messages::MaestroMessage;pub use messages::Envelope;pub use messages::Ack;
Modules§
- health
- Health check types for monitoring Horizon instances.
- messages
- Message types for inter-service communication.
- player
- Player-related types shared across the Horizon ecosystem.
- server
- Server registration and status types.
- spatial
- Spatial types for 3D world coordinates and region boundaries.
- transfer
- Player transfer types for seamless server-to-server migration.