Capture current mission, AI, map and administration development

Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
This commit is contained in:
2026-10-13 22:52:53 +02:00
parent a951a96edc
commit 6a667d8deb
8104 changed files with 2124945 additions and 2061 deletions
@@ -0,0 +1,176 @@
#120 t=98.1s M0 HELICOPTER TIMER Search helicopter: delay 15 minutes; countdown starts after prison escape; next attempt in 900 seconds [session=1791034661-2]
#616 t=130s M0 HELICOPTER CREW airframe initialized; allocated 4 original pilot/gunner seats once [session=1791034661-2]
#3584 t=998.5s M0 HELICOPTER LAUNCH wave=1 airfield pad=<4784.04,29.9681,11566.5> [session=1791034661-2]
#3585 t=999.5s M0 HELICOPTER CREW airframe initialized; allocated 4 original pilot/gunner seats once [session=1791034661-2]
#3647 t=1002.4s M0 HELICOPTER STATUS TAKEOFF: vertical airport departure; position=<4784.04, 30.1333, 11566.5> [session=1791034661-2]
#3776 t=1018.4s M0 HELICOPTER STATUS TAKEOFF: vertical airport departure; position=<4784.04, 79.2426, 11566.5> [session=1791034661-2]
#3814 t=1033.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4784.84, 149.825, 11565.4> [session=1791034661-2]
#3849 t=1048.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4928.77, 151.327, 11366.3> [session=1791034661-2]
#3992 t=1063.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5083.44, 156.557, 11152.7> [session=1791034661-2]
#4048 t=1079.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5252.18, 164.369, 10919.5> [session=1791034661-2]
#4072 t=1095.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5422.37, 163.992, 10684> [session=1791034661-2]
#4093 t=1111.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5615.37, 160.958, 10417> [session=1791034661-2]
#4101 t=1127.4s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5731.52, 150.154, 10179.5> [session=1791034661-2]
#4125 t=1143.4s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5594.14, 147.6, 9932.25> [session=1791034661-2]
#4180 t=1158.4s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5462.8, 142.695, 9700.93> [session=1791034661-2]
#4226 t=1173.5s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5316.93, 146.197, 9443.76> [session=1791034661-2]
#4357 t=1188.5s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5178.52, 155.497, 9199.73> [session=1791034661-2]
#4416 t=1204.4s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5040.77, 173.132, 8957.17> [session=1791034661-2]
#4431 t=1219.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4981.86, 215.296, 8720.64> [session=1791034661-2]
#4515 t=1234.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5142.51, 217.762, 8455.07> [session=1791034661-2]
#4656 t=1250.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5299, 206.08, 8197.3> [session=1791034661-2]
#4705 t=1265.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5445.73, 208.355, 7956.12> [session=1791034661-2]
#4734 t=1280.6s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5578.79, 245.602, 7737.63> [session=1791034661-2]
#4764 t=1295.6s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5721.62, 330.833, 7503.1> [session=1791034661-2]
#4803 t=1311.6s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5719.09, 347.442, 7286.55> [session=1791034661-2]
#4859 t=1326.6s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5494.79, 336.483, 7114.48> [session=1791034661-2]
#4948 t=1341.7s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5272.85, 325.652, 6944.43> [session=1791034661-2]
#4976 t=1356.8s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5066.12, 315.565, 6786.01> [session=1791034661-2]
#5133 t=1371.9s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<4841.66, 304.625, 6614.22> [session=1791034661-2]
#5186 t=1386.9s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<4600.68, 292.886, 6429.92> [session=1791034661-2]
#5217 t=1402s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4579.37, 283.255, 6368.23> [session=1791034661-2]
#5339 t=1417.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4831.53, 272.861, 6459.16> [session=1791034661-2]
#5444 t=1432.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5096.56, 261.938, 6554.95> [session=1791034661-2]
#5481 t=1447.3s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5366.44, 250.811, 6652.48> [session=1791034661-2]
#5493 t=1462.3s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5641.38, 285.137, 6751.6> [session=1791034661-2]
#5532 t=1477.3s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5910, 301.704, 6848.43> [session=1791034661-2]
#5565 t=1493.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5950.73, 326.78, 6944.27> [session=1791034661-2]
#5622 t=1508.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5884.65, 349.206, 7122.26> [session=1791034661-2]
#5723 t=1524.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5982.25, 342.926, 7294.91> [session=1791034661-2]
#5785 t=1540.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6192.7, 334.897, 7361.72> [session=1791034661-2]
#5956 t=1555.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6363.65, 328.264, 7293.86> [session=1791034661-2]
#6045 t=1571.2s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6472.35, 320.919, 7122.27> [session=1791034661-2]
#6119 t=1586.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6460.29, 313.771, 6924.28> [session=1791034661-2]
#6263 t=1601.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6337.06, 306.848, 6777.72> [session=1791034661-2]
#6381 t=1617.2s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6135.83, 299.372, 6733.46> [session=1791034661-2]
#6436 t=1633.2s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5955.76, 303.627, 6820.25> [session=1791034661-2]
#6503 t=1649.1s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5862.66, 338.07, 7009.61> [session=1791034661-2]
#6551 t=1664.1s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5896.67, 347.117, 7188.29> [session=1791034661-2]
#6571 t=1680.1s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6040.78, 341.137, 7327.04> [session=1791034661-2]
#6597 t=1695.2s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6232.18, 334.157, 7351.42> [session=1791034661-2]
#6661 t=1711.1s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6397.62, 327.372, 7262.11> [session=1791034661-2]
#6733 t=1726.1s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6483.76, 320.359, 7088.2> [session=1791034661-2]
#6903 t=1741.2s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6450.05, 313.323, 6896.24> [session=1791034661-2]
#6980 t=1756.2s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6311.23, 306.361, 6762.4> [session=1791034661-2]
#7086 t=1772.2s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6052.14, 295.179, 6630.87> [session=1791034661-2]
#7197 t=1787.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5789.18, 283.747, 6496.88> [session=1791034661-2]
#7253 t=1803.2s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5547.06, 273.224, 6373.5> [session=1791034661-2]
#7272 t=1819.1s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5274.1, 261.359, 6234.42> [session=1791034661-2]
#7280 t=1834.1s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5012.6, 249.986, 6101.44> [session=1791034661-2]
#7290 t=1850s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4796.78, 239.74, 5999.02> [session=1791034661-2]
#7306 t=1866s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5017.1, 228.67, 6184.44> [session=1791034661-2]
#7354 t=1881.8s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5142.05, 219.485, 6417.61> [session=1791034661-2]
#7376 t=1897.8s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5219.77, 248.533, 6653.19> [session=1791034661-2]
#7497 t=1913.6s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5324.56, 285.724, 6851.56> [session=1791034661-2]
#7533 t=1929.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5489.11, 320.275, 6970.49> [session=1791034661-2]
#7560 t=1945.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5556.77, 326.862, 6882.3> [session=1791034661-2]
#7620 t=1960.6s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5399.42, 314.754, 6612.57> [session=1791034661-2]
#7696 t=1975.6s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5267.28, 304.594, 6385.89> [session=1791034661-2]
#7712 t=1991.5s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5104.75, 292.098, 6107.19> [session=1791034661-2]
#7720 t=2006.6s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4960.25, 280.988, 5859.36> [session=1791034661-2]
#7757 t=2021.6s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4812.9, 269.685, 5607.24> [session=1791034661-2]
#7781 t=2036.7s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4756.93, 260.486, 5626.84> [session=1791034661-2]
#7789 t=2051.8s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4783.53, 249.986, 5896.27> [session=1791034661-2]
#7845 t=2066.8s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4810.8, 239.233, 6172.05> [session=1791034661-2]
#7879 t=2081.8s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4838.85, 228.175, 6455.65> [session=1791034661-2]
#8002 t=2096.8s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4865.89, 270.921, 6727.72> [session=1791034661-2]
#8027 t=2111.9s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4895.03, 291.136, 7021.15> [session=1791034661-2]
#8058 t=2127s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5026.93, 285.677, 7257.25> [session=1791034661-2]
#8117 t=2142s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5260.19, 274.557, 7424.08> [session=1791034661-2]
#8198 t=2157.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5474.7, 264.423, 7577.37> [session=1791034661-2]
#8239 t=2172.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5693.73, 263.112, 7733.85> [session=1791034661-2]
#8275 t=2187.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5917.15, 272.037, 7893.5> [session=1791034661-2]
#8312 t=2202.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6153.89, 262.144, 8062.69> [session=1791034661-2]
#8342 t=2218.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6266.27, 279.051, 7973.94> [session=1791034661-2]
#8350 t=2233.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6287.14, 300.547, 7698.1> [session=1791034661-2]
#8410 t=2248.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6309.7, 297.429, 7402.08> [session=1791034661-2]
#8442 t=2263.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6329, 300.052, 7147.96> [session=1791034661-2]
#8571 t=2279.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6487.72, 292.367, 6932.15> [session=1791034661-2]
#8609 t=2294.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6620.15, 283.581, 6736.24> [session=1791034661-2]
#8664 t=2310.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6636.23, 274.021, 6867.75> [session=1791034661-2]
#8724 t=2325.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6585.12, 276.62, 7150.51> [session=1791034661-2]
#8821 t=2341.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6378.66, 295.21, 7366.04> [session=1791034661-2]
#8838 t=2357.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6242.84, 299.913, 7575.48> [session=1791034661-2]
#8851 t=2372.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6208.01, 293.63, 7762.67> [session=1791034661-2]
#8892 t=2388.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6284.75, 286.107, 7955.98> [session=1791034661-2]
#8924 t=2404.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6241.9, 293.532, 7727.46> [session=1791034661-2]
#8966 t=2420.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6166.19, 308.448, 7451.18> [session=1791034661-2]
#9028 t=2435.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6099.56, 330.716, 7182.33> [session=1791034661-2]
#9134 t=2450.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6198.48, 322.878, 6947.98> [session=1791034661-2]
#9193 t=2465.3s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6250.62, 314.54, 6727.6> [session=1791034661-2]
#9229 t=2480.3s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6253.8, 307.607, 6534.77> [session=1791034661-2]
#9283 t=2495.3s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6465.99, 296.844, 6353.82> [session=1791034661-2]
#9373 t=2510.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6681.16, 286.242, 6184.97> [session=1791034661-2]
#9443 t=2525.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6902.44, 275.34, 6011.31> [session=1791034661-2]
#9465 t=2541.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7147.4, 263.27, 5819.07> [session=1791034661-2]
#9502 t=2557.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7367.45, 252.427, 5646.34> [session=1791034661-2]
#9564 t=2573.3s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7539.95, 242.58, 5542.59> [session=1791034661-2]
#9576 t=2588.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7443.73, 232.153, 5794.8> [session=1791034661-2]
#9627 t=2603.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7342.81, 221.315, 6055.44> [session=1791034661-2]
#9659 t=2619.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7236.32, 209.879, 6330.45> [session=1791034661-2]
#9787 t=2634.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7126.11, 222.755, 6614.64> [session=1791034661-2]
#9809 t=2649.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7023.54, 223.511, 6879.04> [session=1791034661-2]
#9846 t=2664.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6971.71, 238.104, 7029.05> [session=1791034661-2]
#9908 t=2680.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7114.3, 225.893, 6747.51> [session=1791034661-2]
#9988 t=2696.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7242.45, 214.879, 6494.04> [session=1791034661-2]
#10046 t=2712.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7368.82, 204.015, 6244.03> [session=1791034661-2]
#10080 t=2727.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7490.42, 193.564, 6003.55> [session=1791034661-2]
#10135 t=2742.4s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<7610.23, 183.617, 5766.54> [session=1791034661-2]
#10175 t=2758.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<7542.47, 214.314, 5636> [session=1791034661-2]
#10196 t=2774.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<7254.96, 239.616, 5650.49> [session=1791034661-2]
#10269 t=2789.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6979.73, 228.916, 5664.38> [session=1791034661-2]
#10296 t=2804.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6699.28, 218.013, 5678.53> [session=1791034661-2]
#10432 t=2820.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6392.84, 207.036, 5694.04> [session=1791034661-2]
#10470 t=2835.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<6120.99, 204.294, 5707.84> [session=1791034661-2]
#10531 t=2850.4s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5848, 205.102, 5722.52> [session=1791034661-2]
#10584 t=2865.4s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5570.17, 205.498, 5738.17> [session=1791034661-2]
#10658 t=2880.5s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<5298.62, 196.965, 5753.39> [session=1791034661-2]
#10662 t=2881.4s M6253 CONTACT REPORT X=1223 Z=5994: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (1s ago) [session=1791034661-2]
#10663 t=2882.5s M6253 CALL unit 78 originating report; three seconds before transmission [session=1791034661-2]
#10673 t=2885.5s M6253 CALL COMPLETE unit 78 completed originating report [session=1791034661-2]
#10674 t=2885.5s M6253 TRANSMIT unit 78 -> HQ (long-range) [session=1791034661-2]
#10679 t=2888.5s M6253 RECEIVE HQ received from unit 78 [session=1791034661-2]
#10680 t=2888.5s M6253 BELIEF delivered report M6253 retained; tracks=20 [session=1791034661-2]
#10681 t=2888.5s M6265 CONTACT REPORT X=1236 Z=5994: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: rifle; vector X/Z=unknown (4s ago) [session=1791034661-2]
#10682 t=2889.4s M6265 CALL unit 78 originating report; three seconds before transmission [session=1791034661-2]
#10685 t=2892.5s M6265 CALL COMPLETE unit 78 completed originating report [session=1791034661-2]
#10686 t=2892.5s M6265 TRANSMIT unit 78 -> HQ (long-range) [session=1791034661-2]
#10687 t=2894.5s M6265 RECEIVE HQ received from unit 78 [session=1791034661-2]
#10688 t=2894.5s M6265 BELIEF delivered report M6265 retained; tracks=20 [session=1791034661-2]
#10692 t=2896.5s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<4973.93, 184.345, 5771.6> [session=1791034661-2]
#10709 t=2912.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<4700.11, 176.334, 5786.92> [session=1791034661-2]
#10751 t=2928.3s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<4408.15, 178.403, 5803.3> [session=1791034661-2]
#10770 t=2944s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<4119.23, 211.164, 5820.47> [session=1791034661-2]
#10786 t=2959.9s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<3783.46, 269.603, 5840.91> [session=1791034661-2]
#10843 t=2974.9s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<3482.54, 298.556, 5859.13> [session=1791034661-2]
#10937 t=2990.9s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<3197.51, 287.508, 5876.25> [session=1791034661-2]
#10989 t=3005.9s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<2904.13, 276.121, 5893.87> [session=1791034661-2]
#11022 t=3021.9s M0 HELICOPTER STATUS SEARCH: searching delivered HQ sighting; position=<2605.87, 264.545, 5911.8> [session=1791034661-2]
#11069 t=3036.9s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<2676.34, 255.372, 6123.22> [session=1791034661-2]
#11151 t=3052.9s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<2802.05, 244.322, 6379.04> [session=1791034661-2]
#11220 t=3068.9s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<2943.28, 231.907, 6666.44> [session=1791034661-2]
#11233 t=3083.9s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<3065.26, 221.185, 6914.67> [session=1791034661-2]
#11252 t=3099.8s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<3201.25, 209.23, 7191.41> [session=1791034661-2]
#11295 t=3114.9s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<3342.02, 198.111, 7435.33> [session=1791034661-2]
#11306 t=3129.9s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<3615.64, 187.014, 7347.94> [session=1791034661-2]
#11346 t=3144.9s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<3935.05, 174.183, 7234.9> [session=1791034661-2]
#11380 t=3160s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4206.95, 219.489, 7138.45> [session=1791034661-2]
#11506 t=3176s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4487.67, 273.196, 7038.86> [session=1791034661-2]
#11527 t=3191s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4754.51, 287.655, 6944.2> [session=1791034661-2]
#11567 t=3206s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<4985.61, 282.625, 6855.95> [session=1791034661-2]
#11611 t=3221s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5220.83, 271.762, 6703.86> [session=1791034661-2]
#11683 t=3237s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5488.95, 259.341, 6528.58> [session=1791034661-2]
#11732 t=3252s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5706.95, 256.402, 6386.04> [session=1791034661-2]
#11750 t=3267s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5946.06, 272.522, 6229.77> [session=1791034661-2]
#11780 t=3282.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6212.86, 264.17, 6055.65> [session=1791034661-2]
#11808 t=3297.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6387.94, 253.166, 5912.67> [session=1791034661-2]
#11815 t=3312.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6086.59, 241.447, 5947.48> [session=1791034661-2]
#11863 t=3327.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5847.9, 231.107, 5846.79> [session=1791034661-2]
#11885 t=3342.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5599.12, 221.018, 5739.53> [session=1791034661-2]
#12020 t=3358.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5379.54, 213.018, 5706.51> [session=1791034661-2]
#12044 t=3374.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5184.52, 205.371, 5788.6> [session=1791034661-2]
#12089 t=3390.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5198.84, 197.809, 5837.91> [session=1791034661-2]
#12136 t=3406.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5448.29, 205.313, 5696.14> [session=1791034661-2]
#12210 t=3422.1s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5684.82, 206.38, 5561.58> [session=1791034661-2]
#12235 t=3437.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<5951.65, 215.506, 5409.74> [session=1791034661-2]
#12248 t=3452.2s M0 HELICOPTER STATUS SEARCH: searching island sector; position=<6194.35, 245.467, 5271.66> [session=1791034661-2]
@@ -0,0 +1,66 @@
modded class ERR_HQ
{
void ERR_SearchFixtureReports(ERR_HQReport first, ERR_HQReport second = null)
{
m_Contacts.Clear();
if (first) m_Contacts.Insert(first);
if (second) m_Contacts.Insert(second);
}
}
modded class ERR_ReconFlightComponent
{
protected bool ERR_SearchCheck(bool ok, string label)
{
if (ok) Print("ERR SEARCH PASS: " + label);
else Print("ERR SEARCH FAIL: " + label, LogLevel.ERROR);
return ok;
}
bool ERR_SearchFixture(Vehicle aircraft, IEntity target)
{
m_Aircraft = aircraft;
float now = 1000000;
vector newestPosition = "3000 50 5000";
vector olderPosition = "5000 50 5000";
aircraft.SetOrigin(newestPosition + Vector(1446, 100, 0));
ERR_HQReport newest = new ERR_HQReport(); newest.Target = target; newest.Position = newestPosition; newest.ObservedAt = now - 1000; newest.MessageId = 101;
ERR_HQReport older = new ERR_HQReport(); older.Target = target; older.Position = olderPosition; older.ObservedAt = now - 5000; older.MessageId = 102;
ERR_HQ.Get().ERR_SearchFixtureReports(newest, older);
Search(now);
if (!ERR_SearchCheck(m_Center == newestPosition && m_HQSearch.Active, "newest observation wins over array insertion order")) return false;
Search(now + 90000);
if (!ERR_SearchCheck(m_Center == newestPosition && m_HQSearch.Active && m_HQSearch.SearchedMs == 0, "60-second expiry and 90-second sector timer cannot abort distant approach")) return false;
Search(now + 270000);
if (!ERR_SearchCheck(m_Center == newestPosition && m_HQSearch.Active, "cached scalar destination survives several minutes without fresh support report")) return false;
aircraft.SetOrigin(newestPosition + Vector(300, 100, 0));
for (int i = 1; i <= 119; i++) Search(now + 270000 + i * 1000);
if (!ERR_SearchCheck(m_Center == newestPosition && m_HQSearch.Active && m_HQSearch.SearchedMs == 119000, "two-minute local search starts only after reaching area")) return false;
Search(now + 390000);
if (!ERR_SearchCheck(!m_HQSearch.Active && m_Reason == "searching island sector", "exhausted HQ area returns to random sector search")) return false;
newest.ObservedAt = now + 395000; newest.Position = "4000 50 5000";
Search(now + 395000);
if (!ERR_SearchCheck(m_Center == newest.Position && m_HQSearch.Active, "new report interrupts random sector within five seconds")) return false;
m_HQSearch.Cancel(now + 396000);
Search(now + 400000);
if (!ERR_SearchCheck(!m_HQSearch.Active, "older HQ report cannot override more recent direct crew sighting")) return false;
ERR_HQ.Get().ERR_SearchFixtureReports(null);
return true;
}
}
modded class ArmaReforgerScripted
{
protected bool m_ERRSearchDone;
override void OnUpdate(BaseWorld world, float timeslice)
{
super.OnUpdate(world, timeslice);
if (m_ERRSearchDone || !world || !Replication.IsServer()) return;
ERR_GameMode mode = ERR_GameMode.Get();
if (!mode || !mode.Active() || !ERR_HQ.Get()) return;
m_ERRSearchDone = true;
EntitySpawnParams params = new EntitySpawnParams(); params.TransformMode = ETransformMode.WORLD; params.Transform[3] = "4400 150 5000";
Vehicle aircraft = Vehicle.Cast(SpawnEntityPrefab(Resource.Load("{C31F210ABE078192}Prefabs/ERR/ReconHelicopter.et"), world, params));
if (!aircraft) { Print("ERR SEARCH FAIL: fixture aircraft spawn", LogLevel.ERROR); return; }
ERR_ReconFlightComponent flight = ERR_ReconFlightComponent.Cast(aircraft.FindComponent(ERR_ReconFlightComponent));
if (!flight || !flight.ERR_SearchFixture(aircraft, mode)) return;
Print("ERR SEARCH COMPLETE: native production search integration");
}
}
@@ -0,0 +1,36 @@
from pathlib import Path
import os,sys,json,shutil,subprocess,time,signal
ROOT=Path('/home/jakub/devel/escapistsrereintroduced');sys.path.insert(0,str(ROOT/'tools'))
from external_addons import policy,prepare_profile
from source_manifest import addon_manifest
from dedicated_native import PROBE
base=Path('/tmp/erri-recon-search-native');base.mkdir(exist_ok=True)
run=base/sys.argv[1];run.mkdir();source=run/'source';source.mkdir()
for rel in addon_manifest(ROOT):
dest=source/Path(rel).relative_to('addons/core');dest.parent.mkdir(parents=True,exist_ok=True);shutil.copy2(ROOT/rel,dest)
shutil.copy2('/tmp/erri-takeover-pair-source32/resourceDatabase.rdb',source/'resourceDatabase.rdb')
shutil.copy2('/tmp/erri-recon-search-probe.c',source/'Scripts/Game/ERR/00_Core/ERR_ZProfileProbe.c')
addons=run/'addons';addons.mkdir();steam=Path.home()/'.local/share/Steam'
prepare_profile(addons,steam/'steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons',policy(ROOT),run/'external-cache.json');(addons/'ERR_Core').symlink_to(source,target_is_directory=True)
profile=run/'profile/profile';profile.mkdir(parents=True)
(run/'network.py').write_text(PROBE)
runtime=Path('/tmp/erri-takeover-dedicated-runtime')
engine=['/tmp/runtime/ArmaReforgerServer','-server','{C1E20667DCE324ED}Missions/ERR_Everon.conf','-addonsDir',str(addons),'-addons','2528466DE220D91C','-profile',str(run/'profile'),'-noBackend','-noSound','-bindIP','127.0.0.1','-bindPort','2001','-maxFPS','30','-logconsole','-noSplash','-noThrow','-disableCrashReporter']
cmd=['bwrap','--unshare-net','--unshare-pid','--unshare-ipc','--unshare-uts','--die-with-parent','--cap-drop','ALL','--ro-bind','/','/','--tmpfs','/tmp','--ro-bind',str(runtime),'/tmp/runtime','--bind',str(run),str(run),'--proc','/proc','--dev','/dev','--chdir','/tmp/runtime','python',str(run/'network.py'),os.readlink('/proc/self/ns/net')]+engine
with (run/'stdout.log').open('w') as log:
p=subprocess.Popen(cmd,stdout=log,stderr=subprocess.STDOUT,start_new_session=True)
reason='timeout';start=time.monotonic()
try:
while time.monotonic()-start<100:
files=sorted((run/'profile/logs').glob('logs_*/console.log'));text=files[-1].read_text(errors='replace') if files else ''
if 'ERR SEARCH COMPLETE' in text:reason='complete';break
if "Can't compile" in text:reason='compile-failed';break
if p.poll() is not None:reason='exit';break
time.sleep(.3)
finally:
if p.poll() is None:
os.killpg(p.pid,signal.SIGTERM)
try:p.wait(timeout=8)
except subprocess.TimeoutExpired:os.killpg(p.pid,signal.SIGKILL);p.wait()
(run/'result.json').write_text(json.dumps({'reason':reason,'exit':p.returncode}));print(reason)
print('\n'.join(line for line in text.splitlines() if 'ERR SEARCH' in line or 'SCRIPT (E)' in line))
@@ -0,0 +1,8 @@
17:57:48.301 SCRIPT : ERR SEARCH PASS: newest observation wins over array insertion order
17:57:48.301 SCRIPT : ERR SEARCH PASS: 60-second expiry and 90-second sector timer cannot abort distant approach
17:57:48.301 SCRIPT : ERR SEARCH PASS: cached scalar destination survives several minutes without fresh support report
17:57:48.301 SCRIPT : ERR SEARCH PASS: two-minute local search starts only after reaching area
17:57:48.301 SCRIPT : ERR SEARCH PASS: exhausted HQ area returns to random sector search
17:57:48.302 SCRIPT : ERR SEARCH PASS: new report interrupts random sector within five seconds
17:57:48.302 SCRIPT : ERR SEARCH PASS: older HQ report cannot override more recent direct crew sighting
17:57:48.302 SCRIPT : ERR SEARCH COMPLETE: native production search integration
@@ -0,0 +1,44 @@
{
"server": "RKS #2",
"read_utc": "2026-10-03T14:35:50Z",
"round": "1791034661-2",
"timer_minutes": 15,
"findings": [
"Search aircraft launched at t=998.5 after prison escape timer at t=98.1.",
"Moving aircraft repeatedly alternates HQ sighting search with random island sectors.",
"At t=3036.9 aircraft switches to random search at X2676 Z6123, approximately 1446m from last delivered sighting X1236 Z5994.",
"Source checks HQ support reports only every 90 seconds, discards reports over 60 seconds for this query, and does not retain the HQ search destination when the query returns empty.",
"Latest aircraft position at t=3452.2: X6194 Z5272, random sector search."
],
"limitations": [
"Native integration used controlled delivered reports and aircraft positions; no full physical flight or rain/perception acceptance test.",
"Diagnosis is from the live server journal; updated code has not been deployed to RKS #2."
],
"fix": {
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_ReconFlightComponent.c",
"sha256": "b7665e1ee678347b1e74b91830d3d4ca5e5a7c0432ee82c57d76f58ba6b90ac0",
"source_matches_native_test": true,
"native_result": {
"reason": "complete",
"exit": -15
},
"native_checks_passed": 7,
"native_checks_failed": 0,
"script_errors": 0,
"regressions_passed": [
"test_recon_search.py",
"test_air_recon.py",
"test_air_support_policy.py",
"test_air_logistics_orders.py",
"test_mortar_report_ledger.py"
],
"behavior": [
"HQ polling every 5 seconds; freshest timestamp wins.",
"Retain accepted coordinates through approach, then search within 650m for 120 seconds.",
"Newer reports may retask; own crew visual reports supersede earlier HQ snapshots.",
"Replayed reports cannot renew completed tasks; unreachable approach limited to 15 minutes without newer reports.",
"Log assignment, arrival, completion, timeout and flight destination."
],
"deployment": "Local source only. User publishes Workshop update. Live server untouched."
}
}