+ cd /c/git/bt411/content
+ rm -f mp_a.log mp_b.log
+ sleep 2
+ BT_LOG=mp_b.log
+ BT_AFFINITY=0x2
+ BT_MP_LOG=1
+ BT_MP_NET=1
+ BT_DEATH_LOG=1
+ BT_SCORE_LOG=1
+ ../build/Debug/btl4.exe -egg MP.EGG -net 1601
+ sleep 4
+ BT_LOG=mp_a.log
+ BT_AFFINITY=0x1
+ BT_MP_FORCE_DMG=1
+ BT_MP_LOG=1
+ ../build/Debug/btl4.exe -egg MP.EGG -net 1501
+ PC=2338
+ python ../tools/btconsole.py MP.EGG 127.0.0.1:1501 127.0.0.1:1601
+ n=0
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 0 -ge 2 ']'
+ '[' 0 -ge 200 ']'
+ sleep 2
+ n=2
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 0 -ge 2 ']'
+ '[' 2 -ge 200 ']'
+ sleep 2
+ n=4
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 0 -ge 2 ']'
+ '[' 4 -ge 200 ']'
+ sleep 2
+ n=6
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 0 -ge 2 ']'
+ '[' 6 -ge 200 ']'
+ sleep 2
+ n=8
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 8 -ge 200 ']'
+ sleep 2
+ n=10
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 10 -ge 200 ']'
+ sleep 2
+ n=12
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 12 -ge 200 ']'
+ sleep 2
+ n=14
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 14 -ge 200 ']'
+ sleep 2
+ n=16
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 16 -ge 200 ']'
+ sleep 2
+ n=18
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 18 -ge 200 ']'
+ sleep 2
+ n=20
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 20 -ge 200 ']'
+ sleep 2
+ n=22
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 22 -ge 200 ']'
+ sleep 2
+ n=24
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 24 -ge 200 ']'
+ sleep 2
+ n=26
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 26 -ge 200 ']'
+ sleep 2
+ n=28
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 28 -ge 200 ']'
+ sleep 2
+ n=30
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 30 -ge 200 ']'
+ sleep 2
+ n=32
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 1 -ge 2 ']'
+ '[' 32 -ge 200 ']'
+ sleep 2
+ n=34
++ grep -c 'external debug chase camera' mp_b.log
+ '[' 3 -ge 2 ']'
++ grep -c 'external debug chase camera' mp_b.log
+ echo '=== respawn mech up after ~34s (chase-cam count=3); settling 30s ==='
=== respawn mech up after ~34s (chase-cam count=3); settling 30s ===
+ sleep 30
+ kill 2338
+ taskkill //F //IM btl4.exe
SUCCESS: The process "btl4.exe" with PID 14340 has been terminated.
SUCCESS: The process "btl4.exe" with PID 392 has been terminated.
+ taskkill //F //IM python.exe
Exception in thread Thread-2 (serve_pod):
Traceback (most recent call last):
  File "C:\Users\epilectrik\.pyenv\pyenv-win\versions\3.11.4\Lib\threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "C:\Users\epilectrik\.pyenv\pyenv-win\versions\3.11.4\Lib\threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "C:\git\bt411\tools\btconsole.py", line 123, in serve_pod
    data = s.recv(4096)
           ^^^^^^^^^^^^
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
SUCCESS: The process "python.exe" with PID 30836 has been terminated.
+ echo '=== DONE ==='
=== DONE ===
