Files
CydandClaude Opus 4.8 9df87f2c01 Deploy: pod install scaffold -- supervisor entry-point, postinstall, packaging
Network-agnostic, air-gapped pod install for the two DOSBox titles (BT/RP 4.10),
fitting the existing TeslaConsole/TeslaLauncher pod-bay architecture.

emulator/DEPLOYMENT-PLAN.md
  Full design: bridge on the one NIC (pods form a source-proven P2P TCP mesh, so
  NAT/slirp is out); launcher keeps the bay IP, the DOSBox guest bridges at
  bayIP+100 (egg/mesh/game endpoint); two-edit +100 convention (postinstall +
  console DOSBox flag); static, air-gapped, <=32 pods.

emulator/pod-launch/  (C# net8 supervising entry-point)
  Creates a Job Object (KILL_ON_JOB_CLOSE), launches DOSBox-X + the render bridge
  into it and blocks -- kill this process and both die (kernel-enforced, even on
  a hard TerminateProcess of a hung session; verified). Mode dispatch: bt/rp
  wired (also serve camera + live mission-review via egg hostType); review +
  diagnostics recognized but fail clean until their DOS launch args are known.

emulator/deploy/  (install side)
  postinstall.bat (thin elevated wrapper) + configure.ps1 (NIC detect, realnic
  bind as a contiguous letter-leading GUID fragment, game IP = bayIP+100, stable
  MAC, render net_*.conf templates, stamp WATTCP.CFG my_ip) + tokenized conf
  templates + package.ps1 (assemble the zip). Render/bind/stamp + packaging
  verified against a scratch tree.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10 10:36:30 -05:00

26 lines
983 B
XML

<Project Sdk="Microsoft.NET.Sdk">
<!--
pod-launch: the supervising launch entry-point for the two DOSBox titles
(BattleTech / Red Planet 4.10). Owns the session lifetime via a Windows Job
Object (KILL_ON_JOB_CLOSE): kill this process and DOSBox-X + the render
bridge die with it, kernel-enforced. Build commands are in README.md.
See ../DEPLOYMENT-PLAN.md.
-->
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<AssemblyName>pod-launch</AssemblyName>
<RootNamespace>VwePod</RootNamespace>
<Nullable>disable</Nullable>
<ImplicitUsings>disable</ImplicitUsings>
<LangVersion>latest</LangVersion>
<PlatformTarget>x64</PlatformTarget>
<!-- A console app: DOSBox and the bridge make their own windows; this
process just supervises and can be killed cleanly by TeslaLauncher. -->
<AssemblyTitle>VWE Pod Launch Supervisor</AssemblyTitle>
</PropertyGroup>
</Project>