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
@@ -2442,10 +2442,14 @@ var _NetChan = class _NetChan2 {
2442
2442
  this.incomingReliableSequence = 0;
2443
2443
  this.outgoingReliableSequence = 0;
2444
2444
  this.reliableLength = 0;
2445
+ this.fragmentSendOffset = 0;
2446
+ this.fragmentBuffer = null;
2447
+ this.fragmentLength = 0;
2448
+ this.fragmentReceived = 0;
2445
2449
  this.lastReceived = 0;
2446
2450
  this.lastSent = 0;
2447
2451
  this.remoteAddress = null;
2448
- this.reliableMessage = new BinaryWriter(_NetChan2.MAX_MSGLEN);
2452
+ this.reliableMessage = new BinaryWriter(_NetChan2.MAX_RELIABLE_BUFFER);
2449
2453
  const now = Date.now();
2450
2454
  this.lastReceived = now;
2451
2455
  this.lastSent = now;
@@ -2471,6 +2475,10 @@ var _NetChan = class _NetChan2 {
2471
2475
  this.outgoingReliableSequence = 0;
2472
2476
  this.reliableLength = 0;
2473
2477
  this.reliableMessage.reset();
2478
+ this.fragmentSendOffset = 0;
2479
+ this.fragmentBuffer = null;
2480
+ this.fragmentLength = 0;
2481
+ this.fragmentReceived = 0;
2474
2482
  this.lastReceived = Date.now();
2475
2483
  this.lastSent = Date.now();
2476
2484
  }
@@ -2480,18 +2488,38 @@ var _NetChan = class _NetChan2 {
2480
2488
  transmit(unreliableData) {
2481
2489
  this.outgoingSequence++;
2482
2490
  this.lastSent = Date.now();
2491
+ let sendReliableLength = 0;
2492
+ let isFragment = false;
2493
+ let fragmentStart = 0;
2494
+ if (this.reliableLength > 0) {
2495
+ if (this.reliableLength > _NetChan2.FRAGMENT_SIZE) {
2496
+ isFragment = true;
2497
+ if (this.fragmentSendOffset >= this.reliableLength) {
2498
+ this.fragmentSendOffset = 0;
2499
+ }
2500
+ const remaining = this.reliableLength - this.fragmentSendOffset;
2501
+ sendReliableLength = remaining;
2502
+ if (sendReliableLength > _NetChan2.FRAGMENT_SIZE) {
2503
+ sendReliableLength = _NetChan2.FRAGMENT_SIZE;
2504
+ }
2505
+ fragmentStart = this.fragmentSendOffset;
2506
+ this.fragmentSendOffset += sendReliableLength;
2507
+ } else {
2508
+ sendReliableLength = this.reliableLength;
2509
+ }
2510
+ }
2483
2511
  const headerSize = _NetChan2.PACKET_HEADER;
2484
- const reliableSize = this.reliableLength > 0 ? this.reliableLength + 2 : 0;
2512
+ const reliableHeaderSize = sendReliableLength > 0 ? 2 + (isFragment ? 8 : 0) : 0;
2485
2513
  let unreliableSize = unreliableData ? unreliableData.length : 0;
2486
- if (headerSize + reliableSize + unreliableSize > _NetChan2.MAX_MSGLEN) {
2487
- unreliableSize = _NetChan2.MAX_MSGLEN - headerSize - reliableSize;
2514
+ if (headerSize + reliableHeaderSize + sendReliableLength + unreliableSize > _NetChan2.MAX_MSGLEN) {
2515
+ unreliableSize = _NetChan2.MAX_MSGLEN - headerSize - reliableHeaderSize - sendReliableLength;
2488
2516
  if (unreliableSize < 0) unreliableSize = 0;
2489
2517
  }
2490
- const buffer = new ArrayBuffer(headerSize + reliableSize + unreliableSize);
2518
+ const buffer = new ArrayBuffer(headerSize + reliableHeaderSize + sendReliableLength + unreliableSize);
2491
2519
  const view = new DataView(buffer);
2492
2520
  const result = new Uint8Array(buffer);
2493
2521
  let sequence = this.outgoingSequence;
2494
- if (this.reliableLength > 0) {
2522
+ if (sendReliableLength > 0) {
2495
2523
  sequence |= 2147483648;
2496
2524
  if ((this.outgoingReliableSequence & 1) !== 0) {
2497
2525
  sequence |= 1073741824;
@@ -2505,13 +2533,23 @@ var _NetChan = class _NetChan2 {
2505
2533
  view.setUint32(4, ack, true);
2506
2534
  view.setUint16(8, this.qport, true);
2507
2535
  let offset = headerSize;
2508
- if (this.reliableLength > 0) {
2509
- view.setUint16(offset, this.reliableLength, true);
2536
+ if (sendReliableLength > 0) {
2537
+ let lengthField = sendReliableLength;
2538
+ if (isFragment) {
2539
+ lengthField |= 32768;
2540
+ }
2541
+ view.setUint16(offset, lengthField, true);
2510
2542
  offset += 2;
2543
+ if (isFragment) {
2544
+ view.setUint32(offset, fragmentStart, true);
2545
+ offset += 4;
2546
+ view.setUint32(offset, this.reliableLength, true);
2547
+ offset += 4;
2548
+ }
2511
2549
  const reliableBuffer = this.reliableMessage.getBuffer();
2512
- const reliableBytes = reliableBuffer.subarray(0, this.reliableLength);
2550
+ const reliableBytes = reliableBuffer.subarray(fragmentStart, fragmentStart + sendReliableLength);
2513
2551
  result.set(reliableBytes, offset);
2514
- offset += this.reliableLength;
2552
+ offset += sendReliableLength;
2515
2553
  }
2516
2554
  if (unreliableData && unreliableSize > 0) {
2517
2555
  const chunk = unreliableData.slice(0, unreliableSize);
@@ -2552,6 +2590,7 @@ var _NetChan = class _NetChan2 {
2552
2590
  this.reliableLength = 0;
2553
2591
  this.reliableMessage.reset();
2554
2592
  this.outgoingReliableSequence ^= 1;
2593
+ this.fragmentSendOffset = 0;
2555
2594
  }
2556
2595
  }
2557
2596
  const hasReliableData = (sequence & 2147483648) !== 0;
@@ -2560,13 +2599,45 @@ var _NetChan = class _NetChan2 {
2560
2599
  let reliableData = null;
2561
2600
  if (hasReliableData) {
2562
2601
  if (payloadOffset + 2 > packet.byteLength) return null;
2563
- const reliableLen = view.getUint16(payloadOffset, true);
2602
+ let reliableLen = view.getUint16(payloadOffset, true);
2564
2603
  payloadOffset += 2;
2604
+ const isFragment = (reliableLen & 32768) !== 0;
2605
+ reliableLen &= 32767;
2565
2606
  const expectedBit = this.incomingReliableSequence & 1;
2566
2607
  if (reliableSeqBit === expectedBit) {
2567
- this.incomingReliableSequence++;
2568
- if (payloadOffset + reliableLen > packet.byteLength) return null;
2569
- reliableData = packet.slice(payloadOffset, payloadOffset + reliableLen);
2608
+ if (isFragment) {
2609
+ if (payloadOffset + 8 > packet.byteLength) return null;
2610
+ const fragStart = view.getUint32(payloadOffset, true);
2611
+ payloadOffset += 4;
2612
+ const fragTotal = view.getUint32(payloadOffset, true);
2613
+ payloadOffset += 4;
2614
+ if (fragTotal > _NetChan2.MAX_RELIABLE_BUFFER) {
2615
+ console.warn(`NetChan: received invalid fragment total ${fragTotal} > ${_NetChan2.MAX_RELIABLE_BUFFER}`);
2616
+ return null;
2617
+ }
2618
+ if (!this.fragmentBuffer || this.fragmentBuffer.length !== fragTotal) {
2619
+ this.fragmentBuffer = new Uint8Array(fragTotal);
2620
+ this.fragmentLength = fragTotal;
2621
+ this.fragmentReceived = 0;
2622
+ }
2623
+ if (payloadOffset + reliableLen > packet.byteLength) return null;
2624
+ const data = packet.subarray(payloadOffset, payloadOffset + reliableLen);
2625
+ if (fragStart === this.fragmentReceived && fragStart + reliableLen <= fragTotal) {
2626
+ this.fragmentBuffer.set(data, fragStart);
2627
+ this.fragmentReceived += reliableLen;
2628
+ if (this.fragmentReceived >= fragTotal) {
2629
+ reliableData = this.fragmentBuffer;
2630
+ this.incomingReliableSequence++;
2631
+ this.fragmentBuffer = null;
2632
+ this.fragmentLength = 0;
2633
+ this.fragmentReceived = 0;
2634
+ }
2635
+ }
2636
+ } else {
2637
+ this.incomingReliableSequence++;
2638
+ if (payloadOffset + reliableLen > packet.byteLength) return null;
2639
+ reliableData = packet.slice(payloadOffset, payloadOffset + reliableLen);
2640
+ }
2570
2641
  }
2571
2642
  payloadOffset += reliableLen;
2572
2643
  }
@@ -2593,7 +2664,7 @@ var _NetChan = class _NetChan2 {
2593
2664
  * Writes a byte to the reliable message buffer
2594
2665
  */
2595
2666
  writeReliableByte(value) {
2596
- if (this.reliableLength + 1 > _NetChan2.MAX_MSGLEN - _NetChan2.HEADER_OVERHEAD) {
2667
+ if (this.reliableLength + 1 > _NetChan2.MAX_RELIABLE_BUFFER) {
2597
2668
  throw new Error("NetChan reliable buffer overflow");
2598
2669
  }
2599
2670
  this.reliableMessage.writeByte(value);
@@ -2603,7 +2674,7 @@ var _NetChan = class _NetChan2 {
2603
2674
  * Writes a short to the reliable message buffer
2604
2675
  */
2605
2676
  writeReliableShort(value) {
2606
- if (this.reliableLength + 2 > _NetChan2.MAX_MSGLEN - _NetChan2.HEADER_OVERHEAD) {
2677
+ if (this.reliableLength + 2 > _NetChan2.MAX_RELIABLE_BUFFER) {
2607
2678
  throw new Error("NetChan reliable buffer overflow");
2608
2679
  }
2609
2680
  this.reliableMessage.writeShort(value);
@@ -2613,7 +2684,7 @@ var _NetChan = class _NetChan2 {
2613
2684
  * Writes a long to the reliable message buffer
2614
2685
  */
2615
2686
  writeReliableLong(value) {
2616
- if (this.reliableLength + 4 > _NetChan2.MAX_MSGLEN - _NetChan2.HEADER_OVERHEAD) {
2687
+ if (this.reliableLength + 4 > _NetChan2.MAX_RELIABLE_BUFFER) {
2617
2688
  throw new Error("NetChan reliable buffer overflow");
2618
2689
  }
2619
2690
  this.reliableMessage.writeLong(value);
@@ -2624,7 +2695,7 @@ var _NetChan = class _NetChan2 {
2624
2695
  */
2625
2696
  writeReliableString(value) {
2626
2697
  const len2 = value.length + 1;
2627
- if (this.reliableLength + len2 > _NetChan2.MAX_MSGLEN - _NetChan2.HEADER_OVERHEAD) {
2698
+ if (this.reliableLength + len2 > _NetChan2.MAX_RELIABLE_BUFFER) {
2628
2699
  throw new Error("NetChan reliable buffer overflow");
2629
2700
  }
2630
2701
  this.reliableMessage.writeString(value);
@@ -2657,6 +2728,7 @@ _NetChan.MAX_MSGLEN = 1400;
2657
2728
  _NetChan.FRAGMENT_SIZE = 1024;
2658
2729
  _NetChan.PACKET_HEADER = 10;
2659
2730
  _NetChan.HEADER_OVERHEAD = _NetChan.PACKET_HEADER + 2;
2731
+ _NetChan.MAX_RELIABLE_BUFFER = 262144;
2660
2732
  var AmmoType = /* @__PURE__ */ ((AmmoType22) => {
2661
2733
  AmmoType22[AmmoType22["Bullets"] = 0] = "Bullets";
2662
2734
  AmmoType22[AmmoType22["Shells"] = 1] = "Shells";
@@ -9426,10 +9498,14 @@ var _NetChan3 = class _NetChan4 {
9426
9498
  this.incomingReliableSequence = 0;
9427
9499
  this.outgoingReliableSequence = 0;
9428
9500
  this.reliableLength = 0;
9501
+ this.fragmentSendOffset = 0;
9502
+ this.fragmentBuffer = null;
9503
+ this.fragmentLength = 0;
9504
+ this.fragmentReceived = 0;
9429
9505
  this.lastReceived = 0;
9430
9506
  this.lastSent = 0;
9431
9507
  this.remoteAddress = null;
9432
- this.reliableMessage = new BinaryWriter2(_NetChan4.MAX_MSGLEN);
9508
+ this.reliableMessage = new BinaryWriter2(_NetChan4.MAX_RELIABLE_BUFFER);
9433
9509
  const now = Date.now();
9434
9510
  this.lastReceived = now;
9435
9511
  this.lastSent = now;
@@ -9455,6 +9531,10 @@ var _NetChan3 = class _NetChan4 {
9455
9531
  this.outgoingReliableSequence = 0;
9456
9532
  this.reliableLength = 0;
9457
9533
  this.reliableMessage.reset();
9534
+ this.fragmentSendOffset = 0;
9535
+ this.fragmentBuffer = null;
9536
+ this.fragmentLength = 0;
9537
+ this.fragmentReceived = 0;
9458
9538
  this.lastReceived = Date.now();
9459
9539
  this.lastSent = Date.now();
9460
9540
  }
@@ -9464,18 +9544,38 @@ var _NetChan3 = class _NetChan4 {
9464
9544
  transmit(unreliableData) {
9465
9545
  this.outgoingSequence++;
9466
9546
  this.lastSent = Date.now();
9547
+ let sendReliableLength = 0;
9548
+ let isFragment = false;
9549
+ let fragmentStart = 0;
9550
+ if (this.reliableLength > 0) {
9551
+ if (this.reliableLength > _NetChan4.FRAGMENT_SIZE) {
9552
+ isFragment = true;
9553
+ if (this.fragmentSendOffset >= this.reliableLength) {
9554
+ this.fragmentSendOffset = 0;
9555
+ }
9556
+ const remaining = this.reliableLength - this.fragmentSendOffset;
9557
+ sendReliableLength = remaining;
9558
+ if (sendReliableLength > _NetChan4.FRAGMENT_SIZE) {
9559
+ sendReliableLength = _NetChan4.FRAGMENT_SIZE;
9560
+ }
9561
+ fragmentStart = this.fragmentSendOffset;
9562
+ this.fragmentSendOffset += sendReliableLength;
9563
+ } else {
9564
+ sendReliableLength = this.reliableLength;
9565
+ }
9566
+ }
9467
9567
  const headerSize = _NetChan4.PACKET_HEADER;
9468
- const reliableSize = this.reliableLength > 0 ? this.reliableLength + 2 : 0;
9568
+ const reliableHeaderSize = sendReliableLength > 0 ? 2 + (isFragment ? 8 : 0) : 0;
9469
9569
  let unreliableSize = unreliableData ? unreliableData.length : 0;
9470
- if (headerSize + reliableSize + unreliableSize > _NetChan4.MAX_MSGLEN) {
9471
- unreliableSize = _NetChan4.MAX_MSGLEN - headerSize - reliableSize;
9570
+ if (headerSize + reliableHeaderSize + sendReliableLength + unreliableSize > _NetChan4.MAX_MSGLEN) {
9571
+ unreliableSize = _NetChan4.MAX_MSGLEN - headerSize - reliableHeaderSize - sendReliableLength;
9472
9572
  if (unreliableSize < 0) unreliableSize = 0;
9473
9573
  }
9474
- const buffer = new ArrayBuffer(headerSize + reliableSize + unreliableSize);
9574
+ const buffer = new ArrayBuffer(headerSize + reliableHeaderSize + sendReliableLength + unreliableSize);
9475
9575
  const view = new DataView(buffer);
9476
9576
  const result = new Uint8Array(buffer);
9477
9577
  let sequence = this.outgoingSequence;
9478
- if (this.reliableLength > 0) {
9578
+ if (sendReliableLength > 0) {
9479
9579
  sequence |= 2147483648;
9480
9580
  if ((this.outgoingReliableSequence & 1) !== 0) {
9481
9581
  sequence |= 1073741824;
@@ -9489,13 +9589,23 @@ var _NetChan3 = class _NetChan4 {
9489
9589
  view.setUint32(4, ack, true);
9490
9590
  view.setUint16(8, this.qport, true);
9491
9591
  let offset = headerSize;
9492
- if (this.reliableLength > 0) {
9493
- view.setUint16(offset, this.reliableLength, true);
9592
+ if (sendReliableLength > 0) {
9593
+ let lengthField = sendReliableLength;
9594
+ if (isFragment) {
9595
+ lengthField |= 32768;
9596
+ }
9597
+ view.setUint16(offset, lengthField, true);
9494
9598
  offset += 2;
9599
+ if (isFragment) {
9600
+ view.setUint32(offset, fragmentStart, true);
9601
+ offset += 4;
9602
+ view.setUint32(offset, this.reliableLength, true);
9603
+ offset += 4;
9604
+ }
9495
9605
  const reliableBuffer = this.reliableMessage.getBuffer();
9496
- const reliableBytes = reliableBuffer.subarray(0, this.reliableLength);
9606
+ const reliableBytes = reliableBuffer.subarray(fragmentStart, fragmentStart + sendReliableLength);
9497
9607
  result.set(reliableBytes, offset);
9498
- offset += this.reliableLength;
9608
+ offset += sendReliableLength;
9499
9609
  }
9500
9610
  if (unreliableData && unreliableSize > 0) {
9501
9611
  const chunk = unreliableData.slice(0, unreliableSize);
@@ -9536,6 +9646,7 @@ var _NetChan3 = class _NetChan4 {
9536
9646
  this.reliableLength = 0;
9537
9647
  this.reliableMessage.reset();
9538
9648
  this.outgoingReliableSequence ^= 1;
9649
+ this.fragmentSendOffset = 0;
9539
9650
  }
9540
9651
  }
9541
9652
  const hasReliableData = (sequence & 2147483648) !== 0;
@@ -9544,13 +9655,45 @@ var _NetChan3 = class _NetChan4 {
9544
9655
  let reliableData = null;
9545
9656
  if (hasReliableData) {
9546
9657
  if (payloadOffset + 2 > packet.byteLength) return null;
9547
- const reliableLen = view.getUint16(payloadOffset, true);
9658
+ let reliableLen = view.getUint16(payloadOffset, true);
9548
9659
  payloadOffset += 2;
9660
+ const isFragment = (reliableLen & 32768) !== 0;
9661
+ reliableLen &= 32767;
9549
9662
  const expectedBit = this.incomingReliableSequence & 1;
9550
9663
  if (reliableSeqBit === expectedBit) {
9551
- this.incomingReliableSequence++;
9552
- if (payloadOffset + reliableLen > packet.byteLength) return null;
9553
- reliableData = packet.slice(payloadOffset, payloadOffset + reliableLen);
9664
+ if (isFragment) {
9665
+ if (payloadOffset + 8 > packet.byteLength) return null;
9666
+ const fragStart = view.getUint32(payloadOffset, true);
9667
+ payloadOffset += 4;
9668
+ const fragTotal = view.getUint32(payloadOffset, true);
9669
+ payloadOffset += 4;
9670
+ if (fragTotal > _NetChan4.MAX_RELIABLE_BUFFER) {
9671
+ console.warn(`NetChan: received invalid fragment total ${fragTotal} > ${_NetChan4.MAX_RELIABLE_BUFFER}`);
9672
+ return null;
9673
+ }
9674
+ if (!this.fragmentBuffer || this.fragmentBuffer.length !== fragTotal) {
9675
+ this.fragmentBuffer = new Uint8Array(fragTotal);
9676
+ this.fragmentLength = fragTotal;
9677
+ this.fragmentReceived = 0;
9678
+ }
9679
+ if (payloadOffset + reliableLen > packet.byteLength) return null;
9680
+ const data = packet.subarray(payloadOffset, payloadOffset + reliableLen);
9681
+ if (fragStart === this.fragmentReceived && fragStart + reliableLen <= fragTotal) {
9682
+ this.fragmentBuffer.set(data, fragStart);
9683
+ this.fragmentReceived += reliableLen;
9684
+ if (this.fragmentReceived >= fragTotal) {
9685
+ reliableData = this.fragmentBuffer;
9686
+ this.incomingReliableSequence++;
9687
+ this.fragmentBuffer = null;
9688
+ this.fragmentLength = 0;
9689
+ this.fragmentReceived = 0;
9690
+ }
9691
+ }
9692
+ } else {
9693
+ this.incomingReliableSequence++;
9694
+ if (payloadOffset + reliableLen > packet.byteLength) return null;
9695
+ reliableData = packet.slice(payloadOffset, payloadOffset + reliableLen);
9696
+ }
9554
9697
  }
9555
9698
  payloadOffset += reliableLen;
9556
9699
  }
@@ -9577,7 +9720,7 @@ var _NetChan3 = class _NetChan4 {
9577
9720
  * Writes a byte to the reliable message buffer
9578
9721
  */
9579
9722
  writeReliableByte(value) {
9580
- if (this.reliableLength + 1 > _NetChan4.MAX_MSGLEN - _NetChan4.HEADER_OVERHEAD) {
9723
+ if (this.reliableLength + 1 > _NetChan4.MAX_RELIABLE_BUFFER) {
9581
9724
  throw new Error("NetChan reliable buffer overflow");
9582
9725
  }
9583
9726
  this.reliableMessage.writeByte(value);
@@ -9587,7 +9730,7 @@ var _NetChan3 = class _NetChan4 {
9587
9730
  * Writes a short to the reliable message buffer
9588
9731
  */
9589
9732
  writeReliableShort(value) {
9590
- if (this.reliableLength + 2 > _NetChan4.MAX_MSGLEN - _NetChan4.HEADER_OVERHEAD) {
9733
+ if (this.reliableLength + 2 > _NetChan4.MAX_RELIABLE_BUFFER) {
9591
9734
  throw new Error("NetChan reliable buffer overflow");
9592
9735
  }
9593
9736
  this.reliableMessage.writeShort(value);
@@ -9597,7 +9740,7 @@ var _NetChan3 = class _NetChan4 {
9597
9740
  * Writes a long to the reliable message buffer
9598
9741
  */
9599
9742
  writeReliableLong(value) {
9600
- if (this.reliableLength + 4 > _NetChan4.MAX_MSGLEN - _NetChan4.HEADER_OVERHEAD) {
9743
+ if (this.reliableLength + 4 > _NetChan4.MAX_RELIABLE_BUFFER) {
9601
9744
  throw new Error("NetChan reliable buffer overflow");
9602
9745
  }
9603
9746
  this.reliableMessage.writeLong(value);
@@ -9608,7 +9751,7 @@ var _NetChan3 = class _NetChan4 {
9608
9751
  */
9609
9752
  writeReliableString(value) {
9610
9753
  const len2 = value.length + 1;
9611
- if (this.reliableLength + len2 > _NetChan4.MAX_MSGLEN - _NetChan4.HEADER_OVERHEAD) {
9754
+ if (this.reliableLength + len2 > _NetChan4.MAX_RELIABLE_BUFFER) {
9612
9755
  throw new Error("NetChan reliable buffer overflow");
9613
9756
  }
9614
9757
  this.reliableMessage.writeString(value);
@@ -9641,6 +9784,7 @@ _NetChan3.MAX_MSGLEN = 1400;
9641
9784
  _NetChan3.FRAGMENT_SIZE = 1024;
9642
9785
  _NetChan3.PACKET_HEADER = 10;
9643
9786
  _NetChan3.HEADER_OVERHEAD = _NetChan3.PACKET_HEADER + 2;
9787
+ _NetChan3.MAX_RELIABLE_BUFFER = 262144;
9644
9788
  var NetChan = _NetChan3;
9645
9789
  var AmmoType2 = /* @__PURE__ */ ((AmmoType22) => {
9646
9790
  AmmoType22[AmmoType22["Bullets"] = 0] = "Bullets";