cs-socket-relay-client
v0.1.4
Published
Libreria client per la gestione di lobby multiplayer tramite WebSocket. Permette a più client di connettersi a una stanza condivisa, gestire eventi di lobby (join, update lista giocatori, avvio gioco) e interagire con un server relay.
Downloads
18
Readme
cs-socket-relay-client
Libreria client per la gestione di lobby multiplayer tramite WebSocket. Permette a più client di connettersi a una stanza condivisa, gestire eventi di lobby (join, update lista giocatori, avvio gioco) e interagire con un server relay.
Installazione
npm install cs-socket-relay-clientOppure importa direttamente i file TypeScript nel tuo progetto.
Utilizzo base
import { startClient } from 'cs-socket-relay-client';
const ROOM_ID = 'DEV_ROOM';
const client = startClient({
singleton: false,
serverUrl: 'https://<your-socket-relay-server>',
roomId: ROOM_ID,
playerName: 'Alice',
debug: true,
lobbyHandlers: {
joinedRoom: (isHost, players) => {
console.log('joinedRoom', { isHost, players });
},
playerListUpdated: (players) => {
console.log('playerListUpdated', players);
},
gameStarted: () => {
console.log('gameStarted');
},
error: (msg) => console.error('[LobbyError]', msg),
},
});API: startClient(options)
| Opzione | Tipo | Descrizione |
| --------------- | --------- | -------------------------------------------------------------------- |
| singleton | boolean | Se true, impedisce più connessioni simultanee con lo stesso client |
| serverUrl | string | URL del server WebSocket |
| roomId | string | Identificativo univoco della stanza/lobby |
| playerName | string | Nome del giocatore |
| debug | boolean | Abilita log di debug |
| lobbyHandlers | object | Handlers per gli eventi principali della lobby |
Event Handlers disponibili:
joinedRoom(isHost: boolean, players: Player[])playerListUpdated(players: Player[])gameStarted()error(msg: string)
Esempio completo
Vedi il file test.ts per un esempio funzionante con due client (Alice e Bob) connessi alla stessa stanza.
License
MIT
