mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-23 15:36:51 +00:00
a4fffce7f3
## Description: Disconnected client detection : If a client haven't send a ping to the server since more than 30 seconds They will then be marked disconnected with a dedicated icon. No action are yet taken, this allows for extensive in-game test before adding the *consequences* of the player leaving the game. I also added extensive unit tests, lessening the risk of regression for the future.  ## Please complete the following: - [x] I have added screenshots for all UI updates - [x] I process any text displayed to the user through translateText() and I've added it to the en.json file - [x] I have added relevant tests to the test directory - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced - [x] I understand that submitting code with bugs that could have been caught through manual testing blocks releases and new features for all contributors ## Please put your Discord username so you can be contacted if a bug or regression is found: theodoreleon.aetarax --------- Co-authored-by: evanpelle <evanpelle@gmail.com>
23 lines
675 B
TypeScript
23 lines
675 B
TypeScript
import WebSocket from "ws";
|
|
import { TokenPayload } from "../core/ApiSchemas";
|
|
import { Tick } from "../core/game/Game";
|
|
import { ClientID } from "../core/Schemas";
|
|
|
|
export class Client {
|
|
public lastPing: number = Date.now();
|
|
public isDisconnected: boolean = false;
|
|
|
|
public hashes: Map<Tick, number> = new Map();
|
|
|
|
constructor(
|
|
public readonly clientID: ClientID,
|
|
public readonly persistentID: string,
|
|
public readonly claims: TokenPayload | null,
|
|
public readonly roles: string[] | undefined,
|
|
public readonly ip: string,
|
|
public readonly username: string,
|
|
public readonly ws: WebSocket,
|
|
public readonly flag: string | undefined,
|
|
) {}
|
|
}
|