quake2ts 0.0.301 → 0.0.302

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 (32) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js +8 -8
  3. package/packages/client/dist/browser/index.global.js.map +1 -1
  4. package/packages/client/dist/cjs/index.cjs +180 -36
  5. package/packages/client/dist/cjs/index.cjs.map +1 -1
  6. package/packages/client/dist/esm/index.js +180 -36
  7. package/packages/client/dist/esm/index.js.map +1 -1
  8. package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
  9. package/packages/engine/dist/browser/index.global.js +9 -9
  10. package/packages/engine/dist/browser/index.global.js.map +1 -1
  11. package/packages/engine/dist/cjs/index.cjs +90 -18
  12. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  13. package/packages/engine/dist/esm/index.js +90 -18
  14. package/packages/engine/dist/esm/index.js.map +1 -1
  15. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  16. package/packages/game/dist/browser/index.global.js +4 -4
  17. package/packages/game/dist/browser/index.global.js.map +1 -1
  18. package/packages/game/dist/cjs/index.cjs +90 -18
  19. package/packages/game/dist/cjs/index.cjs.map +1 -1
  20. package/packages/game/dist/esm/index.js +90 -18
  21. package/packages/game/dist/esm/index.js.map +1 -1
  22. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  23. package/packages/shared/dist/browser/index.global.js +1 -1
  24. package/packages/shared/dist/browser/index.global.js.map +1 -1
  25. package/packages/shared/dist/cjs/index.cjs +97 -19
  26. package/packages/shared/dist/cjs/index.cjs.map +1 -1
  27. package/packages/shared/dist/esm/index.js +97 -19
  28. package/packages/shared/dist/esm/index.js.map +1 -1
  29. package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
  30. package/packages/shared/dist/types/net/netchan.d.ts +5 -0
  31. package/packages/shared/dist/types/net/netchan.d.ts.map +1 -1
  32. package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
@@ -2410,10 +2410,14 @@ var _NetChan = class _NetChan2 {
2410
2410
  this.incomingReliableSequence = 0;
2411
2411
  this.outgoingReliableSequence = 0;
2412
2412
  this.reliableLength = 0;
2413
+ this.fragmentSendOffset = 0;
2414
+ this.fragmentBuffer = null;
2415
+ this.fragmentLength = 0;
2416
+ this.fragmentReceived = 0;
2413
2417
  this.lastReceived = 0;
2414
2418
  this.lastSent = 0;
2415
2419
  this.remoteAddress = null;
2416
- this.reliableMessage = new BinaryWriter(_NetChan2.MAX_MSGLEN);
2420
+ this.reliableMessage = new BinaryWriter(_NetChan2.MAX_RELIABLE_BUFFER);
2417
2421
  const now = Date.now();
2418
2422
  this.lastReceived = now;
2419
2423
  this.lastSent = now;
@@ -2439,6 +2443,10 @@ var _NetChan = class _NetChan2 {
2439
2443
  this.outgoingReliableSequence = 0;
2440
2444
  this.reliableLength = 0;
2441
2445
  this.reliableMessage.reset();
2446
+ this.fragmentSendOffset = 0;
2447
+ this.fragmentBuffer = null;
2448
+ this.fragmentLength = 0;
2449
+ this.fragmentReceived = 0;
2442
2450
  this.lastReceived = Date.now();
2443
2451
  this.lastSent = Date.now();
2444
2452
  }
@@ -2448,18 +2456,38 @@ var _NetChan = class _NetChan2 {
2448
2456
  transmit(unreliableData) {
2449
2457
  this.outgoingSequence++;
2450
2458
  this.lastSent = Date.now();
2459
+ let sendReliableLength = 0;
2460
+ let isFragment = false;
2461
+ let fragmentStart = 0;
2462
+ if (this.reliableLength > 0) {
2463
+ if (this.reliableLength > _NetChan2.FRAGMENT_SIZE) {
2464
+ isFragment = true;
2465
+ if (this.fragmentSendOffset >= this.reliableLength) {
2466
+ this.fragmentSendOffset = 0;
2467
+ }
2468
+ const remaining = this.reliableLength - this.fragmentSendOffset;
2469
+ sendReliableLength = remaining;
2470
+ if (sendReliableLength > _NetChan2.FRAGMENT_SIZE) {
2471
+ sendReliableLength = _NetChan2.FRAGMENT_SIZE;
2472
+ }
2473
+ fragmentStart = this.fragmentSendOffset;
2474
+ this.fragmentSendOffset += sendReliableLength;
2475
+ } else {
2476
+ sendReliableLength = this.reliableLength;
2477
+ }
2478
+ }
2451
2479
  const headerSize = _NetChan2.PACKET_HEADER;
2452
- const reliableSize = this.reliableLength > 0 ? this.reliableLength + 2 : 0;
2480
+ const reliableHeaderSize = sendReliableLength > 0 ? 2 + (isFragment ? 8 : 0) : 0;
2453
2481
  let unreliableSize = unreliableData ? unreliableData.length : 0;
2454
- if (headerSize + reliableSize + unreliableSize > _NetChan2.MAX_MSGLEN) {
2455
- unreliableSize = _NetChan2.MAX_MSGLEN - headerSize - reliableSize;
2482
+ if (headerSize + reliableHeaderSize + sendReliableLength + unreliableSize > _NetChan2.MAX_MSGLEN) {
2483
+ unreliableSize = _NetChan2.MAX_MSGLEN - headerSize - reliableHeaderSize - sendReliableLength;
2456
2484
  if (unreliableSize < 0) unreliableSize = 0;
2457
2485
  }
2458
- const buffer = new ArrayBuffer(headerSize + reliableSize + unreliableSize);
2486
+ const buffer = new ArrayBuffer(headerSize + reliableHeaderSize + sendReliableLength + unreliableSize);
2459
2487
  const view = new DataView(buffer);
2460
2488
  const result = new Uint8Array(buffer);
2461
2489
  let sequence = this.outgoingSequence;
2462
- if (this.reliableLength > 0) {
2490
+ if (sendReliableLength > 0) {
2463
2491
  sequence |= 2147483648;
2464
2492
  if ((this.outgoingReliableSequence & 1) !== 0) {
2465
2493
  sequence |= 1073741824;
@@ -2473,13 +2501,23 @@ var _NetChan = class _NetChan2 {
2473
2501
  view.setUint32(4, ack, true);
2474
2502
  view.setUint16(8, this.qport, true);
2475
2503
  let offset = headerSize;
2476
- if (this.reliableLength > 0) {
2477
- view.setUint16(offset, this.reliableLength, true);
2504
+ if (sendReliableLength > 0) {
2505
+ let lengthField = sendReliableLength;
2506
+ if (isFragment) {
2507
+ lengthField |= 32768;
2508
+ }
2509
+ view.setUint16(offset, lengthField, true);
2478
2510
  offset += 2;
2511
+ if (isFragment) {
2512
+ view.setUint32(offset, fragmentStart, true);
2513
+ offset += 4;
2514
+ view.setUint32(offset, this.reliableLength, true);
2515
+ offset += 4;
2516
+ }
2479
2517
  const reliableBuffer = this.reliableMessage.getBuffer();
2480
- const reliableBytes = reliableBuffer.subarray(0, this.reliableLength);
2518
+ const reliableBytes = reliableBuffer.subarray(fragmentStart, fragmentStart + sendReliableLength);
2481
2519
  result.set(reliableBytes, offset);
2482
- offset += this.reliableLength;
2520
+ offset += sendReliableLength;
2483
2521
  }
2484
2522
  if (unreliableData && unreliableSize > 0) {
2485
2523
  const chunk = unreliableData.slice(0, unreliableSize);
@@ -2520,6 +2558,7 @@ var _NetChan = class _NetChan2 {
2520
2558
  this.reliableLength = 0;
2521
2559
  this.reliableMessage.reset();
2522
2560
  this.outgoingReliableSequence ^= 1;
2561
+ this.fragmentSendOffset = 0;
2523
2562
  }
2524
2563
  }
2525
2564
  const hasReliableData = (sequence & 2147483648) !== 0;
@@ -2528,13 +2567,45 @@ var _NetChan = class _NetChan2 {
2528
2567
  let reliableData = null;
2529
2568
  if (hasReliableData) {
2530
2569
  if (payloadOffset + 2 > packet.byteLength) return null;
2531
- const reliableLen = view.getUint16(payloadOffset, true);
2570
+ let reliableLen = view.getUint16(payloadOffset, true);
2532
2571
  payloadOffset += 2;
2572
+ const isFragment = (reliableLen & 32768) !== 0;
2573
+ reliableLen &= 32767;
2533
2574
  const expectedBit = this.incomingReliableSequence & 1;
2534
2575
  if (reliableSeqBit === expectedBit) {
2535
- this.incomingReliableSequence++;
2536
- if (payloadOffset + reliableLen > packet.byteLength) return null;
2537
- reliableData = packet.slice(payloadOffset, payloadOffset + reliableLen);
2576
+ if (isFragment) {
2577
+ if (payloadOffset + 8 > packet.byteLength) return null;
2578
+ const fragStart = view.getUint32(payloadOffset, true);
2579
+ payloadOffset += 4;
2580
+ const fragTotal = view.getUint32(payloadOffset, true);
2581
+ payloadOffset += 4;
2582
+ if (fragTotal > _NetChan2.MAX_RELIABLE_BUFFER) {
2583
+ console.warn(`NetChan: received invalid fragment total ${fragTotal} > ${_NetChan2.MAX_RELIABLE_BUFFER}`);
2584
+ return null;
2585
+ }
2586
+ if (!this.fragmentBuffer || this.fragmentBuffer.length !== fragTotal) {
2587
+ this.fragmentBuffer = new Uint8Array(fragTotal);
2588
+ this.fragmentLength = fragTotal;
2589
+ this.fragmentReceived = 0;
2590
+ }
2591
+ if (payloadOffset + reliableLen > packet.byteLength) return null;
2592
+ const data = packet.subarray(payloadOffset, payloadOffset + reliableLen);
2593
+ if (fragStart === this.fragmentReceived && fragStart + reliableLen <= fragTotal) {
2594
+ this.fragmentBuffer.set(data, fragStart);
2595
+ this.fragmentReceived += reliableLen;
2596
+ if (this.fragmentReceived >= fragTotal) {
2597
+ reliableData = this.fragmentBuffer;
2598
+ this.incomingReliableSequence++;
2599
+ this.fragmentBuffer = null;
2600
+ this.fragmentLength = 0;
2601
+ this.fragmentReceived = 0;
2602
+ }
2603
+ }
2604
+ } else {
2605
+ this.incomingReliableSequence++;
2606
+ if (payloadOffset + reliableLen > packet.byteLength) return null;
2607
+ reliableData = packet.slice(payloadOffset, payloadOffset + reliableLen);
2608
+ }
2538
2609
  }
2539
2610
  payloadOffset += reliableLen;
2540
2611
  }
@@ -2561,7 +2632,7 @@ var _NetChan = class _NetChan2 {
2561
2632
  * Writes a byte to the reliable message buffer
2562
2633
  */
2563
2634
  writeReliableByte(value) {
2564
- if (this.reliableLength + 1 > _NetChan2.MAX_MSGLEN - _NetChan2.HEADER_OVERHEAD) {
2635
+ if (this.reliableLength + 1 > _NetChan2.MAX_RELIABLE_BUFFER) {
2565
2636
  throw new Error("NetChan reliable buffer overflow");
2566
2637
  }
2567
2638
  this.reliableMessage.writeByte(value);
@@ -2571,7 +2642,7 @@ var _NetChan = class _NetChan2 {
2571
2642
  * Writes a short to the reliable message buffer
2572
2643
  */
2573
2644
  writeReliableShort(value) {
2574
- if (this.reliableLength + 2 > _NetChan2.MAX_MSGLEN - _NetChan2.HEADER_OVERHEAD) {
2645
+ if (this.reliableLength + 2 > _NetChan2.MAX_RELIABLE_BUFFER) {
2575
2646
  throw new Error("NetChan reliable buffer overflow");
2576
2647
  }
2577
2648
  this.reliableMessage.writeShort(value);
@@ -2581,7 +2652,7 @@ var _NetChan = class _NetChan2 {
2581
2652
  * Writes a long to the reliable message buffer
2582
2653
  */
2583
2654
  writeReliableLong(value) {
2584
- if (this.reliableLength + 4 > _NetChan2.MAX_MSGLEN - _NetChan2.HEADER_OVERHEAD) {
2655
+ if (this.reliableLength + 4 > _NetChan2.MAX_RELIABLE_BUFFER) {
2585
2656
  throw new Error("NetChan reliable buffer overflow");
2586
2657
  }
2587
2658
  this.reliableMessage.writeLong(value);
@@ -2592,7 +2663,7 @@ var _NetChan = class _NetChan2 {
2592
2663
  */
2593
2664
  writeReliableString(value) {
2594
2665
  const len2 = value.length + 1;
2595
- if (this.reliableLength + len2 > _NetChan2.MAX_MSGLEN - _NetChan2.HEADER_OVERHEAD) {
2666
+ if (this.reliableLength + len2 > _NetChan2.MAX_RELIABLE_BUFFER) {
2596
2667
  throw new Error("NetChan reliable buffer overflow");
2597
2668
  }
2598
2669
  this.reliableMessage.writeString(value);
@@ -2625,6 +2696,7 @@ _NetChan.MAX_MSGLEN = 1400;
2625
2696
  _NetChan.FRAGMENT_SIZE = 1024;
2626
2697
  _NetChan.PACKET_HEADER = 10;
2627
2698
  _NetChan.HEADER_OVERHEAD = _NetChan.PACKET_HEADER + 2;
2699
+ _NetChan.MAX_RELIABLE_BUFFER = 262144;
2628
2700
  var AmmoType = /* @__PURE__ */ ((AmmoType22) => {
2629
2701
  AmmoType22[AmmoType22["Bullets"] = 0] = "Bullets";
2630
2702
  AmmoType22[AmmoType22["Shells"] = 1] = "Shells";
@@ -9394,10 +9466,14 @@ var _NetChan3 = class _NetChan4 {
9394
9466
  this.incomingReliableSequence = 0;
9395
9467
  this.outgoingReliableSequence = 0;
9396
9468
  this.reliableLength = 0;
9469
+ this.fragmentSendOffset = 0;
9470
+ this.fragmentBuffer = null;
9471
+ this.fragmentLength = 0;
9472
+ this.fragmentReceived = 0;
9397
9473
  this.lastReceived = 0;
9398
9474
  this.lastSent = 0;
9399
9475
  this.remoteAddress = null;
9400
- this.reliableMessage = new BinaryWriter2(_NetChan4.MAX_MSGLEN);
9476
+ this.reliableMessage = new BinaryWriter2(_NetChan4.MAX_RELIABLE_BUFFER);
9401
9477
  const now = Date.now();
9402
9478
  this.lastReceived = now;
9403
9479
  this.lastSent = now;
@@ -9423,6 +9499,10 @@ var _NetChan3 = class _NetChan4 {
9423
9499
  this.outgoingReliableSequence = 0;
9424
9500
  this.reliableLength = 0;
9425
9501
  this.reliableMessage.reset();
9502
+ this.fragmentSendOffset = 0;
9503
+ this.fragmentBuffer = null;
9504
+ this.fragmentLength = 0;
9505
+ this.fragmentReceived = 0;
9426
9506
  this.lastReceived = Date.now();
9427
9507
  this.lastSent = Date.now();
9428
9508
  }
@@ -9432,18 +9512,38 @@ var _NetChan3 = class _NetChan4 {
9432
9512
  transmit(unreliableData) {
9433
9513
  this.outgoingSequence++;
9434
9514
  this.lastSent = Date.now();
9515
+ let sendReliableLength = 0;
9516
+ let isFragment = false;
9517
+ let fragmentStart = 0;
9518
+ if (this.reliableLength > 0) {
9519
+ if (this.reliableLength > _NetChan4.FRAGMENT_SIZE) {
9520
+ isFragment = true;
9521
+ if (this.fragmentSendOffset >= this.reliableLength) {
9522
+ this.fragmentSendOffset = 0;
9523
+ }
9524
+ const remaining = this.reliableLength - this.fragmentSendOffset;
9525
+ sendReliableLength = remaining;
9526
+ if (sendReliableLength > _NetChan4.FRAGMENT_SIZE) {
9527
+ sendReliableLength = _NetChan4.FRAGMENT_SIZE;
9528
+ }
9529
+ fragmentStart = this.fragmentSendOffset;
9530
+ this.fragmentSendOffset += sendReliableLength;
9531
+ } else {
9532
+ sendReliableLength = this.reliableLength;
9533
+ }
9534
+ }
9435
9535
  const headerSize = _NetChan4.PACKET_HEADER;
9436
- const reliableSize = this.reliableLength > 0 ? this.reliableLength + 2 : 0;
9536
+ const reliableHeaderSize = sendReliableLength > 0 ? 2 + (isFragment ? 8 : 0) : 0;
9437
9537
  let unreliableSize = unreliableData ? unreliableData.length : 0;
9438
- if (headerSize + reliableSize + unreliableSize > _NetChan4.MAX_MSGLEN) {
9439
- unreliableSize = _NetChan4.MAX_MSGLEN - headerSize - reliableSize;
9538
+ if (headerSize + reliableHeaderSize + sendReliableLength + unreliableSize > _NetChan4.MAX_MSGLEN) {
9539
+ unreliableSize = _NetChan4.MAX_MSGLEN - headerSize - reliableHeaderSize - sendReliableLength;
9440
9540
  if (unreliableSize < 0) unreliableSize = 0;
9441
9541
  }
9442
- const buffer = new ArrayBuffer(headerSize + reliableSize + unreliableSize);
9542
+ const buffer = new ArrayBuffer(headerSize + reliableHeaderSize + sendReliableLength + unreliableSize);
9443
9543
  const view = new DataView(buffer);
9444
9544
  const result = new Uint8Array(buffer);
9445
9545
  let sequence = this.outgoingSequence;
9446
- if (this.reliableLength > 0) {
9546
+ if (sendReliableLength > 0) {
9447
9547
  sequence |= 2147483648;
9448
9548
  if ((this.outgoingReliableSequence & 1) !== 0) {
9449
9549
  sequence |= 1073741824;
@@ -9457,13 +9557,23 @@ var _NetChan3 = class _NetChan4 {
9457
9557
  view.setUint32(4, ack, true);
9458
9558
  view.setUint16(8, this.qport, true);
9459
9559
  let offset = headerSize;
9460
- if (this.reliableLength > 0) {
9461
- view.setUint16(offset, this.reliableLength, true);
9560
+ if (sendReliableLength > 0) {
9561
+ let lengthField = sendReliableLength;
9562
+ if (isFragment) {
9563
+ lengthField |= 32768;
9564
+ }
9565
+ view.setUint16(offset, lengthField, true);
9462
9566
  offset += 2;
9567
+ if (isFragment) {
9568
+ view.setUint32(offset, fragmentStart, true);
9569
+ offset += 4;
9570
+ view.setUint32(offset, this.reliableLength, true);
9571
+ offset += 4;
9572
+ }
9463
9573
  const reliableBuffer = this.reliableMessage.getBuffer();
9464
- const reliableBytes = reliableBuffer.subarray(0, this.reliableLength);
9574
+ const reliableBytes = reliableBuffer.subarray(fragmentStart, fragmentStart + sendReliableLength);
9465
9575
  result.set(reliableBytes, offset);
9466
- offset += this.reliableLength;
9576
+ offset += sendReliableLength;
9467
9577
  }
9468
9578
  if (unreliableData && unreliableSize > 0) {
9469
9579
  const chunk = unreliableData.slice(0, unreliableSize);
@@ -9504,6 +9614,7 @@ var _NetChan3 = class _NetChan4 {
9504
9614
  this.reliableLength = 0;
9505
9615
  this.reliableMessage.reset();
9506
9616
  this.outgoingReliableSequence ^= 1;
9617
+ this.fragmentSendOffset = 0;
9507
9618
  }
9508
9619
  }
9509
9620
  const hasReliableData = (sequence & 2147483648) !== 0;
@@ -9512,13 +9623,45 @@ var _NetChan3 = class _NetChan4 {
9512
9623
  let reliableData = null;
9513
9624
  if (hasReliableData) {
9514
9625
  if (payloadOffset + 2 > packet.byteLength) return null;
9515
- const reliableLen = view.getUint16(payloadOffset, true);
9626
+ let reliableLen = view.getUint16(payloadOffset, true);
9516
9627
  payloadOffset += 2;
9628
+ const isFragment = (reliableLen & 32768) !== 0;
9629
+ reliableLen &= 32767;
9517
9630
  const expectedBit = this.incomingReliableSequence & 1;
9518
9631
  if (reliableSeqBit === expectedBit) {
9519
- this.incomingReliableSequence++;
9520
- if (payloadOffset + reliableLen > packet.byteLength) return null;
9521
- reliableData = packet.slice(payloadOffset, payloadOffset + reliableLen);
9632
+ if (isFragment) {
9633
+ if (payloadOffset + 8 > packet.byteLength) return null;
9634
+ const fragStart = view.getUint32(payloadOffset, true);
9635
+ payloadOffset += 4;
9636
+ const fragTotal = view.getUint32(payloadOffset, true);
9637
+ payloadOffset += 4;
9638
+ if (fragTotal > _NetChan4.MAX_RELIABLE_BUFFER) {
9639
+ console.warn(`NetChan: received invalid fragment total ${fragTotal} > ${_NetChan4.MAX_RELIABLE_BUFFER}`);
9640
+ return null;
9641
+ }
9642
+ if (!this.fragmentBuffer || this.fragmentBuffer.length !== fragTotal) {
9643
+ this.fragmentBuffer = new Uint8Array(fragTotal);
9644
+ this.fragmentLength = fragTotal;
9645
+ this.fragmentReceived = 0;
9646
+ }
9647
+ if (payloadOffset + reliableLen > packet.byteLength) return null;
9648
+ const data = packet.subarray(payloadOffset, payloadOffset + reliableLen);
9649
+ if (fragStart === this.fragmentReceived && fragStart + reliableLen <= fragTotal) {
9650
+ this.fragmentBuffer.set(data, fragStart);
9651
+ this.fragmentReceived += reliableLen;
9652
+ if (this.fragmentReceived >= fragTotal) {
9653
+ reliableData = this.fragmentBuffer;
9654
+ this.incomingReliableSequence++;
9655
+ this.fragmentBuffer = null;
9656
+ this.fragmentLength = 0;
9657
+ this.fragmentReceived = 0;
9658
+ }
9659
+ }
9660
+ } else {
9661
+ this.incomingReliableSequence++;
9662
+ if (payloadOffset + reliableLen > packet.byteLength) return null;
9663
+ reliableData = packet.slice(payloadOffset, payloadOffset + reliableLen);
9664
+ }
9522
9665
  }
9523
9666
  payloadOffset += reliableLen;
9524
9667
  }
@@ -9545,7 +9688,7 @@ var _NetChan3 = class _NetChan4 {
9545
9688
  * Writes a byte to the reliable message buffer
9546
9689
  */
9547
9690
  writeReliableByte(value) {
9548
- if (this.reliableLength + 1 > _NetChan4.MAX_MSGLEN - _NetChan4.HEADER_OVERHEAD) {
9691
+ if (this.reliableLength + 1 > _NetChan4.MAX_RELIABLE_BUFFER) {
9549
9692
  throw new Error("NetChan reliable buffer overflow");
9550
9693
  }
9551
9694
  this.reliableMessage.writeByte(value);
@@ -9555,7 +9698,7 @@ var _NetChan3 = class _NetChan4 {
9555
9698
  * Writes a short to the reliable message buffer
9556
9699
  */
9557
9700
  writeReliableShort(value) {
9558
- if (this.reliableLength + 2 > _NetChan4.MAX_MSGLEN - _NetChan4.HEADER_OVERHEAD) {
9701
+ if (this.reliableLength + 2 > _NetChan4.MAX_RELIABLE_BUFFER) {
9559
9702
  throw new Error("NetChan reliable buffer overflow");
9560
9703
  }
9561
9704
  this.reliableMessage.writeShort(value);
@@ -9565,7 +9708,7 @@ var _NetChan3 = class _NetChan4 {
9565
9708
  * Writes a long to the reliable message buffer
9566
9709
  */
9567
9710
  writeReliableLong(value) {
9568
- if (this.reliableLength + 4 > _NetChan4.MAX_MSGLEN - _NetChan4.HEADER_OVERHEAD) {
9711
+ if (this.reliableLength + 4 > _NetChan4.MAX_RELIABLE_BUFFER) {
9569
9712
  throw new Error("NetChan reliable buffer overflow");
9570
9713
  }
9571
9714
  this.reliableMessage.writeLong(value);
@@ -9576,7 +9719,7 @@ var _NetChan3 = class _NetChan4 {
9576
9719
  */
9577
9720
  writeReliableString(value) {
9578
9721
  const len2 = value.length + 1;
9579
- if (this.reliableLength + len2 > _NetChan4.MAX_MSGLEN - _NetChan4.HEADER_OVERHEAD) {
9722
+ if (this.reliableLength + len2 > _NetChan4.MAX_RELIABLE_BUFFER) {
9580
9723
  throw new Error("NetChan reliable buffer overflow");
9581
9724
  }
9582
9725
  this.reliableMessage.writeString(value);
@@ -9609,6 +9752,7 @@ _NetChan3.MAX_MSGLEN = 1400;
9609
9752
  _NetChan3.FRAGMENT_SIZE = 1024;
9610
9753
  _NetChan3.PACKET_HEADER = 10;
9611
9754
  _NetChan3.HEADER_OVERHEAD = _NetChan3.PACKET_HEADER + 2;
9755
+ _NetChan3.MAX_RELIABLE_BUFFER = 262144;
9612
9756
  var NetChan = _NetChan3;
9613
9757
  var AmmoType2 = /* @__PURE__ */ ((AmmoType22) => {
9614
9758
  AmmoType22[AmmoType22["Bullets"] = 0] = "Bullets";