Improve netcode and simplify (#4)
All checks were successful
Build & deploy / Build & deploy website (push) Successful in 32s
Build & deploy / Build & publish server image (push) Successful in 1m2s

- Simplify the logic wherever possible to remove overengineering and simplify the netcode
- Actually improve the netcode
- The new lines are mainly the package locks and tests

Reviewed-on: https://home.schmelczer.dev/git/andras/decla-red/pulls/4
This commit is contained in:
Andras Schmelczer 2026-09-15 07:57:57 +01:00
commit 93a7fe01ab
4 changed files with 15073 additions and 4754 deletions

View file

@ -0,0 +1,18 @@
export type Id = number;
let currentId = 0;
export const id = (): Id => currentId++;
export interface PlayerInformation {
name: string;
reconnectToken?: string;
}
export interface ServerInformation {
playerLimit: number;
playerCount: number;
serverName: string;
gameStatePercent: number;
}
export const serverInformationEndpoint = '/state';

View file

@ -1,7 +0,0 @@
export type Id = number | null;
let currentId = 0;
export const id = (): number => {
return currentId++;
};

View file

@ -1,3 +0,0 @@
export interface PlayerInformation {
name: string;
}

View file

@ -6,4 +6,13 @@ export enum TransportEvents {
ServerInfoUpdate = 'ServerInfoUpdate',
Ping = 'Ping',
Pong = 'Pong',
PlayerJoined = 'PlayerJoined',
JoinRejected = 'JoinRejected',
}
export enum JoinRejectionReason {
ServerFull = 'ServerFull',
RoundEnding = 'RoundEnding',
AlreadyJoined = 'AlreadyJoined',
InvalidRequest = 'InvalidRequest',
}