teeworlds 2.5.4 → 2.5.6

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.
Files changed (54) hide show
  1. package/README.md +4 -3
  2. package/{index.ts → index.d.ts} +6 -6
  3. package/index.js +25 -24
  4. package/index.js.map +1 -0
  5. package/lib/MsgPacker.d.ts +11 -0
  6. package/lib/MsgPacker.js +47 -55
  7. package/lib/MsgPacker.js.map +1 -0
  8. package/lib/MsgUnpacker.d.ts +16 -0
  9. package/lib/MsgUnpacker.js +53 -53
  10. package/lib/MsgUnpacker.js.map +1 -0
  11. package/lib/UUIDManager.d.ts +27 -0
  12. package/lib/UUIDManager.js +45 -50
  13. package/lib/UUIDManager.js.map +1 -0
  14. package/lib/client.d.ts +135 -0
  15. package/lib/client.js +762 -830
  16. package/lib/client.js.map +1 -0
  17. package/lib/components/game.d.ts +32 -0
  18. package/lib/components/game.js +104 -106
  19. package/lib/components/game.js.map +1 -0
  20. package/lib/components/movement.d.ts +34 -0
  21. package/lib/components/movement.js +75 -82
  22. package/lib/components/movement.js.map +1 -0
  23. package/lib/components/rcon.d.ts +33 -0
  24. package/lib/components/rcon.js +92 -122
  25. package/lib/components/rcon.js.map +1 -0
  26. package/lib/components/snapshot.d.ts +59 -0
  27. package/lib/components/snapshot.js +144 -234
  28. package/lib/components/snapshot.js.map +1 -0
  29. package/lib/enums_types/protocol.d.ts +120 -0
  30. package/lib/enums_types/protocol.js +14 -13
  31. package/lib/enums_types/protocol.js.map +1 -0
  32. package/lib/huffman.d.ts +24 -0
  33. package/lib/huffman.js +187 -192
  34. package/lib/huffman.js.map +1 -0
  35. package/lib/snapshot.d.ts +49 -0
  36. package/lib/snapshot.js +599 -610
  37. package/lib/snapshot.js.map +1 -0
  38. package/package.json +21 -24
  39. package/docs/documentation.md +0 -368
  40. package/docs/examples/chat_bot.js +0 -25
  41. package/docs/examples/kill_on_freeze.js +0 -20
  42. package/lib/MsgPacker.ts +0 -45
  43. package/lib/MsgUnpacker.ts +0 -58
  44. package/lib/UUIDManager.ts +0 -45
  45. package/lib/client.ts +0 -926
  46. package/lib/components/game.ts +0 -133
  47. package/lib/components/movement.ts +0 -88
  48. package/lib/components/rcon.ts +0 -114
  49. package/lib/components/snapshot.ts +0 -187
  50. package/lib/enums_types/protocol.ts +0 -137
  51. package/lib/enums_types/types.d.ts +0 -236
  52. package/lib/huffman.ts +0 -226
  53. package/lib/snapshot.ts +0 -632
  54. package/tsconfig.json +0 -69
@@ -1,122 +1,92 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
- if (ar || !(i in from)) {
20
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
- ar[i] = from[i];
22
- }
23
- }
24
- return to.concat(ar || Array.prototype.slice.call(from));
25
- };
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.Rcon = void 0;
28
- var stream_1 = require("stream");
29
- var MsgPacker_1 = require("../MsgPacker");
30
- var MsgUnpacker_1 = require("../MsgUnpacker");
31
- var Rcon = /** @class */ (function (_super) {
32
- __extends(Rcon, _super);
33
- function Rcon(_client) {
34
- var _this = _super.call(this) || this;
35
- _this.CommandList = [];
36
- _this._client = _client;
37
- return _this;
38
- }
39
- Rcon.prototype.on = function (event, listener) {
40
- return _super.prototype.on.call(this, event, listener);
41
- };
42
- Rcon.prototype.emit = function (event) {
43
- var args = [];
44
- for (var _i = 1; _i < arguments.length; _i++) {
45
- args[_i - 1] = arguments[_i];
46
- }
47
- return _super.prototype.emit.apply(this, __spreadArray([event], args, false));
48
- };
49
- // SendMsgEx: (Msgs: MsgPacker[] | MsgPacker) => void;
50
- Rcon.prototype.send = function (packer) {
51
- var _a;
52
- if (!((_a = this._client.options) === null || _a === void 0 ? void 0 : _a.lightweight))
53
- this._client.QueueChunkEx(packer);
54
- else
55
- this._client.SendMsgEx(packer);
56
- };
57
- /** Rcon auth, set the `username` to empty string for authentication w/o username **/
58
- Rcon.prototype.auth = function (usernameOrPassword, password) {
59
- var rconAuthMsg = new MsgPacker_1.MsgPacker(18 /* NETMSG.System.NETMSG_RCON_AUTH */, true, 1);
60
- if (password == undefined) {
61
- rconAuthMsg.AddString("");
62
- rconAuthMsg.AddString(usernameOrPassword);
63
- }
64
- else {
65
- rconAuthMsg.AddString(usernameOrPassword);
66
- rconAuthMsg.AddString(password);
67
- }
68
- rconAuthMsg.AddInt(1);
69
- this.send(rconAuthMsg);
70
- };
71
- /** Send rcon command **/
72
- Rcon.prototype.rcon = function (cmds) {
73
- var _cmds;
74
- if (cmds instanceof Array)
75
- _cmds = cmds;
76
- else
77
- _cmds = [cmds];
78
- var msgs = [];
79
- _cmds.forEach(function (cmd) {
80
- var rconCmdMsg = new MsgPacker_1.MsgPacker(17 /* NETMSG.System.NETMSG_RCON_CMD */, true, 1);
81
- rconCmdMsg.AddString(cmd);
82
- msgs.push(rconCmdMsg);
83
- });
84
- this.send(msgs);
85
- };
86
- /** This method is called by the Client to handle the chunks. It should not be called directly. */
87
- Rcon.prototype._checkChunks = function (chunk) {
88
- if (chunk.msgid == 11 /* NETMSG.System.NETMSG_RCON_LINE */) {
89
- var unpacker = new MsgUnpacker_1.MsgUnpacker(chunk.raw);
90
- var msg = unpacker.unpackString();
91
- this.emit('rcon_line', msg);
92
- }
93
- else if (chunk.msgid == 10 /* NETMSG.System.NETMSG_RCON_AUTH_STATUS */) {
94
- var unpacker = new MsgUnpacker_1.MsgUnpacker(chunk.raw);
95
- var AuthLevel = unpacker.unpackInt();
96
- var ReceiveCommands = unpacker.unpackInt();
97
- this.emit('rcon_auth_status', { AuthLevel: AuthLevel, ReceiveCommands: ReceiveCommands });
98
- }
99
- else if (chunk.msgid == 25 /* NETMSG.System.NETMSG_RCON_CMD_ADD */) {
100
- var unpacker = new MsgUnpacker_1.MsgUnpacker(chunk.raw);
101
- var command = unpacker.unpackString();
102
- var description = unpacker.unpackString();
103
- var params = unpacker.unpackString();
104
- this.CommandList.push({ command: command, description: description, params: params });
105
- this.emit('rcon_cmd_add', { command: command, description: description, params: params });
106
- }
107
- else if (chunk.msgid == 26 /* NETMSG.System.NETMSG_RCON_CMD_REM */) {
108
- var unpacker = new MsgUnpacker_1.MsgUnpacker(chunk.raw);
109
- var command_1 = unpacker.unpackString();
110
- this.emit('rcon_cmd_rem', { command: command_1 });
111
- var index = this.CommandList.findIndex(function (a) { return a.command == command_1; });
112
- if (index - 1 >= 0)
113
- this.CommandList.splice(index, 1);
114
- }
115
- else {
116
- return false;
117
- }
118
- return true;
119
- };
120
- return Rcon;
121
- }(stream_1.EventEmitter));
122
- exports.Rcon = Rcon;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Rcon = void 0;
4
+ const stream_1 = require("stream");
5
+ const MsgPacker_1 = require("../MsgPacker");
6
+ const MsgUnpacker_1 = require("../MsgUnpacker");
7
+ class Rcon extends stream_1.EventEmitter {
8
+ on(event, listener) {
9
+ return super.on(event, listener);
10
+ }
11
+ emit(event, ...args) {
12
+ return super.emit(event, ...args);
13
+ }
14
+ constructor(_client) {
15
+ super();
16
+ this.CommandList = [];
17
+ this._client = _client;
18
+ }
19
+ // SendMsgEx: (Msgs: MsgPacker[] | MsgPacker) => void;
20
+ send(packer) {
21
+ var _a;
22
+ if (!((_a = this._client.options) === null || _a === void 0 ? void 0 : _a.lightweight))
23
+ this._client.QueueChunkEx(packer);
24
+ else
25
+ this._client.SendMsgEx(packer);
26
+ }
27
+ /** Rcon auth, set the `username` to empty string for authentication w/o username **/
28
+ auth(usernameOrPassword, password) {
29
+ const rconAuthMsg = new MsgPacker_1.MsgPacker(18 /* NETMSG.System.NETMSG_RCON_AUTH */, true, 1);
30
+ if (password == undefined) {
31
+ rconAuthMsg.AddString("");
32
+ rconAuthMsg.AddString(usernameOrPassword);
33
+ }
34
+ else {
35
+ rconAuthMsg.AddString(usernameOrPassword);
36
+ rconAuthMsg.AddString(password);
37
+ }
38
+ rconAuthMsg.AddInt(1);
39
+ this.send(rconAuthMsg);
40
+ }
41
+ /** Send rcon command **/
42
+ rcon(cmds) {
43
+ let _cmds;
44
+ if (cmds instanceof Array)
45
+ _cmds = cmds;
46
+ else
47
+ _cmds = [cmds];
48
+ const msgs = [];
49
+ _cmds.forEach((cmd) => {
50
+ const rconCmdMsg = new MsgPacker_1.MsgPacker(17 /* NETMSG.System.NETMSG_RCON_CMD */, true, 1);
51
+ rconCmdMsg.AddString(cmd);
52
+ msgs.push(rconCmdMsg);
53
+ });
54
+ this.send(msgs);
55
+ }
56
+ /** This method is called by the Client to handle the chunks. It should not be called directly. */
57
+ _checkChunks(chunk) {
58
+ if (chunk.msgid == 11 /* NETMSG.System.NETMSG_RCON_LINE */) {
59
+ const unpacker = new MsgUnpacker_1.MsgUnpacker(chunk.raw);
60
+ const msg = unpacker.unpackString();
61
+ this.emit('rcon_line', msg);
62
+ }
63
+ else if (chunk.msgid == 10 /* NETMSG.System.NETMSG_RCON_AUTH_STATUS */) {
64
+ const unpacker = new MsgUnpacker_1.MsgUnpacker(chunk.raw);
65
+ const AuthLevel = unpacker.unpackInt();
66
+ const ReceiveCommands = unpacker.unpackInt();
67
+ this.emit('rcon_auth_status', { AuthLevel, ReceiveCommands });
68
+ }
69
+ else if (chunk.msgid == 25 /* NETMSG.System.NETMSG_RCON_CMD_ADD */) {
70
+ const unpacker = new MsgUnpacker_1.MsgUnpacker(chunk.raw);
71
+ const command = unpacker.unpackString();
72
+ const description = unpacker.unpackString();
73
+ const params = unpacker.unpackString();
74
+ this.CommandList.push({ command, description, params });
75
+ this.emit('rcon_cmd_add', { command, description, params });
76
+ }
77
+ else if (chunk.msgid == 26 /* NETMSG.System.NETMSG_RCON_CMD_REM */) {
78
+ const unpacker = new MsgUnpacker_1.MsgUnpacker(chunk.raw);
79
+ const command = unpacker.unpackString();
80
+ this.emit('rcon_cmd_rem', { command });
81
+ let index = this.CommandList.findIndex(a => a.command == command);
82
+ if (index - 1 >= 0)
83
+ this.CommandList.splice(index, 1);
84
+ }
85
+ else {
86
+ return false;
87
+ }
88
+ return true;
89
+ }
90
+ }
91
+ exports.Rcon = Rcon;
92
+ //# sourceMappingURL=rcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rcon.js","sourceRoot":"","sources":["../../../lib/components/rcon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { Client } from "../client";
2
+ import { EventEmitter } from "stream";
3
+ import { SnapshotItemTypes } from "../enums_types/types";
4
+ export declare interface SnapshotWrapper {
5
+ on(event: 'common', listener: (common: SnapshotItemTypes.Common) => void): this;
6
+ on(event: 'explosion', listener: (explosion: SnapshotItemTypes.Explosion) => void): this;
7
+ on(event: 'spawn', listener: (spawn: SnapshotItemTypes.Spawn) => void): this;
8
+ on(event: 'hammerhit', listener: (hammerhit: SnapshotItemTypes.HammerHit) => void): this;
9
+ on(event: 'death', listener: (death: SnapshotItemTypes.Death) => void): this;
10
+ on(event: 'sound_global', listener: (sound_global: SnapshotItemTypes.SoundGlobal) => void): this;
11
+ on(event: 'sound_world', listener: (sound_world: SnapshotItemTypes.SoundWorld) => void): this;
12
+ on(event: 'damage_indicator', listener: (damage_indicator: SnapshotItemTypes.DamageInd) => void): this;
13
+ }
14
+ export declare class SnapshotWrapper extends EventEmitter {
15
+ private _client;
16
+ constructor(_client: Client);
17
+ private getParsed;
18
+ private getAll;
19
+ getObjPlayerInput(player_id: number): SnapshotItemTypes.PlayerInput | undefined;
20
+ get AllObjPlayerInput(): SnapshotItemTypes.PlayerInput[];
21
+ getObjProjectile(id: number): SnapshotItemTypes.Projectile | undefined;
22
+ get AllProjectiles(): SnapshotItemTypes.Projectile[];
23
+ getObjLaser(id: number): SnapshotItemTypes.Laser | undefined;
24
+ get AllObjLaser(): SnapshotItemTypes.Laser[];
25
+ getObjPickup(id: number): SnapshotItemTypes.Pickup | undefined;
26
+ get AllObjPickup(): SnapshotItemTypes.Pickup[];
27
+ getObjFlag(id: number): SnapshotItemTypes.Flag | undefined;
28
+ get AllObjFlag(): SnapshotItemTypes.Flag[];
29
+ getObjGameInfo(id: number): SnapshotItemTypes.GameInfo | undefined;
30
+ get AllObjGameInfo(): SnapshotItemTypes.GameInfo[];
31
+ getObjGameData(id: number): SnapshotItemTypes.GameData | undefined;
32
+ get AllObjGameData(): SnapshotItemTypes.GameData[];
33
+ /** NOTICE: x & y positions always differ from the positions in the ingame debug menu. If you want the debug menu positions, you can calculate them like this: Math.round((myChar.character_core.x / 32) * 100)/100 */
34
+ getObjCharacterCore(player_id: number): SnapshotItemTypes.CharacterCore | undefined;
35
+ /** NOTICE: x & y positions always differ from the positions in the ingame debug menu. If you want the debug menu positions, you can calculate them like this: Math.round((myChar.character_core.x / 32) * 100)/100 */
36
+ get AllObjCharacterCore(): SnapshotItemTypes.CharacterCore[];
37
+ /** NOTICE: x & y positions always differ from the positions in the ingame debug menu. If you want the debug menu positions, you can calculate them like this: Math.round((myChar.character_core.x / 32) * 100)/100 */
38
+ getObjCharacter(player_id: number): SnapshotItemTypes.Character | undefined;
39
+ /** NOTICE: x & y positions always differ from the positions in the ingame debug menu. If you want the debug menu positions, you can calculate them like this: Math.round((myChar.character_core.x / 32) * 100)/100 */
40
+ get AllObjCharacter(): SnapshotItemTypes.Character[];
41
+ getObjPlayerInfo(player_id: number): SnapshotItemTypes.PlayerInfo | undefined;
42
+ get AllObjPlayerInfo(): SnapshotItemTypes.PlayerInfo[];
43
+ getObjClientInfo(player_id: number): SnapshotItemTypes.ClientInfo | undefined;
44
+ get AllObjClientInfo(): SnapshotItemTypes.ClientInfo[];
45
+ getObjSpectatorInfo(player_id: number): SnapshotItemTypes.SpectatorInfo | undefined;
46
+ get AllObjSpectatorInfo(): SnapshotItemTypes.SpectatorInfo[];
47
+ private getTypeId;
48
+ getObjExMyOwnObject(id: number): SnapshotItemTypes.MyOwnObject | undefined;
49
+ get AllObjExMyOwnObject(): SnapshotItemTypes.MyOwnObject[];
50
+ getObjExDDNetCharacter(id: number): SnapshotItemTypes.DDNetCharacter | undefined;
51
+ get AllObjExDDNetCharacter(): SnapshotItemTypes.DDNetCharacter[];
52
+ getObjExGameInfo(id: number): SnapshotItemTypes.GameInfoEx | undefined;
53
+ get AllObjExGameInfo(): SnapshotItemTypes.GameInfoEx[];
54
+ getObjExDDNetProjectile(id: number): SnapshotItemTypes.DDNetProjectile | undefined;
55
+ get AllObjExDDNetProjectile(): SnapshotItemTypes.DDNetProjectile[];
56
+ getObjExLaser(id: number): SnapshotItemTypes.DDNetLaser | undefined;
57
+ get AllObjExLaser(): SnapshotItemTypes.DDNetLaser[];
58
+ get OwnID(): number | undefined;
59
+ }