Multiplayer & Networking
HELIX's own real-time networking for web worlds — events, instances, and the hybrid server-authoritative model. Web-runtime only.
Web-only
This networking stack is part of the Web runtime. Native (Unreal) worlds use the engine's own dedicated-server networking — see Native networking. The Platform API (auth, LIX, storage, inventory) is shared; this page is not.
HELIX ships its own real-time layer — built on Colyseus — so you never touch a raw socket or a
room API directly. You work with Instances, Events, and the
HelixInstance server class. The transport is an implementation detail: the
public vocabulary stays World / Build / Instance / Player / Event, and you import @helix/sdk /
@helix/server-sdk rather than colyseus directly.
Instances
A player joins an Instance — a running session of your Build. Default capacity is 32 players (higher with review).
Prop
Type
Events
Networking is message-based. Events flow client→server, server→client, and server→all.
Prop
Type
Client
// listen
Helix.network.on('wave', ({ from }) => showWave(from));
// send
Helix.network.send('wave', {});
// request/response
const { rank } = await Helix.network.request('get-rank', { boardId: 'arena' });Server
import { HelixInstance } from '@helix/server-sdk';
export default class Arena extends HelixInstance {
async onEvent(player, event, payload) {
if (event === 'wave') {
this.broadcast('wave', { from: player.id }); // relay to everyone
}
}
}The networking model
HELIX web multiplayer is a hybrid social model:
- Movement is client-authoritative and server-relayed (default transform & broadcast ~10 Hz, 100–200 ms interpolation) — smooth, cheap, good enough for social worlds.
- Value (wallet, inventory, rewards, moderation, membership) is server-owned. The server never trusts client events for these.
Never trust client events for value
Movement and cosmetic events can come from the client. Anything that grants currency, items, or
rewards must be decided by your HelixInstance server code. This mirrors the
item execution tiers.
A future authoritative mode (higher tick, fully server-owned state) is planned for competitive/ranked worlds.
The realtime envelope
Every message on the wire is a typed envelope — useful when debugging:
{
id: string;
type: 'event' | 'request' | 'response' | 'error' | 'system';
event: string;
payload: unknown;
requestId?: string;
senderId?: string;
timestamp: number;
}Reference
Web SDK
The canonical TypeScript runtime for HELIX. Build instantly-playable multiplayer worlds for the web — and define the contract every other runtime mirrors.
Reference (Web SDK)
The auto-generated API reference for @helix/sdk. This page is generated from the SDK's TypeScript source on every merge.