Field 2026-07-23 (second night): a player's join.bat failed 3x in a row with a 0-byte join.log -- indistinguishable from 'never ran'. Two causes of evidence loss fixed: 1. The first flushed log line now happens the INSTANT the log opens (version, pid, args, first-process vs relaunched-generation). An empty log after this build means the exe was killed before WinMain -- an external cause (antivirus/loader), not ours. 2. The menu->game relaunch chain truncated join.log each generation (BT_LOG_APPEND was unset in the player bats): the crashed generation's evidence was erased by the next attempt. The bats now delete the log once per bat run and append across generations. Also explains the confusing 'The game has exited' bat message on SUCCESSFUL launches (the menu process exits after relaunching the game detached) -- the log now records the whole chain.
48 lines
1.8 KiB
Batchfile
48 lines
1.8 KiB
Batchfile
@echo off
|
|
rem BT411 -- join the operator's LAN game.
|
|
rem BT_RELAY = the operator PC's LAN IP + console port (auto-discovery was
|
|
rem unreliable on this network, so it is pinned). If the operator's IP changes,
|
|
rem update the address below (find it on the operator PC with `ipconfig`).
|
|
rem Joining over the INTERNET? Use join.bat instead.
|
|
cd /d %~dp0
|
|
rem ONE unified build (2026-07-21): the exe carries every layer; the GLASS
|
|
rem platform env arms the desktop cockpit (clickable MFD buttons, trigger
|
|
rem config, bindings.txt keymap).
|
|
set BT_PLATFORM=glass
|
|
if not exist "build\Release\btl4.exe" goto badpath
|
|
if not exist "content\OPERATOR.EGG" goto badpath
|
|
set BT_RELAY=10.0.0.46:1500
|
|
rem one fresh log per bat run; the menu->game relaunch chain APPENDS
|
|
rem so every generation's lines survive (0-byte logs = killed pre-start)
|
|
if exist content\join.log del content\join.log
|
|
set BT_LOG=join.log
|
|
set BT_LOG_APPEND=1
|
|
set BT_START_INSIDE=1
|
|
set BT_DEV_GAUGES=1
|
|
cd content
|
|
rem JOIN-GAME menu (2026-07-22): pick your CALLSIGN + MECH, click JOIN --
|
|
rem your choice is sent to the operator and lands in the mission roster.
|
|
set BT_FE_JOIN=1
|
|
..\build\Release\btl4.exe
|
|
echo.
|
|
echo The game has exited. If you did NOT quit on purpose
|
|
echo (crash, or it never connected), send the operator the
|
|
echo file content\join.log so they can see what happened.
|
|
echo Otherwise the session may not be up yet -- try again.
|
|
pause
|
|
exit /b
|
|
:badpath
|
|
echo.
|
|
echo ==================================================
|
|
echo ERROR: this file is not in the right place.
|
|
echo.
|
|
echo It must sit in the EXTRACTED game folder, next to
|
|
echo the 'content' and 'build' folders.
|
|
echo.
|
|
echo Fix: right-click the .zip - Extract All, open the
|
|
echo extracted folder, and run this file from THERE.
|
|
echo (Do NOT run it from inside the zip.)
|
|
echo ==================================================
|
|
echo.
|
|
pause
|