diff --git a/server/routes/games.js b/server/routes/games.js index f9797ff..287d079 100755 --- a/server/routes/games.js +++ b/server/routes/games.js @@ -2498,19 +2498,19 @@ const ping = (session) => { session.keepAlive = setTimeout(() => { ping(session); }, 2500); } -router.ws("/ws/:id", (ws, req) => { +router.ws("/ws/:id", async (ws, req) => { const { id } = req.params; console.log(`WebSocket connect from game ${id}`); - let game; - if (!(id in games)) { - game = createGame(id); - } else { - game = games[id]; + const game = await loadGame(id); + if (!game) { + console.error(`Unable to load/create new game for WS request.`); + return; } const session = getSession(game, req.session); + if (session) { console.log(`WebSocket connected for ${session.name ? session.name : "Unnamed"}`); session.ws = ws;