Unreachable-server UX: message boxes + bat guidance instead of a 'crash'

Field report (first internet-join attempt): both join bats 'hard
crash' on the remote machine.  Root cause was procedural -- the host
session was not running -- but the failure PRESENTATION was the bug:
Release Fail() is a bare abort(), so a dead relay = silent process
death + instantly-closing console window.

- L4NET: the two player-facing dead-ends (LAN discovery no-answer,
  seat request unreachable/full) now show a MessageBox saying what
  happened and what to do before exiting (verified live against a
  dead relay: 'BattleTech -- can't join the game' appears).
- join bats: echo + pause after exit so the window stays readable;
  join_lan.bat header now says it is LAN-only (the remote user ran
  both -- join_lan can never work over the internet).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
arcattack
2026-07-18 14:23:29 -05:00
co-authored by Claude Fable 5
parent d173f088a6
commit dfd1894fb9
4 changed files with 46 additions and 6 deletions
+5
View File
@@ -4,3 +4,8 @@ rem is assigned automatically by the operator console.
set BT_RELAY=107.202.218.169:1500
cd /d %~dp0content
..\build\Release\btl4.exe -egg OPERATOR.EGG -net 1501
echo.
echo The game has exited. If you did NOT quit on purpose,
echo the session may not be running yet or the server was
echo unreachable -- check with the operator and try again.
pause
+8 -2
View File
@@ -1,6 +1,12 @@
@echo off
rem BT411 -- join the LAN game. Finds the operator
rem console AND your seat automatically.
rem BT411 -- join the game from the operator's OWN
rem network (LAN) -- finds the console automatically.
rem Joining over the INTERNET? Use join.bat instead.
set BT_RELAY=auto
cd /d %~dp0content
..\build\Release\btl4.exe -egg OPERATOR.EGG -net 1501
echo.
echo The game has exited. If you did NOT quit on purpose,
echo the session may not be running yet or the server was
echo unreachable -- check with the operator and try again.
pause