quake2ts 0.0.202 → 0.0.204
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.
- package/package.json +1 -1
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/game/dist/browser/index.global.js +2 -2
- package/packages/game/dist/browser/index.global.js.map +1 -1
- package/packages/game/dist/cjs/index.cjs +9 -1
- package/packages/game/dist/cjs/index.cjs.map +1 -1
- package/packages/game/dist/esm/index.js +9 -1
- package/packages/game/dist/esm/index.js.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/game/dist/types/entities/system.d.ts.map +1 -1
- package/packages/game/dist/types/imports.d.ts +1 -0
- package/packages/game/dist/types/imports.d.ts.map +1 -1
- package/packages/game/dist/types/index.d.ts +2 -0
- package/packages/game/dist/types/index.d.ts.map +1 -1
- package/packages/server/dist/index.cjs +158 -3
- package/packages/server/dist/index.d.cts +3 -0
- package/packages/server/dist/index.d.ts +3 -0
- package/packages/server/dist/index.js +158 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/entities/system.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/entities/system.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,5 +25,6 @@ export interface GameImports {
|
|
|
25
25
|
areaEdicts(mins: Vec3, maxs: Vec3): number[] | null;
|
|
26
26
|
multicast(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
|
|
27
27
|
unicast(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
|
|
28
|
+
configstring(index: number, value: string): void;
|
|
28
29
|
}
|
|
29
30
|
//# sourceMappingURL=imports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,WAAW,EAAE,MAAM,KAChB,eAAe,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC;AAE5D,oBAAY,aAAa;IACvB,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,IAAI;CACR;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC;IAErB,aAAa,EAAE,qBAAqB,CAAC;IAErC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpD,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,WAAW,EAAE,MAAM,KAChB,eAAe,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC;AAE5D,oBAAY,aAAa;IACvB,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,IAAI;CACR;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC;IAErB,aAAa,EAAE,qBAAqB,CAAC;IAErC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpD,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAEpF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD"}
|
|
@@ -22,6 +22,7 @@ export interface GameEngine {
|
|
|
22
22
|
modelIndex?(model: string): number;
|
|
23
23
|
multicast?(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
|
|
24
24
|
unicast?(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
|
|
25
|
+
configstring?(index: number, value: string): void;
|
|
25
26
|
}
|
|
26
27
|
export interface GameStateSnapshot {
|
|
27
28
|
readonly gravity: Vec3;
|
|
@@ -66,6 +67,7 @@ export interface GameExports extends GameSimulation<GameStateSnapshot> {
|
|
|
66
67
|
trace(start: Vec3, mins: Vec3 | null, maxs: Vec3 | null, end: Vec3, passent: Entity | null, contentmask: number): GameTraceResult;
|
|
67
68
|
multicast(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
|
|
68
69
|
unicast(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
|
|
70
|
+
configstring(index: number, value: string): void;
|
|
69
71
|
createSave(mapName: string, difficulty: number, playtimeSeconds: number): GameSaveFile;
|
|
70
72
|
loadSave(save: GameSaveFile): void;
|
|
71
73
|
clientBegin(client: PlayerClient): Entity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAiC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAI9B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,UAAU;IACvB,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC;IACvC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACnH,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1F,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -445,6 +445,110 @@ function writeDeltaEntity(from, to, writer, force, newEntity) {
|
|
|
445
445
|
if (bits & U_SOLID) writer.writeShort(to.solid);
|
|
446
446
|
}
|
|
447
447
|
|
|
448
|
+
// src/protocol/player.ts
|
|
449
|
+
var PS_M_TYPE = 1 << 0;
|
|
450
|
+
var PS_M_ORIGIN = 1 << 1;
|
|
451
|
+
var PS_M_VELOCITY = 1 << 2;
|
|
452
|
+
var PS_M_TIME = 1 << 3;
|
|
453
|
+
var PS_M_FLAGS = 1 << 4;
|
|
454
|
+
var PS_M_GRAVITY = 1 << 5;
|
|
455
|
+
var PS_M_DELTA_ANGLES = 1 << 6;
|
|
456
|
+
var PS_VIEWOFFSET = 1 << 7;
|
|
457
|
+
var PS_VIEWANGLES = 1 << 8;
|
|
458
|
+
var PS_KICKANGLES = 1 << 9;
|
|
459
|
+
var PS_BLEND = 1 << 10;
|
|
460
|
+
var PS_FOV = 1 << 11;
|
|
461
|
+
var PS_WEAPONINDEX = 1 << 12;
|
|
462
|
+
var PS_WEAPONFRAME = 1 << 13;
|
|
463
|
+
var PS_RDFLAGS = 1 << 14;
|
|
464
|
+
function writePlayerState(writer, ps) {
|
|
465
|
+
let mask = 0;
|
|
466
|
+
if (ps.pm_type !== 0) mask |= PS_M_TYPE;
|
|
467
|
+
if (ps.origin.x !== 0 || ps.origin.y !== 0 || ps.origin.z !== 0) mask |= PS_M_ORIGIN;
|
|
468
|
+
if (ps.velocity.x !== 0 || ps.velocity.y !== 0 || ps.velocity.z !== 0) mask |= PS_M_VELOCITY;
|
|
469
|
+
if (ps.pm_time !== 0) mask |= PS_M_TIME;
|
|
470
|
+
if (ps.pm_flags !== 0) mask |= PS_M_FLAGS;
|
|
471
|
+
if (ps.gravity !== 0) mask |= PS_M_GRAVITY;
|
|
472
|
+
if (ps.delta_angles.x !== 0 || ps.delta_angles.y !== 0 || ps.delta_angles.z !== 0) mask |= PS_M_DELTA_ANGLES;
|
|
473
|
+
if (ps.viewoffset.x !== 0 || ps.viewoffset.y !== 0 || ps.viewoffset.z !== 0) mask |= PS_VIEWOFFSET;
|
|
474
|
+
if (ps.viewangles.x !== 0 || ps.viewangles.y !== 0 || ps.viewangles.z !== 0) mask |= PS_VIEWANGLES;
|
|
475
|
+
if (ps.kick_angles.x !== 0 || ps.kick_angles.y !== 0 || ps.kick_angles.z !== 0) mask |= PS_KICKANGLES;
|
|
476
|
+
if (ps.gun_index !== 0) mask |= PS_WEAPONINDEX;
|
|
477
|
+
if (ps.gun_frame !== 0 || ps.gun_offset.x !== 0 || ps.gun_offset.y !== 0 || ps.gun_offset.z !== 0 || ps.gun_angles.x !== 0 || ps.gun_angles.y !== 0 || ps.gun_angles.z !== 0) {
|
|
478
|
+
mask |= PS_WEAPONFRAME;
|
|
479
|
+
}
|
|
480
|
+
if (ps.blend && (ps.blend[0] !== 0 || ps.blend[1] !== 0 || ps.blend[2] !== 0 || ps.blend[3] !== 0)) {
|
|
481
|
+
mask |= PS_BLEND;
|
|
482
|
+
}
|
|
483
|
+
if (ps.fov !== 0) mask |= PS_FOV;
|
|
484
|
+
if (ps.rdflags !== 0) mask |= PS_RDFLAGS;
|
|
485
|
+
let statsMask = 0;
|
|
486
|
+
for (let i = 0; i < 32; i++) {
|
|
487
|
+
if (ps.stats[i] && ps.stats[i] !== 0) {
|
|
488
|
+
statsMask |= 1 << i;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
writer.writeShort(mask);
|
|
492
|
+
if (mask & PS_M_TYPE) writer.writeByte(ps.pm_type);
|
|
493
|
+
if (mask & PS_M_ORIGIN) {
|
|
494
|
+
writer.writeShort(Math.round(ps.origin.x * 8));
|
|
495
|
+
writer.writeShort(Math.round(ps.origin.y * 8));
|
|
496
|
+
writer.writeShort(Math.round(ps.origin.z * 8));
|
|
497
|
+
}
|
|
498
|
+
if (mask & PS_M_VELOCITY) {
|
|
499
|
+
writer.writeShort(Math.round(ps.velocity.x * 8));
|
|
500
|
+
writer.writeShort(Math.round(ps.velocity.y * 8));
|
|
501
|
+
writer.writeShort(Math.round(ps.velocity.z * 8));
|
|
502
|
+
}
|
|
503
|
+
if (mask & PS_M_TIME) writer.writeByte(ps.pm_time);
|
|
504
|
+
if (mask & PS_M_FLAGS) writer.writeByte(ps.pm_flags);
|
|
505
|
+
if (mask & PS_M_GRAVITY) writer.writeShort(ps.gravity);
|
|
506
|
+
if (mask & PS_M_DELTA_ANGLES) {
|
|
507
|
+
writer.writeShort(Math.round(ps.delta_angles.x * (32768 / 180)));
|
|
508
|
+
writer.writeShort(Math.round(ps.delta_angles.y * (32768 / 180)));
|
|
509
|
+
writer.writeShort(Math.round(ps.delta_angles.z * (32768 / 180)));
|
|
510
|
+
}
|
|
511
|
+
if (mask & PS_VIEWOFFSET) {
|
|
512
|
+
writer.writeChar(Math.round(ps.viewoffset.x * 4));
|
|
513
|
+
writer.writeChar(Math.round(ps.viewoffset.y * 4));
|
|
514
|
+
writer.writeChar(Math.round(ps.viewoffset.z * 4));
|
|
515
|
+
}
|
|
516
|
+
if (mask & PS_VIEWANGLES) {
|
|
517
|
+
writer.writeAngle16(ps.viewangles.x);
|
|
518
|
+
writer.writeAngle16(ps.viewangles.y);
|
|
519
|
+
writer.writeAngle16(ps.viewangles.z);
|
|
520
|
+
}
|
|
521
|
+
if (mask & PS_KICKANGLES) {
|
|
522
|
+
writer.writeChar(Math.round(ps.kick_angles.x * 4));
|
|
523
|
+
writer.writeChar(Math.round(ps.kick_angles.y * 4));
|
|
524
|
+
writer.writeChar(Math.round(ps.kick_angles.z * 4));
|
|
525
|
+
}
|
|
526
|
+
if (mask & PS_WEAPONINDEX) writer.writeByte(ps.gun_index);
|
|
527
|
+
if (mask & PS_WEAPONFRAME) {
|
|
528
|
+
writer.writeByte(ps.gun_frame);
|
|
529
|
+
writer.writeChar(Math.round(ps.gun_offset.x * 4));
|
|
530
|
+
writer.writeChar(Math.round(ps.gun_offset.y * 4));
|
|
531
|
+
writer.writeChar(Math.round(ps.gun_offset.z * 4));
|
|
532
|
+
writer.writeChar(Math.round(ps.gun_angles.x * 4));
|
|
533
|
+
writer.writeChar(Math.round(ps.gun_angles.y * 4));
|
|
534
|
+
writer.writeChar(Math.round(ps.gun_angles.z * 4));
|
|
535
|
+
}
|
|
536
|
+
if (mask & PS_BLEND) {
|
|
537
|
+
writer.writeByte(Math.round(ps.blend[0]));
|
|
538
|
+
writer.writeByte(Math.round(ps.blend[1]));
|
|
539
|
+
writer.writeByte(Math.round(ps.blend[2]));
|
|
540
|
+
writer.writeByte(Math.round(ps.blend[3]));
|
|
541
|
+
}
|
|
542
|
+
if (mask & PS_FOV) writer.writeByte(ps.fov);
|
|
543
|
+
if (mask & PS_RDFLAGS) writer.writeByte(ps.rdflags);
|
|
544
|
+
writer.writeLong(statsMask);
|
|
545
|
+
for (let i = 0; i < 32; i++) {
|
|
546
|
+
if (statsMask & 1 << i) {
|
|
547
|
+
writer.writeShort(ps.stats[i]);
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
|
|
448
552
|
// src/dedicated.ts
|
|
449
553
|
var MAX_CLIENTS = 16;
|
|
450
554
|
var FRAME_RATE = 10;
|
|
@@ -576,7 +680,8 @@ var DedicatedServer = class {
|
|
|
576
680
|
return this.entityIndex.gatherTriggerTouches({ x: 0, y: 0, z: 0 }, mins, maxs, 4294967295);
|
|
577
681
|
},
|
|
578
682
|
multicast: (origin, type, event, ...args) => this.multicast(origin, type, event, ...args),
|
|
579
|
-
unicast: (ent, reliable, event, ...args) => this.unicast(ent, reliable, event, ...args)
|
|
683
|
+
unicast: (ent, reliable, event, ...args) => this.unicast(ent, reliable, event, ...args),
|
|
684
|
+
configstring: (index, value) => this.SV_SetConfigString(index, value)
|
|
580
685
|
};
|
|
581
686
|
this.game = (0, import_game.createGame)(imports, this, {
|
|
582
687
|
gravity: { x: 0, y: 0, z: -800 },
|
|
@@ -656,8 +761,30 @@ var DedicatedServer = class {
|
|
|
656
761
|
writer.writeString("baseq2");
|
|
657
762
|
writer.writeShort(client.index);
|
|
658
763
|
writer.writeString("maps/test.bsp");
|
|
764
|
+
for (let i = 0; i < import_shared3.MAX_CONFIGSTRINGS; i++) {
|
|
765
|
+
if (this.sv.configStrings[i]) {
|
|
766
|
+
this.SV_WriteConfigString(writer, i, this.sv.configStrings[i]);
|
|
767
|
+
}
|
|
768
|
+
}
|
|
659
769
|
client.net.send(writer.getData());
|
|
660
770
|
}
|
|
771
|
+
SV_SetConfigString(index, value) {
|
|
772
|
+
if (index < 0 || index >= import_shared3.MAX_CONFIGSTRINGS) return;
|
|
773
|
+
this.sv.configStrings[index] = value;
|
|
774
|
+
const writer = new import_shared3.BinaryWriter();
|
|
775
|
+
this.SV_WriteConfigString(writer, index, value);
|
|
776
|
+
const data = writer.getData();
|
|
777
|
+
for (const client of this.svs.clients) {
|
|
778
|
+
if (client && client.state >= 2 /* Connected */) {
|
|
779
|
+
client.net.send(data);
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
SV_WriteConfigString(writer, index, value) {
|
|
784
|
+
writer.writeByte(import_shared3.ServerCommand.configstring);
|
|
785
|
+
writer.writeShort(index);
|
|
786
|
+
writer.writeString(value);
|
|
787
|
+
}
|
|
661
788
|
SV_ReadPackets() {
|
|
662
789
|
for (const client of this.svs.clients) {
|
|
663
790
|
if (!client || client.state === 0 /* Free */) continue;
|
|
@@ -717,8 +844,33 @@ var DedicatedServer = class {
|
|
|
717
844
|
writer.writeByte(0);
|
|
718
845
|
writer.writeByte(0);
|
|
719
846
|
writer.writeByte(import_shared3.ServerCommand.playerinfo);
|
|
720
|
-
|
|
721
|
-
|
|
847
|
+
const ps = {
|
|
848
|
+
pm_type: snapshot.pmType,
|
|
849
|
+
origin: snapshot.origin,
|
|
850
|
+
velocity: snapshot.velocity,
|
|
851
|
+
pm_time: 0,
|
|
852
|
+
// Not explicitly in snapshot yet
|
|
853
|
+
pm_flags: snapshot.pmFlags,
|
|
854
|
+
gravity: Math.abs(snapshot.gravity.z),
|
|
855
|
+
// Usually only Z is relevant for gravity value
|
|
856
|
+
delta_angles: snapshot.deltaAngles,
|
|
857
|
+
viewoffset: { x: 0, y: 0, z: 22 },
|
|
858
|
+
// Default view offset if not in snapshot
|
|
859
|
+
viewangles: snapshot.viewangles,
|
|
860
|
+
kick_angles: snapshot.kick_angles,
|
|
861
|
+
gun_index: snapshot.gunindex,
|
|
862
|
+
gun_frame: 0,
|
|
863
|
+
// snapshot doesn't track gun frame yet?
|
|
864
|
+
gun_offset: snapshot.gunoffset,
|
|
865
|
+
gun_angles: snapshot.gunangles,
|
|
866
|
+
blend: snapshot.blend,
|
|
867
|
+
fov: 90,
|
|
868
|
+
// Default FOV
|
|
869
|
+
rdflags: 0,
|
|
870
|
+
// Not tracked
|
|
871
|
+
stats: snapshot.stats
|
|
872
|
+
};
|
|
873
|
+
writePlayerState(writer, ps);
|
|
722
874
|
writer.writeByte(import_shared3.ServerCommand.packetentities);
|
|
723
875
|
const entities = snapshot.packetEntities || [];
|
|
724
876
|
for (const entity of entities) {
|
|
@@ -739,6 +891,9 @@ var DedicatedServer = class {
|
|
|
739
891
|
if (client) {
|
|
740
892
|
}
|
|
741
893
|
}
|
|
894
|
+
configstring(index, value) {
|
|
895
|
+
this.SV_SetConfigString(index, value);
|
|
896
|
+
}
|
|
742
897
|
};
|
|
743
898
|
// Annotate the CommonJS export names for ESM import in node:
|
|
744
899
|
0 && (module.exports = {
|
|
@@ -36,6 +36,8 @@ declare class DedicatedServer implements GameEngine {
|
|
|
36
36
|
private handleStringCmd;
|
|
37
37
|
private spawnClient;
|
|
38
38
|
private sendServerData;
|
|
39
|
+
private SV_SetConfigString;
|
|
40
|
+
private SV_WriteConfigString;
|
|
39
41
|
private SV_ReadPackets;
|
|
40
42
|
private runFrame;
|
|
41
43
|
private SV_SendClientMessages;
|
|
@@ -43,6 +45,7 @@ declare class DedicatedServer implements GameEngine {
|
|
|
43
45
|
trace(start: any, end: any): any;
|
|
44
46
|
multicast(origin: any, type: MulticastType, event: ServerCommand, ...args: any[]): void;
|
|
45
47
|
unicast(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
|
|
48
|
+
configstring(index: number, value: string): void;
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
declare enum ClientState {
|
|
@@ -36,6 +36,8 @@ declare class DedicatedServer implements GameEngine {
|
|
|
36
36
|
private handleStringCmd;
|
|
37
37
|
private spawnClient;
|
|
38
38
|
private sendServerData;
|
|
39
|
+
private SV_SetConfigString;
|
|
40
|
+
private SV_WriteConfigString;
|
|
39
41
|
private SV_ReadPackets;
|
|
40
42
|
private runFrame;
|
|
41
43
|
private SV_SendClientMessages;
|
|
@@ -43,6 +45,7 @@ declare class DedicatedServer implements GameEngine {
|
|
|
43
45
|
trace(start: any, end: any): any;
|
|
44
46
|
multicast(origin: any, type: MulticastType, event: ServerCommand, ...args: any[]): void;
|
|
45
47
|
unicast(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
|
|
48
|
+
configstring(index: number, value: string): void;
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
declare enum ClientState {
|
|
@@ -405,6 +405,110 @@ function writeDeltaEntity(from, to, writer, force, newEntity) {
|
|
|
405
405
|
if (bits & U_SOLID) writer.writeShort(to.solid);
|
|
406
406
|
}
|
|
407
407
|
|
|
408
|
+
// src/protocol/player.ts
|
|
409
|
+
var PS_M_TYPE = 1 << 0;
|
|
410
|
+
var PS_M_ORIGIN = 1 << 1;
|
|
411
|
+
var PS_M_VELOCITY = 1 << 2;
|
|
412
|
+
var PS_M_TIME = 1 << 3;
|
|
413
|
+
var PS_M_FLAGS = 1 << 4;
|
|
414
|
+
var PS_M_GRAVITY = 1 << 5;
|
|
415
|
+
var PS_M_DELTA_ANGLES = 1 << 6;
|
|
416
|
+
var PS_VIEWOFFSET = 1 << 7;
|
|
417
|
+
var PS_VIEWANGLES = 1 << 8;
|
|
418
|
+
var PS_KICKANGLES = 1 << 9;
|
|
419
|
+
var PS_BLEND = 1 << 10;
|
|
420
|
+
var PS_FOV = 1 << 11;
|
|
421
|
+
var PS_WEAPONINDEX = 1 << 12;
|
|
422
|
+
var PS_WEAPONFRAME = 1 << 13;
|
|
423
|
+
var PS_RDFLAGS = 1 << 14;
|
|
424
|
+
function writePlayerState(writer, ps) {
|
|
425
|
+
let mask = 0;
|
|
426
|
+
if (ps.pm_type !== 0) mask |= PS_M_TYPE;
|
|
427
|
+
if (ps.origin.x !== 0 || ps.origin.y !== 0 || ps.origin.z !== 0) mask |= PS_M_ORIGIN;
|
|
428
|
+
if (ps.velocity.x !== 0 || ps.velocity.y !== 0 || ps.velocity.z !== 0) mask |= PS_M_VELOCITY;
|
|
429
|
+
if (ps.pm_time !== 0) mask |= PS_M_TIME;
|
|
430
|
+
if (ps.pm_flags !== 0) mask |= PS_M_FLAGS;
|
|
431
|
+
if (ps.gravity !== 0) mask |= PS_M_GRAVITY;
|
|
432
|
+
if (ps.delta_angles.x !== 0 || ps.delta_angles.y !== 0 || ps.delta_angles.z !== 0) mask |= PS_M_DELTA_ANGLES;
|
|
433
|
+
if (ps.viewoffset.x !== 0 || ps.viewoffset.y !== 0 || ps.viewoffset.z !== 0) mask |= PS_VIEWOFFSET;
|
|
434
|
+
if (ps.viewangles.x !== 0 || ps.viewangles.y !== 0 || ps.viewangles.z !== 0) mask |= PS_VIEWANGLES;
|
|
435
|
+
if (ps.kick_angles.x !== 0 || ps.kick_angles.y !== 0 || ps.kick_angles.z !== 0) mask |= PS_KICKANGLES;
|
|
436
|
+
if (ps.gun_index !== 0) mask |= PS_WEAPONINDEX;
|
|
437
|
+
if (ps.gun_frame !== 0 || ps.gun_offset.x !== 0 || ps.gun_offset.y !== 0 || ps.gun_offset.z !== 0 || ps.gun_angles.x !== 0 || ps.gun_angles.y !== 0 || ps.gun_angles.z !== 0) {
|
|
438
|
+
mask |= PS_WEAPONFRAME;
|
|
439
|
+
}
|
|
440
|
+
if (ps.blend && (ps.blend[0] !== 0 || ps.blend[1] !== 0 || ps.blend[2] !== 0 || ps.blend[3] !== 0)) {
|
|
441
|
+
mask |= PS_BLEND;
|
|
442
|
+
}
|
|
443
|
+
if (ps.fov !== 0) mask |= PS_FOV;
|
|
444
|
+
if (ps.rdflags !== 0) mask |= PS_RDFLAGS;
|
|
445
|
+
let statsMask = 0;
|
|
446
|
+
for (let i = 0; i < 32; i++) {
|
|
447
|
+
if (ps.stats[i] && ps.stats[i] !== 0) {
|
|
448
|
+
statsMask |= 1 << i;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
writer.writeShort(mask);
|
|
452
|
+
if (mask & PS_M_TYPE) writer.writeByte(ps.pm_type);
|
|
453
|
+
if (mask & PS_M_ORIGIN) {
|
|
454
|
+
writer.writeShort(Math.round(ps.origin.x * 8));
|
|
455
|
+
writer.writeShort(Math.round(ps.origin.y * 8));
|
|
456
|
+
writer.writeShort(Math.round(ps.origin.z * 8));
|
|
457
|
+
}
|
|
458
|
+
if (mask & PS_M_VELOCITY) {
|
|
459
|
+
writer.writeShort(Math.round(ps.velocity.x * 8));
|
|
460
|
+
writer.writeShort(Math.round(ps.velocity.y * 8));
|
|
461
|
+
writer.writeShort(Math.round(ps.velocity.z * 8));
|
|
462
|
+
}
|
|
463
|
+
if (mask & PS_M_TIME) writer.writeByte(ps.pm_time);
|
|
464
|
+
if (mask & PS_M_FLAGS) writer.writeByte(ps.pm_flags);
|
|
465
|
+
if (mask & PS_M_GRAVITY) writer.writeShort(ps.gravity);
|
|
466
|
+
if (mask & PS_M_DELTA_ANGLES) {
|
|
467
|
+
writer.writeShort(Math.round(ps.delta_angles.x * (32768 / 180)));
|
|
468
|
+
writer.writeShort(Math.round(ps.delta_angles.y * (32768 / 180)));
|
|
469
|
+
writer.writeShort(Math.round(ps.delta_angles.z * (32768 / 180)));
|
|
470
|
+
}
|
|
471
|
+
if (mask & PS_VIEWOFFSET) {
|
|
472
|
+
writer.writeChar(Math.round(ps.viewoffset.x * 4));
|
|
473
|
+
writer.writeChar(Math.round(ps.viewoffset.y * 4));
|
|
474
|
+
writer.writeChar(Math.round(ps.viewoffset.z * 4));
|
|
475
|
+
}
|
|
476
|
+
if (mask & PS_VIEWANGLES) {
|
|
477
|
+
writer.writeAngle16(ps.viewangles.x);
|
|
478
|
+
writer.writeAngle16(ps.viewangles.y);
|
|
479
|
+
writer.writeAngle16(ps.viewangles.z);
|
|
480
|
+
}
|
|
481
|
+
if (mask & PS_KICKANGLES) {
|
|
482
|
+
writer.writeChar(Math.round(ps.kick_angles.x * 4));
|
|
483
|
+
writer.writeChar(Math.round(ps.kick_angles.y * 4));
|
|
484
|
+
writer.writeChar(Math.round(ps.kick_angles.z * 4));
|
|
485
|
+
}
|
|
486
|
+
if (mask & PS_WEAPONINDEX) writer.writeByte(ps.gun_index);
|
|
487
|
+
if (mask & PS_WEAPONFRAME) {
|
|
488
|
+
writer.writeByte(ps.gun_frame);
|
|
489
|
+
writer.writeChar(Math.round(ps.gun_offset.x * 4));
|
|
490
|
+
writer.writeChar(Math.round(ps.gun_offset.y * 4));
|
|
491
|
+
writer.writeChar(Math.round(ps.gun_offset.z * 4));
|
|
492
|
+
writer.writeChar(Math.round(ps.gun_angles.x * 4));
|
|
493
|
+
writer.writeChar(Math.round(ps.gun_angles.y * 4));
|
|
494
|
+
writer.writeChar(Math.round(ps.gun_angles.z * 4));
|
|
495
|
+
}
|
|
496
|
+
if (mask & PS_BLEND) {
|
|
497
|
+
writer.writeByte(Math.round(ps.blend[0]));
|
|
498
|
+
writer.writeByte(Math.round(ps.blend[1]));
|
|
499
|
+
writer.writeByte(Math.round(ps.blend[2]));
|
|
500
|
+
writer.writeByte(Math.round(ps.blend[3]));
|
|
501
|
+
}
|
|
502
|
+
if (mask & PS_FOV) writer.writeByte(ps.fov);
|
|
503
|
+
if (mask & PS_RDFLAGS) writer.writeByte(ps.rdflags);
|
|
504
|
+
writer.writeLong(statsMask);
|
|
505
|
+
for (let i = 0; i < 32; i++) {
|
|
506
|
+
if (statsMask & 1 << i) {
|
|
507
|
+
writer.writeShort(ps.stats[i]);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
|
|
408
512
|
// src/dedicated.ts
|
|
409
513
|
var MAX_CLIENTS = 16;
|
|
410
514
|
var FRAME_RATE = 10;
|
|
@@ -536,7 +640,8 @@ var DedicatedServer = class {
|
|
|
536
640
|
return this.entityIndex.gatherTriggerTouches({ x: 0, y: 0, z: 0 }, mins, maxs, 4294967295);
|
|
537
641
|
},
|
|
538
642
|
multicast: (origin, type, event, ...args) => this.multicast(origin, type, event, ...args),
|
|
539
|
-
unicast: (ent, reliable, event, ...args) => this.unicast(ent, reliable, event, ...args)
|
|
643
|
+
unicast: (ent, reliable, event, ...args) => this.unicast(ent, reliable, event, ...args),
|
|
644
|
+
configstring: (index, value) => this.SV_SetConfigString(index, value)
|
|
540
645
|
};
|
|
541
646
|
this.game = createGame(imports, this, {
|
|
542
647
|
gravity: { x: 0, y: 0, z: -800 },
|
|
@@ -616,8 +721,30 @@ var DedicatedServer = class {
|
|
|
616
721
|
writer.writeString("baseq2");
|
|
617
722
|
writer.writeShort(client.index);
|
|
618
723
|
writer.writeString("maps/test.bsp");
|
|
724
|
+
for (let i = 0; i < MAX_CONFIGSTRINGS2; i++) {
|
|
725
|
+
if (this.sv.configStrings[i]) {
|
|
726
|
+
this.SV_WriteConfigString(writer, i, this.sv.configStrings[i]);
|
|
727
|
+
}
|
|
728
|
+
}
|
|
619
729
|
client.net.send(writer.getData());
|
|
620
730
|
}
|
|
731
|
+
SV_SetConfigString(index, value) {
|
|
732
|
+
if (index < 0 || index >= MAX_CONFIGSTRINGS2) return;
|
|
733
|
+
this.sv.configStrings[index] = value;
|
|
734
|
+
const writer = new BinaryWriter();
|
|
735
|
+
this.SV_WriteConfigString(writer, index, value);
|
|
736
|
+
const data = writer.getData();
|
|
737
|
+
for (const client of this.svs.clients) {
|
|
738
|
+
if (client && client.state >= 2 /* Connected */) {
|
|
739
|
+
client.net.send(data);
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
SV_WriteConfigString(writer, index, value) {
|
|
744
|
+
writer.writeByte(ServerCommand.configstring);
|
|
745
|
+
writer.writeShort(index);
|
|
746
|
+
writer.writeString(value);
|
|
747
|
+
}
|
|
621
748
|
SV_ReadPackets() {
|
|
622
749
|
for (const client of this.svs.clients) {
|
|
623
750
|
if (!client || client.state === 0 /* Free */) continue;
|
|
@@ -677,8 +804,33 @@ var DedicatedServer = class {
|
|
|
677
804
|
writer.writeByte(0);
|
|
678
805
|
writer.writeByte(0);
|
|
679
806
|
writer.writeByte(ServerCommand.playerinfo);
|
|
680
|
-
|
|
681
|
-
|
|
807
|
+
const ps = {
|
|
808
|
+
pm_type: snapshot.pmType,
|
|
809
|
+
origin: snapshot.origin,
|
|
810
|
+
velocity: snapshot.velocity,
|
|
811
|
+
pm_time: 0,
|
|
812
|
+
// Not explicitly in snapshot yet
|
|
813
|
+
pm_flags: snapshot.pmFlags,
|
|
814
|
+
gravity: Math.abs(snapshot.gravity.z),
|
|
815
|
+
// Usually only Z is relevant for gravity value
|
|
816
|
+
delta_angles: snapshot.deltaAngles,
|
|
817
|
+
viewoffset: { x: 0, y: 0, z: 22 },
|
|
818
|
+
// Default view offset if not in snapshot
|
|
819
|
+
viewangles: snapshot.viewangles,
|
|
820
|
+
kick_angles: snapshot.kick_angles,
|
|
821
|
+
gun_index: snapshot.gunindex,
|
|
822
|
+
gun_frame: 0,
|
|
823
|
+
// snapshot doesn't track gun frame yet?
|
|
824
|
+
gun_offset: snapshot.gunoffset,
|
|
825
|
+
gun_angles: snapshot.gunangles,
|
|
826
|
+
blend: snapshot.blend,
|
|
827
|
+
fov: 90,
|
|
828
|
+
// Default FOV
|
|
829
|
+
rdflags: 0,
|
|
830
|
+
// Not tracked
|
|
831
|
+
stats: snapshot.stats
|
|
832
|
+
};
|
|
833
|
+
writePlayerState(writer, ps);
|
|
682
834
|
writer.writeByte(ServerCommand.packetentities);
|
|
683
835
|
const entities = snapshot.packetEntities || [];
|
|
684
836
|
for (const entity of entities) {
|
|
@@ -699,6 +851,9 @@ var DedicatedServer = class {
|
|
|
699
851
|
if (client) {
|
|
700
852
|
}
|
|
701
853
|
}
|
|
854
|
+
configstring(index, value) {
|
|
855
|
+
this.SV_SetConfigString(index, value);
|
|
856
|
+
}
|
|
702
857
|
};
|
|
703
858
|
export {
|
|
704
859
|
ClientMessageParser,
|