schedule game duration based on time of day

This commit is contained in:
Evan
2025-03-01 11:52:45 -08:00
parent 6496c2b5b7
commit a3ae44ddb1
7 changed files with 70 additions and 33 deletions
+2 -2
View File
@@ -63,8 +63,8 @@ export function getServerConfig(): ServerConfig {
export interface ServerConfig {
turnIntervalMs(): number;
gameCreationRate(): number;
lobbyLifetime(): number;
gameCreationRate(highTraffic: boolean): number;
lobbyLifetime(highTraffic): number;
discordRedirectURI(): string;
numWorkers(): number;
workerIndex(gameID: GameID): number;
+8 -4
View File
@@ -30,11 +30,15 @@ export abstract class DefaultServerConfig implements ServerConfig {
turnIntervalMs(): number {
return 100;
}
gameCreationRate(): number {
return 30 * 1000;
gameCreationRate(highTraffic: boolean): number {
if (highTraffic) {
return 30 * 1000;
} else {
return 60 * 1000;
}
}
lobbyLifetime(): number {
return 1 * 60 * 1000;
lobbyLifetime(highTraffic: boolean): number {
return this.gameCreationRate(highTraffic) * 2;
}
workerIndex(gameID: GameID): number {
return simpleHash(gameID) % this.numWorkers();
+2 -6
View File
@@ -8,12 +8,8 @@ export class DevServerConfig extends DefaultServerConfig {
env(): GameEnv {
return GameEnv.Dev;
}
gameCreationRate(): number {
return 10 * 1000;
}
lobbyLifetime(): number {
return 10 * 1000;
gameCreationRate(highTraffic: boolean): number {
return 5 * 1000;
}
discordRedirectURI(): string {