const express = require('express'); const app = express(); const http = require('http').createServer(app); const io = require('socket.io')(http, {cors:{origin:'*'}}); app.use(express.static('public')); const players = {}; io.on('connection', (socket) => { console.log('conn', socket.id); players[socket.id] = { id: socket.id, x:0, y:0, z:0, rotY:0 }; socket.emit('init', { id: socket.id, players }); socket.broadcast.emit('playerJoined', players[socket.id]); socket.on('update', (data) => { if (players[socket.id]) { players[socket.id].x = data.x; players[socket.id].y = data.y; players[socket.id].z = data.z; players[socket.id].rotY = data.rotY; socket.broadcast.emit('playerUpdate', players[socket.id]); } }); socket.on('disconnect', () => { console.log('disc', socket.id); delete players[socket.id]; socket.broadcast.emit('playerLeft', socket.id); }); }); const PORT = process.env.PORT || 3000; http.listen(PORT, () => console.log('Server running on', PORT));