🔧 Simple API for building games using WebSockets.
$ npm install websocket-game-lobby-client
import { WebSocketGameLobbyClient } from 'websocket-game-lobby-client';
const gameLobby = new WebSocketGameLobbyClient();
gameLobby.addEventListener('message', ({ data }) => {
console.log(JSON.parse(data));
});
document
.querySelector('button')
.addEventListener('click', () => gameLobby.send('create'));
const gameLobby = new WebSocketGameLobbyClient({
port = 80,
options = {maxRetries: 10},
gameId = null,
gameCode = null,
playerId = null,
keepAliveMilliseconds = 3000
});
Name | Description | Default |
---|---|---|
port |
Port to connect to WebSocket server. | 80 |
options |
Options to send to reconnecting-websocket | {maxRetries: 10} |
gameId |
Game ID used to connect to the websocket-game-lobby server. | null |
gameCode |
Game Code used to connect to the websocket-game-lobby server. | null |
playerId |
Player ID used to connect to websocket-game-lobby server. | null |
keepAliveMilliseconds |
Interval at which to ping the websocket-game-lobby server. | 30000 |
Name | Description | Parameters |
---|---|---|
open |
When a WebSocket connection is established. | (event) |
message |
When a message is received. | ({data, ...event}) |
close |
When a WebSocket connection is lost. | (event) |
gameLobby.addEventListener('open', () => {
console.log('connected');
});
gameLobby.addEventListener('message', ({ data }) => {
console.log(JSON.parse(data));
});
gameLobby.addEventListener('close', () => {
console.log('disconnected');
});
Name | Description |
---|---|
create |
Create a new game. |
join |
Join existing game with game code. |
leave |
Leave current game. |
start |
Start current game. |
end |
End current game. |
gameLobby.send('create');
gameLobby.send('join', { gameCode: 'ABCD' });
gameLobby.send('leave');
gameLobby.send('start');
gameLobby.send('end');