csterm-server 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,54 @@
1
+ import { RoomConfig, GamePhase, TeamId, BotDifficulty, ClientMessage, ServerMessage } from './protocol.js';
2
+ import { ServerConfig, ServerGameState, MapData } from './types.js';
3
+ export declare class GameRunner {
4
+ private state;
5
+ private mapData;
6
+ private roomConfig;
7
+ private serverConfig;
8
+ private broadcast;
9
+ private sendToClient;
10
+ private gameLoopInterval;
11
+ private broadcastInterval;
12
+ private lastTickTime;
13
+ private tickDeltaMs;
14
+ private broadcastDeltaMs;
15
+ private usedSpawns;
16
+ constructor(state: ServerGameState, mapData: MapData, roomConfig: RoomConfig, serverConfig: ServerConfig, broadcast: (msg: ServerMessage) => void, sendToClient: (clientId: string, msg: ServerMessage) => void);
17
+ start(): void;
18
+ stop(): void;
19
+ getPhase(): GamePhase;
20
+ addPlayer(clientId: string, name: string, team: TeamId): void;
21
+ removePlayer(clientId: string): void;
22
+ addBot(name: string, team: TeamId, difficulty: BotDifficulty): void;
23
+ handleInput(clientId: string, message: ClientMessage): void;
24
+ private processPlayerInput;
25
+ private processPlayerFire;
26
+ private processPlayerReload;
27
+ private processPlayerBuy;
28
+ private processPlayerDrop;
29
+ private processPlayerPickup;
30
+ private tick;
31
+ private updatePhase;
32
+ private startRound;
33
+ private endRound;
34
+ private checkRoundEnd;
35
+ private getTimeoutWinner;
36
+ private respawnPlayer;
37
+ private respawnBot;
38
+ private updatePlayer;
39
+ private updateBot;
40
+ private findBotTarget;
41
+ private botFire;
42
+ private updateReloads;
43
+ private performHitDetection;
44
+ private checkRayHit;
45
+ private damagePlayer;
46
+ private damageBot;
47
+ private broadcastState;
48
+ private createSnapshot;
49
+ private broadcastPhaseChange;
50
+ private getSpawnPoint;
51
+ private getAimDirection;
52
+ private getWeaponSlot;
53
+ private checkCollision;
54
+ }