The new AppID changes the name on the friends list, nothing else

The AppID commit claimed the switch off Spacewar meant a Steam account
now had to have Red Planet on it, and that an account without it would
drop to the TCP fallback. That is wrong, and it was never tested - it was
reasoned from how AppIDs work in general and written down as fact, in the
handbook, the environ.ini template, the README and the three-machine test
doc.

Cyd checked it the direct way: put 5108000 into an older dist and ran it.
It behaved exactly as it had under 480. SteamAPI_Init does not check
entitlement; steam_appid.txt only tells the API which app it is. The one
real difference is that the Steam client now names Red Planet instead of
Spacewar.

So all four places now say that, and say nothing about entitlement. The
part that was always true is kept: a copy started from its own folder
needs the file, and without it Steam networking cannot start and the game
falls back to TCP.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-08-13 13:36:26 -05:00
co-authored by Claude Opus 5
parent 0c8c62a73b
commit 49d6d93414
5 changed files with 17 additions and 15 deletions
+2 -2
View File
@@ -94,8 +94,8 @@ run `start-windowed.bat` — the game boots into the setup menu, where the
SCENARIO group picks Death Race or Football (Football swaps in the
team/position columns and its own track list). Steam multiplayer: see
[docs/STEAM-3-MACHINE-TEST.md](docs/STEAM-3-MACHINE-TEST.md). It runs
under Red Planet's own AppID, 5108000, so the Steam account playing it
needs the game on it; without that the wire falls back to TCP.
under Red Planet's own AppID, 5108000, so the Steam client reports the
game by name instead of as Spacewar.
The config files beside the exe are self-documenting and none of them
ship: the game writes each one the first time it needs it and then leaves
+4 -4
View File
@@ -312,10 +312,10 @@ namespace
"# stop the game starting, and steam_api.dll being absent altogether is\n"
"# fine. 0 = TCP only.\n"
"#\n"
"# steam_appid.txt holds 5108000, which is Red Planet's own AppID, so the\n"
"# Steam account running the game needs Red Planet on it. An account\n"
"# without it gets the TCP fallback - the same quiet symptom as a missing\n"
"# file, so check the log before blaming the network.\n"
"# steam_appid.txt holds 5108000, Red Planet's own AppID, so the Steam\n"
"# client reports you as playing Red Planet rather than Spacewar. It has\n"
"# to be there for a copy started from its own folder; the number itself\n"
"# changes nothing else.\n"
"RP412STEAM=1\n"
"\n"
"# Line up each remote player's clock with ours, so their vehicle is\n"
+5 -5
View File
@@ -17,11 +17,11 @@ Planet's own AppID; builds before that ran under Spacewar, 480) and ships
both before blaming the network: a missing appid file makes
SteamAPI_Init fail and the game quietly falls back to TCP.
Now that the AppID is ours rather than Valve's public one, the Steam
account on each machine has to actually have Red Planet on it. An account
without it gets the TCP fallback — same silent symptom as a missing
appid file, so check library access first when one machine will not join
the mesh.
The switch off Spacewar changes what Steam thinks you are playing and
nothing else: the client now names Red Planet on the friends list.
`SteamAPI_Init` does not check entitlement, so a machine behaves exactly
as it did under 480 — confirmed by dropping the new number into an older
dist, which ran unchanged.
Sanity check per machine: `rpl4.log` should show
`SteamNetTransport: up as 169.254.x.y (fake ports N console, M game)`.
+1 -1
View File
@@ -1543,7 +1543,7 @@
<tr><th class="mono">JOYSTICK.INI</th><td>The 1995 single-stick calibration, for the legacy <code>L4CONTROLS=DIJOYSTICK</code> path only. Modern sticks are configured in <code>bindings.txt</code> — see above.</td></tr>
<tr><th class="mono">*.CFG <span style="color:var(--ink-quiet);font-family:var(--sans)">in AUDIO\</span></th><td>Pod audio-hardware mixer tables. Dead weight on a desktop; kept because the arcade path still reads them.</td></tr>
<tr><th class="mono">RPL4.RES</th><td>Resource blob, not text.</td></tr>
<tr><th class="mono">steam_appid.txt</th><td>Red Planet&rsquo;s Steam AppID, 5108000. It tells the Steam client which game this is when you start it straight from the folder. Your Steam account needs Red Planet on it; without that the game quietly falls back to plain TCP.</td></tr>
<tr><th class="mono">steam_appid.txt</th><td>Red Planet&rsquo;s Steam AppID, 5108000. It tells the Steam client which game this is when you start it straight from the folder, so your friends list shows Red Planet rather than Spacewar. Delete it and Steam networking cannot start &mdash; the game falls back to plain TCP without saying much about it.</td></tr>
</tbody>
</table>
</div>
+5 -3
View File
@@ -101,9 +101,11 @@ Copy-Item (Join-Path $root 'extern\steamworks_sdk_165\sdk\redistributable_bin\st
# SteamAPI_Init fails and the game drops to plain TCP, which is exactly
# the confusing symptom testers hit when it goes missing.
#
# Unlike the Spacewar days this AppID is ours, so the Steam account
# running it has to actually have Red Planet on it. An account without it
# gets the TCP fallback, not the Steam wire.
# What changes against the old Spacewar (480) number is what Steam thinks
# you are playing: the client now says Red Planet. SteamAPI_Init itself
# does not check entitlement, so a build carrying this file behaves the
# same as it did under 480 - verified by dropping the new number into an
# older dist.
#
# Retail builds launched BY the Steam client do not need this file at all
# - the client supplies the AppID - and Valve would rather it were not in