1681-engine / index / RoomHost
Class: RoomHost<D, B> ​
Defined in: src/net/RoomHost.ts:44
Runs a Room for connected sockets: a socket says hello and joins, its input goes to the room, the room steps at stepRate, and every player gets its own snapshot at snapRate (binary when it carries bodies). Pings are answered with the server's time. A player who keeps sending nonsense is disconnected.
const host = new RoomHost(room);
wss.on('connection', (ws) => {
const id = host.connect(ws);
ws.on('message', (data, binary) => host.message(id, binary ? data : data.toString()));
ws.on('close', () => host.disconnect(id));
});
host.start();Type Parameters ​
| Type Parameter | Default type |
|---|---|
D | unknown |
B | unknown |
Constructors ​
Constructor ​
new RoomHost<D, B>(room, options?): RoomHost<D, B>;Defined in: src/net/RoomHost.ts:55
Parameters ​
| Parameter | Type |
|---|---|
room | Room<D, B> |
options | RoomHostOptions<D> |
Returns ​
RoomHost<D, B>
Properties ​
room ​
readonly room: Room<D, B>;Defined in: src/net/RoomHost.ts:56
Methods ​
connect() ​
connect(socket): number;Defined in: src/net/RoomHost.ts:65
A socket connected; returns the id its messages and its close are reported under.
Parameters ​
| Parameter | Type |
|---|---|
socket | HostSocket |
Returns ​
number
disconnect() ​
disconnect(id): void;Defined in: src/net/RoomHost.ts:114
Socket id closed.
Parameters ​
| Parameter | Type |
|---|---|
id | number |
Returns ​
void
message() ​
message(id, data): void;Defined in: src/net/RoomHost.ts:72
A message arrived from socket id (text as a string, binary as bytes).
Parameters ​
| Parameter | Type |
|---|---|
id | number |
data | string | ArrayBuffer | Uint8Array<ArrayBufferLike> |
Returns ​
void
rewindTime() ​
rewindTime(claimed): number;Defined in: src/net/RoomHost.ts:169
The server time a client's claimed view time (InterpolationBuffer.viewTime, sent with a shot) is judged at: kept within the room's rewindMs of now, so no claim reaches further back. now with no history kept.
Parameters ​
| Parameter | Type |
|---|---|
claimed | unknown |
Returns ​
number
sendTo() ​
sendTo(id, msg): void;Defined in: src/net/RoomHost.ts:123
Sends one of the game's own messages to a player.
Parameters ​
| Parameter | Type |
|---|---|
id | number |
msg | | ServerMessage | { [k: string]: unknown; t: string; } |
Returns ​
void
start() ​
start(): void;Defined in: src/net/RoomHost.ts:131
Starts stepping on a timer. Steps are counted by the clock, so a late timer runs the steps it owes.
Returns ​
void
stepOnce() ​
stepOnce(): void;Defined in: src/net/RoomHost.ts:153
One step, and the snapshots when they are due. Exposed for tests and for servers that drive their own loop.
Returns ​
void
stop() ​
stop(): void;Defined in: src/net/RoomHost.ts:147
Returns ​
void