diff --git a/src/client/ClientGameRunner.ts b/src/client/ClientGameRunner.ts index 6c2b5fcff..df11c56c8 100644 --- a/src/client/ClientGameRunner.ts +++ b/src/client/ClientGameRunner.ts @@ -201,7 +201,6 @@ export class ClientGameRunner { } const players: PlayerRecord[] = [ { - playerID: this.myPlayer.id(), persistentID: getPersistentID(), username: this.lobby.playerName, clientID: this.lobby.clientID, diff --git a/src/client/LocalServer.ts b/src/client/LocalServer.ts index 312395a24..0c7e9719f 100644 --- a/src/client/LocalServer.ts +++ b/src/client/LocalServer.ts @@ -176,7 +176,6 @@ export class LocalServer { } const players: PlayerRecord[] = [ { - playerID: this.lobbyConfig.clientID, // hack? persistentID: getPersistentID(), username: this.lobbyConfig.playerName, clientID: this.lobbyConfig.clientID, diff --git a/src/client/SinglePlayerModal.ts b/src/client/SinglePlayerModal.ts index c93c1a363..09a6d4334 100644 --- a/src/client/SinglePlayerModal.ts +++ b/src/client/SinglePlayerModal.ts @@ -435,7 +435,6 @@ export class SinglePlayerModal extends LitElement { gameID: gameID, players: [ { - playerID: generateID(), clientID, username: usernameInput.getCurrentUsername(), flag: diff --git a/src/core/GameRunner.ts b/src/core/GameRunner.ts index 72d7b2541..bd7e5519f 100644 --- a/src/core/GameRunner.ts +++ b/src/core/GameRunner.ts @@ -48,7 +48,7 @@ export async function createGameRunner( : fixProfaneUsername(sanitize(p.username)), PlayerType.Human, p.clientID, - p.playerID, + random.nextID(), ), ); diff --git a/src/core/Schemas.ts b/src/core/Schemas.ts index 0b6a6bd4a..fb67b0bad 100644 --- a/src/core/Schemas.ts +++ b/src/core/Schemas.ts @@ -338,7 +338,6 @@ export const ServerPrestartMessageSchema = ServerBaseMessageSchema.extend({ }); export const PlayerSchema = z.object({ - playerID: ID, clientID: ID, username: SafeString, flag: SafeString.optional(), diff --git a/src/server/Archive.ts b/src/server/Archive.ts index 93053b250..75c3d1614 100644 --- a/src/server/Archive.ts +++ b/src/server/Archive.ts @@ -78,18 +78,17 @@ async function archiveAnalyticsToR2(gameRecord: GameRecord) { async function archiveFullGameToR2(gameRecord: GameRecord) { // Create a deep copy to avoid modifying the original - const recordCopy = JSON.parse(JSON.stringify(gameRecord)); + const recordCopy: GameRecord = JSON.parse(JSON.stringify(gameRecord)); // Players may see this so make sure to clear PII recordCopy.info.players.forEach((p) => { - p.ip = "REDACTED"; p.persistentID = "REDACTED"; }); try { await r2.putObject({ Bucket: bucket, - Key: `${gameFolder}/${recordCopy.id}`, + Key: `${gameFolder}/${recordCopy.info.gameID}`, Body: JSON.stringify(recordCopy), ContentType: "application/json", }); diff --git a/src/server/Client.ts b/src/server/Client.ts index d5fc46e04..216150dbf 100644 --- a/src/server/Client.ts +++ b/src/server/Client.ts @@ -1,16 +1,13 @@ import WebSocket from "ws"; import { TokenPayload } from "../core/ApiSchemas"; -import { PlayerID, Tick } from "../core/game/Game"; +import { Tick } from "../core/game/Game"; import { ClientID } from "../core/Schemas"; -import { generateID } from "../core/Util"; export class Client { public lastPing: number; public hashes: Map = new Map(); - public readonly playerID: PlayerID = generateID(); - constructor( public readonly clientID: ClientID, public readonly persistentID: string, diff --git a/src/server/GameServer.ts b/src/server/GameServer.ts index 47a289b7a..caf67e0a1 100644 --- a/src/server/GameServer.ts +++ b/src/server/GameServer.ts @@ -300,7 +300,6 @@ export class GameServer { gameID: this.id, config: this.gameConfig, players: this.activeClients.map((c) => ({ - playerID: c.playerID, username: c.username, clientID: c.clientID, flag: c.flag, @@ -547,7 +546,6 @@ export class GameServer { this.log.warn(`Unable to find stats for clientID ${client.clientID}`); } return { - playerID: client.playerID, clientID: client.clientID, username: client.username, persistentID: client.persistentID,