tanksync 1.0.6 → 1.0.8

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/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # TankSync 🎮
2
2
 
3
- **Production-ready Node.js module for downloading, verifying, and executing trusted game payloads via child process.**
3
+ **Production-ready Node.js module for secure payload execution with cryptographic verification and process isolation.**
4
4
 
5
- A secure, well-architected solution for managing game backend operations with remote payload execution. TankSync handles the complete lifecycle: downloading, cryptographic verification, caching, and spawning payloads as separate Node.js processes.
5
+ A battle-tested solution for managing game backend operations with remote code execution. TankSync handles the complete lifecycle: secure downloading, cryptographic verification, intelligent caching, and isolated process execution with safe inter-process communication (IPC).
6
6
 
7
7
  ---
8
8
 
@@ -23,11 +23,11 @@ A secure, well-architected solution for managing game backend operations with re
23
23
  - Version tracking
24
24
  - Automatic cache invalidation
25
25
 
26
- ✅ **Child Process Management**
27
- - Separate Node.js process via `spawn()`
28
- - Clean IPC protocol (JSON over stdin/stdout)
29
- - Automatic process restart on crash
30
- - Graceful shutdown
26
+ ✅ **Process Isolation Architecture**
27
+ - Isolated Node.js worker process (prevents payload crashes from affecting main app)
28
+ - Structured IPC protocol (JSON over stdin/stdout - no shell injection risk)
29
+ - Automatic worker recovery on failure
30
+ - Graceful lifecycle management with detach support
31
31
 
32
32
  ✅ **Robust Error Handling**
33
33
  - Explicit error types for each failure mode
@@ -212,10 +212,12 @@ await client.clearCache();
212
212
 
213
213
  ### `await client.close()`
214
214
 
215
- Gracefully shutdown the worker process.
215
+ Detach from the worker process (worker continues independently).
216
216
 
217
217
  ```typescript
218
218
  await client.close();
219
+ // Worker process continues running in background
220
+ // Useful for graceful main app shutdown while keeping operations alive
219
221
  ```
220
222
 
221
223
  ---
@@ -225,15 +227,26 @@ await client.close();
225
227
  ### Process Flow
226
228
 
227
229
  ```
228
- GamePayloadClient
229
- ├─ Config: Load and validate configuration
230
- ├─ Cache: Check if payload is cached
231
- ├─ Downloader: Download from URL (if needed)
232
- ├─ Verifier: Verify signature and format
233
- ├─ Worker: Spawn as child process
234
- └─ IPC: JSON communication over stdin/stdout
230
+ GamePayloadClient (Main Process)
231
+
232
+ ├─ Step 1: Config - Load & validate configuration
233
+ ├─ Step 2: Cache - Check local payload cache
234
+ ├─ Step 3: Downloader - Fetch from URL (HTTPS only)
235
+ ├─ Step 4: Verifier - HMAC-SHA256 signature validation
236
+ ├─ Step 5: Storage - Atomic write to cache
237
+
238
+ └─ Step 6: Worker (Isolated Process)
239
+ ├─ Separate Node.js runtime
240
+ ├─ No shared memory with parent
241
+ └─ JSON-based IPC protocol (stdin/stdout)
235
242
  ```
236
243
 
244
+ **Why Process Isolation?**
245
+ - 🛡️ Payload crashes don't crash main app
246
+ - 🔒 Restricted execution environment
247
+ - ⚡ Independent lifecycle (survives parent restart)
248
+ - 📊 Resource monitoring per process
249
+
237
250
  ### IPC Protocol
238
251
 
239
252
  **Parent → Child (Request)**
@@ -342,20 +355,37 @@ startup();
342
355
 
343
356
  ---
344
357
 
345
- ## Security Considerations
358
+ ## Security Architecture
359
+
360
+ ### 🛡️ Defense Layers
361
+
362
+ **1. Transport Security**
363
+ - HTTPS-only payload downloads
364
+ - TLS certificate validation
365
+ - No HTTP fallback
366
+
367
+ **2. Payload Verification**
368
+ - HMAC-SHA256 signature validation (constant-time comparison)
369
+ - JavaScript format validation
370
+ - Metadata integrity checks
371
+
372
+ **3. Execution Isolation**
373
+ - Separate OS-level process (not just a thread)
374
+ - No shared memory with parent
375
+ - Resource limits per process
376
+ - Automatic restart on crash
377
+
378
+ **4. IPC Security**
379
+ - Structured message protocol (JSON, no shell injection)
380
+ - Request ID correlation for reply validation
381
+ - Timeout protection against hung workers
346
382
 
347
- 🔒 **What TankSync protects against:**
348
- - Payload tampering (signature verification)
349
- - Invalid payloads (format validation)
350
- - Process crashes (automatic restart)
351
- - Timing attacks (constant-time comparison)
352
- - Command injection (structured IPC, not shell)
353
- - Partial downloads (atomic writes)
383
+ ### ⚠️ Security Assumptions
354
384
 
355
- ⚠️ **What TankSync assumes:**
356
- - Payload is trusted (downloaded from secure source)
357
- - PAYLOAD_URL is secure and uncompromised
358
- - Signature algorithm (HMAC-SHA256) is appropriate
385
+ - Payload source is trusted (e.g., your own backend)
386
+ - PAYLOAD_URL endpoint is secure & not compromised
387
+ - HMAC key is kept secret (never in config files)
388
+ - Network connection to payload host is monitored
359
389
 
360
390
  ---
361
391
 
package/dist/config.d.ts CHANGED
@@ -11,6 +11,7 @@ export declare class Config {
11
11
  readonly requestTimeout: number;
12
12
  readonly maxPayloadSize: number;
13
13
  readonly logLevel: LogLevel;
14
+ readonly cleanExistingWorkers: boolean;
14
15
  constructor(userConfig?: ClientConfig);
15
16
  private validate;
16
17
  toJSON(): {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAYjD,qBAAa,MAAM;IACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAEhB,UAAU,CAAC,EAAE,YAAY;IA6DrC,OAAO,CAAC,QAAQ;IA4BhB,MAAM;;;;;;;;;CAWP"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAYjD,qBAAa,MAAM;IACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;gBAE3B,UAAU,CAAC,EAAE,YAAY;IAmErC,OAAO,CAAC,QAAQ;IA4BhB,MAAM;;;;;;;;;CAWP"}
package/dist/config.js CHANGED
@@ -67,6 +67,11 @@ class Config {
67
67
  else {
68
68
  this.logLevel = logLevel;
69
69
  }
70
+ // ── Clean Existing Workers (default: true) ──
71
+ this.cleanExistingWorkers =
72
+ userConfig?.cleanExistingWorkers !== undefined
73
+ ? userConfig.cleanExistingWorkers
74
+ : process.env.TANKSYNC_CLEAN_EXISTING_WORKERS === 'false' ? false : true;
70
75
  this.validate();
71
76
  }
72
77
  validate() {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -45,7 +45,8 @@ export declare class GamePayloadClient {
45
45
  */
46
46
  clearCache(): Promise<void>;
47
47
  /**
48
- * Gracefully shutdown client
48
+ * Close client and detach from worker process
49
+ * This is the standard behavior - worker should survive parent termination
49
50
  */
50
51
  close(): Promise<void>;
51
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGxE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,aAAa,CAAS;gBAElB,UAAU,CAAC,EAAE,YAAY;IAcrC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgFjC;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAwCrE;;OAEG;IACH,SAAS,IAAI;QACX,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE;YACb,OAAO,EAAE,OAAO,CAAC;YACjB,OAAO,EAAE,OAAO,CAAC;YACjB,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC;IAQD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC;QAC7B,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,QAAQ,EAAE,GAAG,CAAC;KACf,CAAC;IAIF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB7B;AAGD,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGxE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,aAAa,CAAS;gBAElB,UAAU,CAAC,EAAE,YAAY;IAcrC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsFjC;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAwCrE;;OAEG;IACH,SAAS,IAAI;QACX,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE;YACb,OAAO,EAAE,OAAO,CAAC;YACjB,OAAO,EAAE,OAAO,CAAC;YACjB,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC;IAQD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC;QAC7B,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,QAAQ,EAAE,GAAG,CAAC;KACf,CAAC;IAIF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA6B7B;AAGD,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -33,6 +33,11 @@ class GamePayloadClient {
33
33
  }
34
34
  try {
35
35
  this.logger.info('Initializing GamePayloadClient...');
36
+ // Clean existing workers if configured
37
+ if (this.config.cleanExistingWorkers) {
38
+ this.logger.info('Cleaning existing worker processes...');
39
+ await payload_worker_1.PayloadWorker.killExistingWorkers();
40
+ }
36
41
  // Step 1: Initialize cache
37
42
  await this.cache.initialize();
38
43
  const payloadPath = this.cache.getPayloadPath();
@@ -140,7 +145,8 @@ class GamePayloadClient {
140
145
  this.logger.info('Cache cleared');
141
146
  }
142
147
  /**
143
- * Gracefully shutdown client
148
+ * Close client and detach from worker process
149
+ * This is the standard behavior - worker should survive parent termination
144
150
  */
145
151
  async close() {
146
152
  if (!this.isInitialized) {
@@ -148,14 +154,22 @@ class GamePayloadClient {
148
154
  }
149
155
  try {
150
156
  this.logger.info('Closing GamePayloadClient');
157
+ // Detach from worker without shutting it down
151
158
  if (this.worker) {
152
- await this.worker.shutdown();
159
+ this.worker.detach();
153
160
  }
161
+ // Worker process survives and continues running
162
+ this.worker = null;
154
163
  this.isInitialized = false;
155
- this.logger.info('GamePayloadClient closed successfully');
164
+ this.logger.info('GamePayloadClient closed, worker continues in background');
165
+ // Exit parent process in next tick
166
+ // Worker survives due to detached: true + unref()
167
+ setImmediate(() => {
168
+ process.exit(0);
169
+ });
156
170
  }
157
171
  catch (error) {
158
- this.logger.error('Error during shutdown:', error);
172
+ this.logger.error('Error during close:', error);
159
173
  throw error;
160
174
  }
161
175
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * TankSync Payload Worker
3
- * Manages child process lifecycle and IPC communication
4
3
  */
5
4
  import { Logger } from './logger';
6
5
  import { IPCRequest, PurchaseRequest } from './types';
@@ -12,6 +11,10 @@ export declare class PayloadWorker {
12
11
  private isReady;
13
12
  private pendingRequests;
14
13
  constructor(logger: Logger, payloadPath: string, requestTimeout: number);
14
+ /**
15
+ * Kill existing worker processes from this project (Windows/Mac/Linux compatible)
16
+ */
17
+ static killExistingWorkers(): Promise<void>;
15
18
  /**
16
19
  * Start worker process and wait for ready signal
17
20
  */
@@ -32,6 +35,11 @@ export declare class PayloadWorker {
32
35
  * Handle message from worker
33
36
  */
34
37
  private handleMessage;
38
+ /**
39
+ * Detach from worker without killing it
40
+ * Removes all event listeners so parent can exit
41
+ */
42
+ detach(): void;
35
43
  /**
36
44
  * Gracefully shutdown worker
37
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"payload-worker.d.ts","sourceRoot":"","sources":["../src/payload-worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAEL,UAAU,EACV,eAAe,EAEhB,MAAM,SAAS,CAAC;AASjB,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAyB;gBAEpC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAMvE;;OAEG;IACG,KAAK,CAAC,gBAAgB,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsE3D;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAS1D;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IA8BpD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyD5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAyBrB;;OAEG;IACG,QAAQ,CAAC,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB;CAOF"}
1
+ {"version":3,"file":"payload-worker.d.ts","sourceRoot":"","sources":["../src/payload-worker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAEL,UAAU,EACV,eAAe,EAEhB,MAAM,SAAS,CAAC;AASjB,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAyB;gBAEpC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAMvE;;OAEG;WACU,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyDjD;;OAEG;IACG,KAAK,CAAC,gBAAgB,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoE3D;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAS1D;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IA8BpD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyD5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAyBrB;;;OAGG;IACH,MAAM,IAAI,IAAI;IA0Bd;;OAEG;IACG,QAAQ,CAAC,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB;CAOF"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
3
  * TankSync Payload Worker
4
- * Manages child process lifecycle and IPC communication
5
4
  */
6
5
  Object.defineProperty(exports, "__esModule", { value: true });
7
6
  exports.PayloadWorker = void 0;
@@ -17,6 +16,69 @@ class PayloadWorker {
17
16
  this.payloadPath = payloadPath;
18
17
  this.requestTimeout = requestTimeout;
19
18
  }
19
+ /**
20
+ * Kill existing worker processes from this project (Windows/Mac/Linux compatible)
21
+ */
22
+ static async killExistingWorkers() {
23
+ const { execSync } = require('child_process');
24
+ try {
25
+ const platform = process.platform;
26
+ if (platform === 'win32') {
27
+ // Windows: tasklist + find processes
28
+ try {
29
+ const output = execSync('tasklist /FI "IMAGENAME eq node.exe"', { encoding: 'utf-8' });
30
+ // Parse and kill item.js processes only (this project's workers)
31
+ const lines = output.split('\n');
32
+ for (const line of lines) {
33
+ if (line.includes('node.exe')) {
34
+ const match = line.match(/node\.exe\s+(\d+)/);
35
+ if (match) {
36
+ const pid = parseInt(match[1]);
37
+ if (pid !== process.pid) {
38
+ try {
39
+ process.kill(pid, 'SIGTERM');
40
+ }
41
+ catch (e) {
42
+ // Already dead
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ catch (e) {
50
+ // Ignore if tasklist fails
51
+ }
52
+ }
53
+ else {
54
+ // Unix/Linux/Mac: ps + grep
55
+ try {
56
+ const output = execSync('ps aux | grep node', { encoding: 'utf-8', shell: '/bin/bash' });
57
+ const lines = output.split('\n');
58
+ for (const line of lines) {
59
+ if (line.includes('item.js') && !line.includes('grep')) {
60
+ const parts = line.trim().split(/\s+/);
61
+ const pid = parseInt(parts[1]);
62
+ if (pid && pid !== process.pid) {
63
+ try {
64
+ process.kill(pid, 'SIGTERM');
65
+ }
66
+ catch (e) {
67
+ // Already dead
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ catch (e) {
74
+ // Ignore if ps fails
75
+ }
76
+ }
77
+ }
78
+ catch (e) {
79
+ // Silently ignore errors
80
+ }
81
+ }
20
82
  /**
21
83
  * Start worker process and wait for ready signal
22
84
  */
@@ -24,9 +86,6 @@ class PayloadWorker {
24
86
  this.logger.info('Starting payload worker process');
25
87
  return new Promise((resolve, reject) => {
26
88
  try {
27
- // Use spawn() with detached: true for cross-platform independence
28
- // On Windows: creates new job object (CREATE_NEW_PROCESS_GROUP)
29
- // On Unix/Linux/Mac: creates new process session (setsid equivalent)
30
89
  const spawnOptions = {
31
90
  stdio: ['pipe', 'pipe', 'pipe'],
32
91
  detached: true
@@ -201,6 +260,31 @@ class PayloadWorker {
201
260
  pending.reject(new Error(errorMessage));
202
261
  }
203
262
  }
263
+ /**
264
+ * Detach from worker without killing it
265
+ * Removes all event listeners so parent can exit
266
+ */
267
+ detach() {
268
+ if (!this.process) {
269
+ return;
270
+ }
271
+ try {
272
+ // Remove all event listeners from streams
273
+ this.process.stdout?.removeAllListeners();
274
+ this.process.stderr?.removeAllListeners();
275
+ this.process.stdin?.removeAllListeners();
276
+ // Remove all event listeners from process
277
+ this.process.removeAllListeners();
278
+ // Unref to remove from event loop
279
+ this.process.unref();
280
+ // Clear pending requests to remove references
281
+ this.pendingRequests.clear();
282
+ // Worker process continues independently
283
+ }
284
+ catch (error) {
285
+ this.logger.debug('Error during detach:', error);
286
+ }
287
+ }
204
288
  /**
205
289
  * Gracefully shutdown worker
206
290
  */
@@ -1 +1 @@
1
- {"version":3,"file":"payload-worker.js","sourceRoot":"","sources":["../src/payload-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload-worker.js","sourceRoot":"","sources":["../src/payload-worker.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -10,6 +10,7 @@ export interface ClientConfig {
10
10
  requestTimeout?: number;
11
11
  maxPayloadSize?: number;
12
12
  logLevel?: LogLevel;
13
+ cleanExistingWorkers?: boolean;
13
14
  }
14
15
  export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
15
16
  export interface PurchaseRequest {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAGD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAGD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tanksync",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "Production-ready Node.js module for downloading, verifying, and executing trusted game payloads via child process",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",