#81: 4-node stress PASS -- 56 overlapping death cycles, zero strands; DEATHS tally exact

Four simultaneous networked nodes, all dying every ~35s on staggered timers so
respawn handshakes overlap (the field condition that stranded 6 of 8 cycles):
56 cycles, every completed one START->RESET, 0 swallowed / 0 mismatch /
0 discarded / 0 ghost / 0 crash.  Scoreboard: every node's PLAYER_DEAD rows
show deaths=N tally=N in lockstep (13/13/15/15) -- exactly one increment per
death, so removing the duplicate VehicleDead dispatch did not drop the DEATHS
column and the latch release did not double it.  The kill-credit path evaluated
all 56 deaths and correctly declined each self-kill (NOCREDIT self=1); KILLS
uses the separate ScoreMessage path the fix never touched.

content/MP4.EGG: the 4-pilot bench egg (ports 1502/1602/1702/1802, novice).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Joe DiPrima
2026-07-30 09:37:07 -05:00
co-authored by Claude Fable 5
parent a357dc4265
commit 830a976192
2 changed files with 73 additions and 247 deletions
+65 -247
View File
@@ -1,8 +1,8 @@
[mission]
adventure=BattleTech
map=arena1
map=cavern
scenario=freeforall
time=day
time=night
weather=clear
temperature=27
length=600
@@ -156,206 +156,95 @@ x=128
y=32
width=8
[pilots]
pilot=10.99.0.1:1502
pilot=10.99.0.2:1502
pilot=10.99.0.3:1502
pilot=10.99.0.4:1502
[10.99.0.1:1502]
pilot=127.0.0.1:1502
pilot=127.0.0.1:1602
pilot=127.0.0.1:1702
pilot=127.0.0.1:1802
[127.0.0.1:1502]
hostType=0
advancedDamage=1
loadzones=1
name=ALPHA
name=Aeolus
bitmapindex=1
experience=expert
experience=novice
badge=VGL
patch=Yellow
role=Role::Default
dropzone=one
vehicle=madcat
vehicle=bhk1
vehicleValue=1000
color=White
[10.99.0.2:1502]
[127.0.0.1:1602]
hostType=0
advancedDamage=1
loadzones=1
name=BRAVO
name=Boreas
bitmapindex=2
experience=expert
experience=novice
badge=VGL
patch=Yellow
role=Role::Default
dropzone=one
vehicle=thor
vehicle=ava1
vehicleValue=1000
color=Crimson
[10.99.0.3:1502]
color=Red
[127.0.0.1:1702]
hostType=0
advancedDamage=1
loadzones=1
name=CHARLIE
name=Caicias
bitmapindex=3
experience=expert
experience=novice
badge=VGL
patch=Yellow
role=Role::Default
dropzone=one
vehicle=vulture
vehicle=bhk1
vehicleValue=1000
color=Blue
[127.0.0.1:1802]
hostType=0
advancedDamage=1
loadzones=1
name=Deimos
bitmapindex=4
experience=novice
badge=VGL
patch=Yellow
role=Role::Default
dropzone=one
vehicle=ava1
vehicleValue=1000
color=Green
[10.99.0.4:1502]
hostType=0
advancedDamage=1
loadzones=1
name=DELTA
bitmapindex=4
experience=expert
badge=VGL
patch=Yellow
role=Role::Default
dropzone=one
vehicle=avatar
vehicleValue=1000
color=Tan
[largebitmap]
bitmap=BitMap::Large::ALPHA
bitmap=BitMap::Large::BRAVO
bitmap=BitMap::Large::CHARLIE
bitmap=BitMap::Large::DELTA
[BitMap::Large::ALPHA]
bitmap=BitMap::Large::Aeolus
[BitMap::Large::Aeolus]
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=000001F803C001FFE07807807E000000
bitmap=000001FC03C001FFF07807807F000000
bitmap=000001FC03C001FFF87807807F000000
bitmap=000003FC03C001FFFC780780FF000000
bitmap=000003DE03C001E07C780780F7800000
bitmap=000003DE03C001E03C780780F7800000
bitmap=000007DE03C001E03C780781F7800000
bitmap=0000078F03C001E07C780781E3C00000
bitmap=0000078F03C001FFFC7FFF81E3C00000
bitmap=00000F8F03C001FFF87FFF83E3C00000
bitmap=00000F0783C001FFF07FFF83C1E00000
bitmap=00000F0783C001FFC07FFF83C1E00000
bitmap=00001FFF83C001E000780787FFE00000
bitmap=00001FFFC3C001E000780787FFF00000
bitmap=00001FFFC3C001E000780787FFF00000
bitmap=00003E03C3C001E00078078F80F00000
bitmap=00003C01E3FFF1E00078078F00780000
bitmap=00003C01E3FFF1E00078078F00780000
bitmap=00007C01E3FFF1E00078079F00780000
bitmap=00007800F3FFF1E00078079E003C0000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
x=128
y=32
width=8
[BitMap::Large::BRAVO]
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00003FFC07FFC007E0F001E03F800000
bitmap=00003FFE07FFE007F07803C0FFE00000
bitmap=00003FFF07FFF007F07803C1FFF00000
bitmap=00003FFF87FFF80FF07803C3FFF80000
bitmap=00003C0F8780F80F783C0787E0FC0000
bitmap=00003C078780780F783C0787803C0000
bitmap=00003C078780781F783C078F803E0000
bitmap=00003C0F0780F81E3C1E0F0F001E0000
bitmap=00003FFF07FFF01E3C1E0F0F001E0000
bitmap=00003FFE07FFF03E3C1E0F0F001E0000
bitmap=00003FFF07FFE03C1E0E0E0F001E0000
bitmap=00003FFF87FF803C1E0F1E0F001E0000
bitmap=00003C07C787C07FFE0F1E0F001E0000
bitmap=00003C03C783E07FFF071C0F803E0000
bitmap=00003C03C781E07FFF07BC07C07C0000
bitmap=00003C07C781F0F80F07BC07E0FC0000
bitmap=00003FFFC780F8F00783B803FFF80000
bitmap=00003FFF878078F00783F801FFF00000
bitmap=00003FFF07807DF00781F000FFE00000
bitmap=00003FFE07803FE003C1F0003F800000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
x=128
y=32
width=8
[BitMap::Large::CHARLIE]
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=007F00F00F00FC01FFF01E000F0FFFF0
bitmap=01FFC0F00F00FE01FFF81E000F0FFFF0
bitmap=03FFE0F00F00FE01FFFC1E000F0FFFF0
bitmap=07FFF0F00F01FE01FFFE1E000F0FFFF0
bitmap=0FC1F0F00F01EF01E03E1E000F0F0000
bitmap=0F00F8F00F01EF01E01E1E000F0F0000
bitmap=1F0060F00F03EF01E01E1E000F0F0000
bitmap=1E0000F00F03C781E03E1E000F0F0000
bitmap=1E0000FFFF03C781FFFC1E000F0FFFE0
bitmap=1E0000FFFF07C781FFFC1E000F0FFFE0
bitmap=1E0000FFFF0783C1FFF81E000F0FFFE0
bitmap=1E0000FFFF0783C1FFE01E000F0FFFE0
bitmap=1E0060F00F0FFFC1E1F01E000F0F0000
bitmap=1F00F8F00F0FFFE1E0F81E000F0F0000
bitmap=0F00F8F00F0FFFE1E0781E000F0F0000
bitmap=0FC3F0F00F1F01E1E07C1E000F0F0000
bitmap=07FFF0F00F1E00F1E03E1FFF8F0FFFF0
bitmap=03FFE0F00F1E00F1E01E1FFF8F0FFFF0
bitmap=01FFC0F00F3E00F1E01F1FFF8F0FFFF0
bitmap=007F00F00F3C0079E00F9FFF8F0FFFF0
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
x=128
y=32
width=8
[BitMap::Large::DELTA]
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=000007FF807FFF8F003FFFC1F8000000
bitmap=000007FFE07FFF8F003FFFC1FC000000
bitmap=000007FFF07FFF8F003FFFC1FC000000
bitmap=000007FFF07FFF8F003FFFC3FC000000
bitmap=00000780F878000F0000F003DE000000
bitmap=000007807878000F0000F003DE000000
bitmap=000007807C78000F0000F007DE000000
bitmap=000007803C78000F0000F0078F000000
bitmap=000007803C7FFF0F0000F0078F000000
bitmap=000007803C7FFF0F0000F00F8F000000
bitmap=000007803C7FFF0F0000F00F07800000
bitmap=000007803C7FFF0F0000F00F07800000
bitmap=000007803C78000F0000F01FFF800000
bitmap=000007807C78000F0000F01FFFC00000
bitmap=000007807878000F0000F01FFFC00000
bitmap=00000780F878000F0000F03E03C00000
bitmap=000007FFF07FFF8FFFC0F03C01E00000
bitmap=000007FFF07FFF8FFFC0F03C01E00000
bitmap=000007FFE07FFF8FFFC0F07C01E00000
bitmap=000007FF807FFF8FFFC0F07800F00000
bitmap=000003FE0000000001E0000000000000
bitmap=000007FF0000000001E0000000000000
bitmap=00000F8F8000000001E0000000000000
bitmap=00000F078000000001E0000000000000
bitmap=00000F0781FF00FF81E0F0781FC00000
bitmap=00000F0783FF81FFC1E0F0783FE00000
bitmap=00000F0787C7C3E3E1E0F0783C700000
bitmap=00000F078783C3C1E1E0F07878300000
bitmap=00000F078783C3C1E1E0F07878000000
bitmap=00000FFF8783C3C1E1E0F0787C000000
bitmap=00000FFF8783C3C1E1E0F0787F000000
bitmap=00000F0787FFC3C1E1E0F0783FC00000
bitmap=00000F0787FFC3C1E1E0F0781FE00000
bitmap=00000F07878003C1E1E0F07807F00000
bitmap=00000F07878003C1E1E0F07801F00000
bitmap=00000F07878003C1E1E0F07800F00000
bitmap=00000F078780C3C1E1E0F07860F00000
bitmap=00000F0787C1C3E3E1E078F871E00000
bitmap=00000F0783FF81FFC1E07FF83FE00000
bitmap=00000F0781FF00FF81E03F781FC00000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
bitmap=00000000000000000000000000000000
@@ -366,87 +255,16 @@ x=128
y=32
width=8
[smallbitmap]
bitmap=BitMap::Small::ALPHA
bitmap=BitMap::Small::BRAVO
bitmap=BitMap::Small::CHARLIE
bitmap=BitMap::Small::DELTA
[BitMap::Small::ALPHA]
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=00038C1F98C70000
bitmap=00038C18D8C70000
bitmap=0006CC18D8CD8000
bitmap=0006CC18D8CD8000
bitmap=0006CC18DFCD8000
bitmap=0006CC1F98CD8000
bitmap=000FEC1818DFC000
bitmap=000C6C1818D8C000
bitmap=000C6FD818D8C000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
x=64
y=16
width=4
[BitMap::Small::BRAVO]
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=000FCFC3B0678000
bitmap=000C6C6398CCC000
bitmap=000C6C66D8D86000
bitmap=000C6C66D8D86000
bitmap=000FCFC6CD986000
bitmap=000C6CC6CD986000
bitmap=000C6C6FED986000
bitmap=000C6C6C670CC000
bitmap=000FCC3C67078000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
x=64
y=16
width=4
[BitMap::Small::CHARLIE]
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=00798C71F9837E00
bitmap=00CD8C718D836000
bitmap=01818CD98D836000
bitmap=01818CD98D836000
bitmap=0181FCD9F9837E00
bitmap=01818CD999836000
bitmap=01818DFD8D836000
bitmap=00CD8D8D8D836000
bitmap=00798D8D87FB7E00
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
x=64
y=16
width=4
[BitMap::Small::DELTA]
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0003E3F61F9C0000
bitmap=00033306061C0000
bitmap=00031B0606360000
bitmap=00031B0606360000
bitmap=00031BF606360000
bitmap=00031B0606360000
bitmap=00031B06067F0000
bitmap=0003330606630000
bitmap=0003E3F7E6630000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=0000000000000000
bitmap=BitMap::Small::Aeolus
[BitMap::Small::Aeolus]
bitmap=00000000000000000000000000000000
bitmap=0000000000000000003E00000C000000
bitmap=006300000C00000000631F0F8CC63C00
bitmap=00633198CCC66200007F3198CCC66000
bitmap=00633F98CCC6780000633018CCC61E00
bitmap=00633018CCC6060000633098CCC64600
bitmap=00631F0F8C7E3C000000000000000000
bitmap=00000000000000000000000000000000
x=64
y=16
width=4
+8
View File
@@ -19,6 +19,14 @@ own duplicate (8 of 8 deaths, a 100 % base rate, which is why it correlated with
either alone makes things visibly worse, which is why earlier passes at #57/#55 kept adding
clear-sites instead of finding the root. The binary broke the tie.
**Verified (4-node stress, 2026-07-30):** four simultaneous networked nodes, all dying every ~35 s
on staggered timers so respawn handshakes overlap (the field condition): **56 death cycles, every
completed one `START``RESET`, 0 swallowed / 0 mismatch / 0 discarded / 0 ghost / 0 crash** across
all four. Scoreboard: every node's `PLAYER_DEAD` matchlog rows show `deaths=N tally=N` in lockstep,
one increment per death (13/13/15/15) — the DEATHS column the comms panel draws is exact; the
kill-credit path evaluated all 56 deaths and correctly declined each self-kill (`NOCREDIT self=1`),
KILLS untouched by the fix (separate `ScoreMessage` path). Bench: `scratchpad/night6/mp4_stress.sh`
+ `content/MP4.EGG`.
**Verified:** solo **17 consecutive death/respawn cycles**, every one `START``RESET`, 0 swallowed /
0 mismatch / 0 crash (pre-fix this strands permanently after cycle 1). Two-node MP over a real
network path with cross-machine drop-zone replies: A 11 cycles, B 12, 0 swallowed / 0 mismatch /