From b37b5874b68a7232b187be1f718a902d9f492d53 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Jakse?= Date: Sun, 12 Apr 2020 20:14:18 +0200 Subject: [PATCH] Give up on dates and sync, this is a cause of unstability --- trivabble-server.js | 87 +++++++++++++-------------------------------- trivabble.js | 9 ----- 2 files changed, 24 insertions(+), 72 deletions(-) diff --git a/trivabble-server.js b/trivabble-server.js index 61a4cf0..bad7298 100644 --- a/trivabble-server.js +++ b/trivabble-server.js @@ -109,7 +109,6 @@ const frValues = { const games = {}; -let dateNow = 0; let saveTimeout = null; let running = true; @@ -264,8 +263,7 @@ Game.prototype.setPlayerScore = function (player, score) { players: [{ player: player, score: score - }], - date: dateNow + }] } ); }; @@ -288,10 +286,7 @@ Game.prototype.playerJoined = function (playerName) { } } - this.pendingEvents.push({ - players: players, - date: dateNow - }); + this.pendingEvents.push({players: players}); }; Game.prototype.addListeningPlayer = function (playerName, responseAndIsES) { @@ -361,8 +356,7 @@ Game.prototype.bagPopLetter = function (player) { this.pendingEvents.push({ player: player, action: "popBag", - remainingLetters: this.remainingLetters, - date: dateNow + remainingLetters: this.remainingLetters }); return letter; @@ -377,15 +371,12 @@ Game.prototype.getCell = function (index) { Game.prototype.setCell = function (index, letter, player) { this.board[index] = letter; - this.pendingEvents.push( - { - player:player, - action:"setCell", - indexTo:index, - letter:letter, - date: dateNow - } - ); + this.pendingEvents.push({ + player:player, + action:"setCell", + indexTo:index, + letter:letter + }); }; Game.prototype.bagPushLetter = function (letter, player) { @@ -400,14 +391,11 @@ Game.prototype.bagPushLetter = function (letter, player) { this.remainingLetters++; - this.pendingEvents.push( - { - player: player, - action: "pushBag", - remainingLetters: this.remainingLetters, - date: dateNow - } - ); + this.pendingEvents.push({ + player: player, + action: "pushBag", + remainingLetters: this.remainingLetters + }); } }; @@ -418,8 +406,7 @@ Game.prototype.reset = function (player) { action: "reset", board: this.board, remainingLetters: this.remainingLetters, - rack: [], - date: dateNow + rack: [] }); this.playerJoined(); @@ -478,6 +465,7 @@ function handleCommand(cmd, gameNumber, playerName, response) { let rack = null; switch (cmd.cmd) { + case "sync": // DEPRECATED. Here for old clients. case "joinGame": { response.write( JSON.stringify({ @@ -487,9 +475,7 @@ function handleCommand(cmd, gameNumber, playerName, response) { "rack": game.getPlayerRack(playerName), "board": game.board, "remainingLetters": game.remainingLetters, - "letterValues": frValues, - "date": dateNow, - "sync": false + "letterValues": frValues }) ); break; @@ -500,23 +486,6 @@ function handleCommand(cmd, gameNumber, playerName, response) { break; } - case "sync": { - response.write( - JSON.stringify({ - "error":0, - "gameNumber": gameNumber, - "playerName": playerName, - "rack": game.getPlayerRack(playerName), - "board": game.board, - "remainingLetters": game.remainingLetters, - "letterValues": frValues, - "date": dateNow, - "sync": true - }) - ); - break; - } - case "score": { game.setPlayerScore(cmd.player, cmd.score); response.write("{\"error\":0}"); @@ -602,8 +571,7 @@ function handleCommand(cmd, gameNumber, playerName, response) { from: cmd.from, to: cmd.to, indexFrom: typeof cmd.indexFrom === "number" ? cmd.indexFrom : -1, - remainingLetters: game.remainingLetters, - date: dateNow + remainingLetters: game.remainingLetters }) ); @@ -612,8 +580,7 @@ function handleCommand(cmd, gameNumber, playerName, response) { players: [{ player: playerName, rackCount: countTiles(rack) - }], - date: dateNow + }] }); } break; @@ -634,8 +601,7 @@ function handleCommand(cmd, gameNumber, playerName, response) { JSON.stringify({ error: 1, rack: rack, - reason: "the new rack doesn't contain the same number of letters", - date: dateNow + reason: "the new rack doesn't contain the same number of letters" }) ); break; @@ -653,8 +619,7 @@ function handleCommand(cmd, gameNumber, playerName, response) { JSON.stringify({ error: 1, rack: rack, - reason: "the new rack is not a permutation of the old rack", - date: dateNow + reason: "the new rack is not a permutation of the old rack" }) ); break; @@ -670,8 +635,7 @@ function handleCommand(cmd, gameNumber, playerName, response) { response.write( JSON.stringify({ error: 0, - rack: rack, - date: dateNow + rack: rack }) ); @@ -689,8 +653,7 @@ function handleCommand(cmd, gameNumber, playerName, response) { msg: { sender: playerName, content: cmd.msg - }, - date: dateNow + } }); response.write("{\"error\":0}"); break; @@ -714,8 +677,7 @@ function handleCommands(cmds, responseAndIsES) { "letterValues": game.letterValues, "rack": game.getPlayerRack(cmds.playerName), "board": game.board, - "remainingLetters": game.remainingLetters, - "date": dateNow + "remainingLetters": game.remainingLetters }) ); @@ -824,7 +786,6 @@ function handleRequest(request, response) { response.setHeader("Transfer-Encoding", "chunked"); } - dateNow = Date.now(); debuglog("RECEIVED", request.url, post, responseAndIsES[1]); try { diff --git a/trivabble.js b/trivabble.js index cdc5ab1..6bd9932 100644 --- a/trivabble.js +++ b/trivabble.js @@ -693,15 +693,6 @@ let tile; } } - if (data.date) { - if (!data.sync && lastDate && lastDate > data.date) { - setTimeout(sendCmds, 200, [{cmd:"sync"}]); - return; - } else { - lastDate = data.date; - } - } - if (data.playerName) { set("playerName", data.playerName); } -- 2.30.2