@takaro/gameserver 0.0.15 → 0.0.19

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 (61) hide show
  1. package/dist/TakaroEmitter.d.ts +2 -0
  2. package/dist/TakaroEmitter.d.ts.map +1 -0
  3. package/dist/TakaroEmitter.js +1 -0
  4. package/dist/TakaroEmitter.js.map +1 -1
  5. package/dist/gameservers/7d2d/apiResponses.d.ts +1 -0
  6. package/dist/gameservers/7d2d/apiResponses.d.ts.map +1 -0
  7. package/dist/gameservers/7d2d/connectionInfo.d.ts +1 -0
  8. package/dist/gameservers/7d2d/connectionInfo.d.ts.map +1 -0
  9. package/dist/gameservers/7d2d/emitter.d.ts +1 -0
  10. package/dist/gameservers/7d2d/emitter.d.ts.map +1 -0
  11. package/dist/gameservers/7d2d/index.d.ts +3 -0
  12. package/dist/gameservers/7d2d/index.d.ts.map +1 -0
  13. package/dist/gameservers/7d2d/index.js +8 -2
  14. package/dist/gameservers/7d2d/index.js.map +1 -1
  15. package/dist/gameservers/7d2d/itemWorker.d.ts +1 -0
  16. package/dist/gameservers/7d2d/itemWorker.d.ts.map +1 -0
  17. package/dist/gameservers/7d2d/itemWorker.js +6 -1
  18. package/dist/gameservers/7d2d/itemWorker.js.map +1 -1
  19. package/dist/gameservers/7d2d/items-7d2d.json +25049 -25049
  20. package/dist/gameservers/7d2d/sdtdAPIClient.d.ts +4 -0
  21. package/dist/gameservers/7d2d/sdtdAPIClient.d.ts.map +1 -0
  22. package/dist/gameservers/7d2d/sdtdAPIClient.js +16 -0
  23. package/dist/gameservers/7d2d/sdtdAPIClient.js.map +1 -1
  24. package/dist/gameservers/mock/connectionInfo.d.ts +1 -0
  25. package/dist/gameservers/mock/connectionInfo.d.ts.map +1 -0
  26. package/dist/gameservers/mock/emitter.d.ts +1 -0
  27. package/dist/gameservers/mock/emitter.d.ts.map +1 -0
  28. package/dist/gameservers/mock/index.d.ts +4 -1
  29. package/dist/gameservers/mock/index.d.ts.map +1 -0
  30. package/dist/gameservers/mock/index.js +14 -1
  31. package/dist/gameservers/mock/index.js.map +1 -1
  32. package/dist/gameservers/rust/connectionInfo.d.ts +1 -0
  33. package/dist/gameservers/rust/connectionInfo.d.ts.map +1 -0
  34. package/dist/gameservers/rust/emitter.d.ts +1 -0
  35. package/dist/gameservers/rust/emitter.d.ts.map +1 -0
  36. package/dist/gameservers/rust/index.d.ts +4 -1
  37. package/dist/gameservers/rust/index.d.ts.map +1 -0
  38. package/dist/gameservers/rust/index.js +16 -3
  39. package/dist/gameservers/rust/index.js.map +1 -1
  40. package/dist/getGame.d.ts +1 -0
  41. package/dist/getGame.d.ts.map +1 -0
  42. package/dist/interfaces/GameServer.d.ts +11 -0
  43. package/dist/interfaces/GameServer.d.ts.map +1 -0
  44. package/dist/interfaces/GameServer.js +26 -0
  45. package/dist/interfaces/GameServer.js.map +1 -1
  46. package/dist/main.d.ts +1 -0
  47. package/dist/main.d.ts.map +1 -0
  48. package/package.json +3 -11
  49. package/src/TakaroEmitter.ts +2 -0
  50. package/src/TakaroEmitter.unit.test.ts +24 -22
  51. package/src/__tests__/gameEventEmitter.test.ts +2 -4
  52. package/src/gameservers/7d2d/__tests__/7d2dActions.unit.test.ts +1 -0
  53. package/src/gameservers/7d2d/__tests__/7d2dEventDetection.unit.test.ts +1 -0
  54. package/src/gameservers/7d2d/index.ts +10 -2
  55. package/src/gameservers/7d2d/itemWorker.ts +7 -1
  56. package/src/gameservers/7d2d/sdtdAPIClient.ts +19 -0
  57. package/src/gameservers/mock/index.ts +16 -0
  58. package/src/gameservers/rust/__tests__/rustActions.unit.test.ts +1 -0
  59. package/src/gameservers/rust/index.ts +18 -2
  60. package/src/interfaces/GameServer.ts +18 -0
  61. package/tsconfig.json +1 -1
@@ -7,6 +7,7 @@ import {
7
7
  IItemDTO,
8
8
  IMessageOptsDTO,
9
9
  IPlayerReferenceDTO,
10
+ MapInfoDTO,
10
11
  TestReachabilityOutputDTO,
11
12
  } from '../../interfaces/GameServer.js';
12
13
  import { MockEmitter } from './emitter.js';
@@ -163,4 +164,19 @@ export class Mock implements IGameServer {
163
164
  async shutdown(): Promise<void> {
164
165
  return this.requestFromServer('shutdown');
165
166
  }
167
+
168
+ async getMapInfo(): Promise<MapInfoDTO> {
169
+ return new MapInfoDTO({
170
+ enabled: false,
171
+ mapBlockSize: 0,
172
+ maxZoom: 0,
173
+ mapSizeX: 0,
174
+ mapSizeY: 0,
175
+ mapSizeZ: 0,
176
+ });
177
+ }
178
+
179
+ async getMapTile(_x: number, _y: number, _z: number): Promise<Buffer> {
180
+ throw new Error('Not implemented');
181
+ }
166
182
  }
@@ -4,6 +4,7 @@ import { RustConnectionInfo } from '../connectionInfo.js';
4
4
  import { CommandOutput } from '../../../interfaces/GameServer.js';
5
5
  import { Rust } from '../index.js';
6
6
  import { IGamePlayer } from '@takaro/modules';
7
+ import { describe, it } from 'node:test';
7
8
 
8
9
  const MOCK_PLAYER = new IGamePlayer({
9
10
  ip: '169.169.169.80',
@@ -7,13 +7,14 @@ import {
7
7
  IGameServer,
8
8
  IItemDTO,
9
9
  IPlayerReferenceDTO,
10
+ MapInfoDTO,
10
11
  TestReachabilityOutputDTO,
11
12
  } from '../../interfaces/GameServer.js';
12
13
  import { RustConnectionInfo } from './connectionInfo.js';
13
14
  import { RustEmitter } from './emitter.js';
14
15
  import { Settings } from '@takaro/apiclient';
15
16
 
16
- const itemsJson = (await import('./items-rust.json', { assert: { type: 'json' } })).default;
17
+ const itemsJson = (await import('./items-rust.json', { with: { type: 'json' } })).default;
17
18
 
18
19
  @traceableClass('game:rust')
19
20
  export class Rust implements IGameServer {
@@ -76,7 +77,7 @@ export class Rust implements IGameServer {
76
77
  const lines = rawResponse.rawResult.split('\n');
77
78
 
78
79
  for (const line of lines) {
79
- const matches = /(\d{17}) \w+\s{4}\(([-\d\.]+), ([-\d\.]+), ([-\d\.]+)\)/.exec(line);
80
+ const matches = /(\d{17}) \w+\s+\(([-\d\.]+), ([-\d\.]+), ([-\d\.]+)\)/.exec(line);
80
81
 
81
82
  if (matches) {
82
83
  const steamId = matches[1];
@@ -237,4 +238,19 @@ export class Rust implements IGameServer {
237
238
  async shutdown(): Promise<void> {
238
239
  await this.executeConsoleCommand('quit');
239
240
  }
241
+
242
+ async getMapInfo(): Promise<MapInfoDTO> {
243
+ return new MapInfoDTO({
244
+ enabled: false,
245
+ mapBlockSize: 0,
246
+ maxZoom: 0,
247
+ mapSizeX: 0,
248
+ mapSizeY: 0,
249
+ mapSizeZ: 0,
250
+ });
251
+ }
252
+
253
+ async getMapTile(_x: number, _y: number, _z: number): Promise<Buffer> {
254
+ throw new Error('Not implemented');
255
+ }
240
256
  }
@@ -72,6 +72,21 @@ export class BanDTO extends TakaroDTO<BanDTO> {
72
72
  expiresAt: string | null;
73
73
  }
74
74
 
75
+ export class MapInfoDTO extends TakaroDTO<MapInfoDTO> {
76
+ @IsBoolean()
77
+ enabled: boolean;
78
+ @IsNumber()
79
+ mapBlockSize: number;
80
+ @IsNumber()
81
+ maxZoom: number;
82
+ @IsNumber()
83
+ mapSizeX: number;
84
+ @IsNumber()
85
+ mapSizeY: number;
86
+ @IsNumber()
87
+ mapSizeZ: number;
88
+ }
89
+
75
90
  export interface IGameServer {
76
91
  connectionInfo: unknown;
77
92
  getEventEmitter(): TakaroEmitter;
@@ -100,4 +115,7 @@ export interface IGameServer {
100
115
  unbanPlayer(player: IPlayerReferenceDTO): Promise<void>;
101
116
  listBans(): Promise<BanDTO[]>;
102
117
  shutdown(): Promise<void>;
118
+
119
+ getMapInfo(): Promise<MapInfoDTO>;
120
+ getMapTile(x: number, y: number, z: number): Promise<Buffer>;
103
121
  }
package/tsconfig.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "extends": "../../tsconfig.esm.json",
2
+ "extends": "../../tsconfig.json",
3
3
  "compilerOptions": {
4
4
  "rootDir": "src",
5
5
  "outDir": "dist"