quake2ts 0.0.208 → 0.0.210
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 +8 -0
- package/packages/game/dist/cjs/index.cjs.map +1 -1
- package/packages/game/dist/esm/index.js +8 -0
- package/packages/game/dist/esm/index.js.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +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 +43 -4
- package/packages/server/dist/index.d.cts +2 -0
- package/packages/server/dist/index.d.ts +2 -0
- package/packages/server/dist/index.js +43 -4
|
@@ -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;IACrF,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC;IAEjC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAMD,OAAO,EAAE,WAAW,EAAgC,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAgC,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACpE,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,KAAK,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;IAClH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,CAAC;IAClI,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;IACpF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,YAAY,CAAC;IACvF,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC;IAC1C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;CAClD;AAED,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAyB,YAAY,EAAa,MAAM,sBAAsB,CAAC;AAItF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,CAAC;AAG5B,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,EAC7B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,iBAAiB,GACzB,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -724,6 +724,9 @@ var DedicatedServer = class {
|
|
|
724
724
|
}
|
|
725
725
|
onClientDisconnect(client) {
|
|
726
726
|
console.log(`Client ${client.index} disconnected`);
|
|
727
|
+
if (client.edict && this.game) {
|
|
728
|
+
this.game.clientDisconnect(client.edict);
|
|
729
|
+
}
|
|
727
730
|
this.svs.clients[client.index] = null;
|
|
728
731
|
if (this.entityIndex && client.edict) {
|
|
729
732
|
this.entityIndex.unlink(client.edict.index);
|
|
@@ -732,14 +735,44 @@ var DedicatedServer = class {
|
|
|
732
735
|
handleMove(client, cmd) {
|
|
733
736
|
client.lastCmd = cmd;
|
|
734
737
|
client.lastMessage = this.sv.frame;
|
|
735
|
-
if (client.state === 2 /* Connected */) {
|
|
736
|
-
this.spawnClient(client);
|
|
737
|
-
}
|
|
738
738
|
}
|
|
739
739
|
handleUserInfo(client, info) {
|
|
740
740
|
client.userInfo = info;
|
|
741
741
|
}
|
|
742
742
|
handleStringCmd(client, cmd) {
|
|
743
|
+
if (cmd.startsWith("connect ")) {
|
|
744
|
+
const userInfo = cmd.substring(8);
|
|
745
|
+
this.handleConnect(client, userInfo);
|
|
746
|
+
} else if (cmd === "begin") {
|
|
747
|
+
this.handleBegin(client);
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
handleConnect(client, userInfo) {
|
|
751
|
+
if (!this.game) return;
|
|
752
|
+
const result = this.game.clientConnect(client.edict || null, userInfo);
|
|
753
|
+
if (result === true) {
|
|
754
|
+
client.state = 2 /* Connected */;
|
|
755
|
+
client.userInfo = userInfo;
|
|
756
|
+
console.log(`Client ${client.index} connected: ${userInfo}`);
|
|
757
|
+
this.sendServerData(client);
|
|
758
|
+
const writer = new import_shared3.BinaryWriter();
|
|
759
|
+
writer.writeByte(import_shared3.ServerCommand.stufftext);
|
|
760
|
+
writer.writeString("precache\n");
|
|
761
|
+
client.net.send(writer.getData());
|
|
762
|
+
} else {
|
|
763
|
+
console.log(`Client ${client.index} rejected: ${result}`);
|
|
764
|
+
const writer = new import_shared3.BinaryWriter();
|
|
765
|
+
writer.writeByte(import_shared3.ServerCommand.print);
|
|
766
|
+
writer.writeByte(2);
|
|
767
|
+
writer.writeString(`Connection rejected: ${result}
|
|
768
|
+
`);
|
|
769
|
+
client.net.send(writer.getData());
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
handleBegin(client) {
|
|
773
|
+
if (client.state === 2 /* Connected */) {
|
|
774
|
+
this.spawnClient(client);
|
|
775
|
+
}
|
|
743
776
|
}
|
|
744
777
|
spawnClient(client) {
|
|
745
778
|
if (!this.game) return;
|
|
@@ -750,7 +783,7 @@ var DedicatedServer = class {
|
|
|
750
783
|
});
|
|
751
784
|
client.edict = ent;
|
|
752
785
|
client.state = 4 /* Active */;
|
|
753
|
-
|
|
786
|
+
console.log(`Client ${client.index} entered game`);
|
|
754
787
|
}
|
|
755
788
|
sendServerData(client) {
|
|
756
789
|
const writer = new import_shared3.BinaryWriter();
|
|
@@ -766,6 +799,12 @@ var DedicatedServer = class {
|
|
|
766
799
|
this.SV_WriteConfigString(writer, i, this.sv.configStrings[i]);
|
|
767
800
|
}
|
|
768
801
|
}
|
|
802
|
+
for (let i = 0; i < import_shared3.MAX_EDICTS; i++) {
|
|
803
|
+
if (this.sv.baselines[i]) {
|
|
804
|
+
writer.writeByte(import_shared3.ServerCommand.spawnbaseline);
|
|
805
|
+
writeDeltaEntity({}, this.sv.baselines[i], writer, true, true);
|
|
806
|
+
}
|
|
807
|
+
}
|
|
769
808
|
client.net.send(writer.getData());
|
|
770
809
|
}
|
|
771
810
|
SV_SetConfigString(index, value) {
|
|
@@ -34,6 +34,8 @@ declare class DedicatedServer implements GameEngine {
|
|
|
34
34
|
private handleMove;
|
|
35
35
|
private handleUserInfo;
|
|
36
36
|
private handleStringCmd;
|
|
37
|
+
private handleConnect;
|
|
38
|
+
private handleBegin;
|
|
37
39
|
private spawnClient;
|
|
38
40
|
private sendServerData;
|
|
39
41
|
private SV_SetConfigString;
|
|
@@ -34,6 +34,8 @@ declare class DedicatedServer implements GameEngine {
|
|
|
34
34
|
private handleMove;
|
|
35
35
|
private handleUserInfo;
|
|
36
36
|
private handleStringCmd;
|
|
37
|
+
private handleConnect;
|
|
38
|
+
private handleBegin;
|
|
37
39
|
private spawnClient;
|
|
38
40
|
private sendServerData;
|
|
39
41
|
private SV_SetConfigString;
|
|
@@ -684,6 +684,9 @@ var DedicatedServer = class {
|
|
|
684
684
|
}
|
|
685
685
|
onClientDisconnect(client) {
|
|
686
686
|
console.log(`Client ${client.index} disconnected`);
|
|
687
|
+
if (client.edict && this.game) {
|
|
688
|
+
this.game.clientDisconnect(client.edict);
|
|
689
|
+
}
|
|
687
690
|
this.svs.clients[client.index] = null;
|
|
688
691
|
if (this.entityIndex && client.edict) {
|
|
689
692
|
this.entityIndex.unlink(client.edict.index);
|
|
@@ -692,14 +695,44 @@ var DedicatedServer = class {
|
|
|
692
695
|
handleMove(client, cmd) {
|
|
693
696
|
client.lastCmd = cmd;
|
|
694
697
|
client.lastMessage = this.sv.frame;
|
|
695
|
-
if (client.state === 2 /* Connected */) {
|
|
696
|
-
this.spawnClient(client);
|
|
697
|
-
}
|
|
698
698
|
}
|
|
699
699
|
handleUserInfo(client, info) {
|
|
700
700
|
client.userInfo = info;
|
|
701
701
|
}
|
|
702
702
|
handleStringCmd(client, cmd) {
|
|
703
|
+
if (cmd.startsWith("connect ")) {
|
|
704
|
+
const userInfo = cmd.substring(8);
|
|
705
|
+
this.handleConnect(client, userInfo);
|
|
706
|
+
} else if (cmd === "begin") {
|
|
707
|
+
this.handleBegin(client);
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
handleConnect(client, userInfo) {
|
|
711
|
+
if (!this.game) return;
|
|
712
|
+
const result = this.game.clientConnect(client.edict || null, userInfo);
|
|
713
|
+
if (result === true) {
|
|
714
|
+
client.state = 2 /* Connected */;
|
|
715
|
+
client.userInfo = userInfo;
|
|
716
|
+
console.log(`Client ${client.index} connected: ${userInfo}`);
|
|
717
|
+
this.sendServerData(client);
|
|
718
|
+
const writer = new BinaryWriter();
|
|
719
|
+
writer.writeByte(ServerCommand.stufftext);
|
|
720
|
+
writer.writeString("precache\n");
|
|
721
|
+
client.net.send(writer.getData());
|
|
722
|
+
} else {
|
|
723
|
+
console.log(`Client ${client.index} rejected: ${result}`);
|
|
724
|
+
const writer = new BinaryWriter();
|
|
725
|
+
writer.writeByte(ServerCommand.print);
|
|
726
|
+
writer.writeByte(2);
|
|
727
|
+
writer.writeString(`Connection rejected: ${result}
|
|
728
|
+
`);
|
|
729
|
+
client.net.send(writer.getData());
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
handleBegin(client) {
|
|
733
|
+
if (client.state === 2 /* Connected */) {
|
|
734
|
+
this.spawnClient(client);
|
|
735
|
+
}
|
|
703
736
|
}
|
|
704
737
|
spawnClient(client) {
|
|
705
738
|
if (!this.game) return;
|
|
@@ -710,7 +743,7 @@ var DedicatedServer = class {
|
|
|
710
743
|
});
|
|
711
744
|
client.edict = ent;
|
|
712
745
|
client.state = 4 /* Active */;
|
|
713
|
-
|
|
746
|
+
console.log(`Client ${client.index} entered game`);
|
|
714
747
|
}
|
|
715
748
|
sendServerData(client) {
|
|
716
749
|
const writer = new BinaryWriter();
|
|
@@ -726,6 +759,12 @@ var DedicatedServer = class {
|
|
|
726
759
|
this.SV_WriteConfigString(writer, i, this.sv.configStrings[i]);
|
|
727
760
|
}
|
|
728
761
|
}
|
|
762
|
+
for (let i = 0; i < MAX_EDICTS; i++) {
|
|
763
|
+
if (this.sv.baselines[i]) {
|
|
764
|
+
writer.writeByte(ServerCommand.spawnbaseline);
|
|
765
|
+
writeDeltaEntity({}, this.sv.baselines[i], writer, true, true);
|
|
766
|
+
}
|
|
767
|
+
}
|
|
729
768
|
client.net.send(writer.getData());
|
|
730
769
|
}
|
|
731
770
|
SV_SetConfigString(index, value) {
|