Room Module
Diarkis Room is a server-mediated communication module that establishes a shared logical space for multiple clients to exchange packets and synchronize state data in real time. It supports low-latency
Last updated
Was this helpful?
Diarkis Room is a server-mediated communication module that establishes a shared logical space for multiple clients to exchange packets and synchronize state data in real time. It supports low-latency
Last updated
Was this helpful?
The Diarkis Room module provides a server-relay-based digital environment designed for packet exchange between multiple remote clients, supporting high-performance, low-latency communication for real-time, fast-paced applications such as multiplayer games.
Each Diarkis server instance can manage multiple concurrently active rooms, with each room individually configurable to define participation limits and behavioral parameters. Rooms serve as isolated communication spaces, enabling efficient routing and encapsulation of messages between participants.
In addition to its core relay functionality, Diarkis Room also acts as a (Traversal Using Relays around NAT) server, providing fallback routing support for Diarkis P2P connections in environments where direct peer-to-peer communication is restricted by NAT or firewall constraints.
For configuration options, implementation guidance, and supported message operations, consult the .
Diarkis Room is a core module within the Diarkis middleware suite that establishes a server-managed communication environment (or "room") where multiple remote clients can exchange packets in real time. Designed for latency-sensitive, stateful applications such as online multiplayer games and distributed simulations, Room provides a structured server-relay system that manages client presence, message delivery, and object synchronization within a defined scope.
Usage Context:
Diarkis Room is ideal for scenarios requiring reliable server-mediated state synchronization, such as:
Real-time multiplayer game sessions
Tactical simulation exercises
Interactive training environments
Synchronized control interfaces
For detailed integration instructions and operational parameters, refer to the Diarkis Server SDK and API Documentation.
Key Capabilities:
Multi-User Room Architecture: A single Diarkis server can host multiple concurrent rooms, each functioning as an isolated logical namespace. Each room can be configured to limit maximum participant count, message size, and object interaction rules.
Packet Routing via Server Relay: All communications within a room are relayed through the Diarkis server, enabling consistent message delivery, ordering, and state integrity across clients, regardless of their physical location or network condition.
Entity and Object Management: Room supports the creation, updating, and deletion of shared objects (e.g., avatars, units, game state entities). These objects can be synced across all room participants via efficient delta broadcasting or full state refreshes.
Unicast, Multicast, and Broadcast Messaging: Clients within a room can send messages directly (unicast), to selected peers (multicast), or to all other participants (broadcast), with routing handled by the server for consistency and bandwidth optimization.
TURN Functionality for Diarkis P2P Fallback: Diarkis Room also serves as a TURN relay endpoint for Diarkis P2P connections, providing a fallback path for NAT traversal in cases where peer-to-peer sessions cannot be established directly due to network restrictions.
The diagram below illustrates the packet exchange mechanisms within the Diarkis Room module.
Diarkis Room supports two primary communication methods between connected clients:
Broadcast: A broadcast transmits a message from one client to all other participants within the room. This is typically used for state updates, global events, or synchronization signals that must be received by every client in the session.
Targeted Message (Multicast/Unicast): A message can be directed to one or more specific clients within the room. This enables selective communication—such as private actions, team coordination, or scoped interactions—while minimizing unnecessary network load.
Both methods leverage the server-relay architecture of Diarkis Room to ensure reliable, ordered delivery and consistent communication across distributed clients.
Diarkis Room includes built-in support for object-based state synchronization among connected members. Room objects are dynamically created, updated, and deleted by clients within the room, with all changes automatically propagated to other members in real time via the Diarkis server-relay architecture.
Each object instance maintains a unique identifier and associated property set, allowing clients to modify object state (e.g., position, status, metadata) through defined operations. Diarkis ensures low-latency, consistent replication of these updates across all participants, enabling synchronized gameplay or interaction logic without manual polling or custom messaging protocols.
This model is ideal for applications requiring shared real-time entities, such as avatars in a multiplayer game, interactive devices in a simulation, or synchronized UI elements in collaborative environments.