1.0.2 • Published 4 months ago

websocket-game-lobby-client v1.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
4 months ago

websocket-game-lobby-client

🔧 Simple API for building games using WebSockets.

NPM Version

Install

$ npm install websocket-game-lobby-client

Example

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'));

API

WebSocketGameLobbyClient

const gameLobby = new WebSocketGameLobbyClient({
    port = 80,
    options = {maxRetries: 10},
    gameId = null,
    gameCode = null,
    playerId = null,
    keepAliveMilliseconds = 3000
});

Options

NameDescriptionDefault
portPort to connect to WebSocket server.80
optionsOptions to send to reconnecting-websocket{maxRetries: 10}
gameIdGame ID used to connect to the websocket-game-lobby server.null
gameCodeGame Code used to connect to the websocket-game-lobby server.null
playerIdPlayer ID used to connect to websocket-game-lobby server.null
keepAliveMillisecondsInterval at which to ping the websocket-game-lobby server.30000

WebSocketGameLobbyClient.addEventListener(type, callback)

Type

NameDescriptionParameters
openWhen a WebSocket connection is established.(event)
messageWhen a message is received.({data, ...event})
closeWhen a WebSocket connection is lost.(event)

Examples

gameLobby.addEventListener('open', () => {
    console.log('connected');
});
gameLobby.addEventListener('message', ({ data }) => {
    console.log(JSON.parse(data));
});
gameLobby.addEventListener('close', () => {
    console.log('disconnected');
});

WebSocketGameLobbyClient.send(type, data)

Type

NameDescription
createCreate a new game.
joinJoin existing game with game code.
leaveLeave current game.
startStart current game.
endEnd current game.

Examples

gameLobby.send('create');
gameLobby.send('join', { gameCode: 'ABCD' });
gameLobby.send('leave');
gameLobby.send('start');
gameLobby.send('end');