To do this, we have to set the player's active bit to true, then we
increment the server's count of active players, and finally we
broadcast to all active players that this player has entered the game
again.
This commit fixes the bug described in the previous commit, (so that
the entire test suite passes once again).
const existing = this.players_by_session[session.id];
if (existing) {
existing.add_connection(connection);
const existing = this.players_by_session[session.id];
if (existing) {
existing.add_connection(connection);
+ if (! existing.active) {
+ /* If we're re-activating a previously idled player, then we
+ * need to alert everyone that this player is now back.
+ */
+ existing.active = true;
+ this.active_players++;
+ const player_data = JSON.stringify({ id: existing.id, name: existing.name });
+ this.broadcast_event("player-enter", player_data);
+ }