const WebSocket = require('ws'); const Player = require('./player'); const Room = require('./room'); var lobby = new Room("Lobby"); var playersBySocket = {}; const ws = new WebSocket.Server({port: 9997}); ws.on('listening', function() { console.log('Listening!'); }); ws.on('connection', function(conn) { console.log('Connection!'); conn.on('message', function(message) { if (playersBySocket[conn] !== undefined) { var p = playersBySocket[conn]; if (p.room != null) { p.room.playerMessage(p, message); } } console.log('Message: ' + message); } ); conn.on('close', function(code, reason) { console.log('Socket closed: ' . reason); if (playersBySocket[conn] !== undefined) { const p = playersBySocket[conn]; delete playersBySocket[conn]; p.room.removePlayer(p); } } ); var p = new Player(conn); playersBySocket[conn] = p; p.sendMessage("connected", {player_id:p.id}); lobby.addPlayer(p); } ); ws.on('error', function(err) { console.log('Error: ' + err); } );