Must Check Before Launch¶
1) Blocker: replace all defaultkey values¶
These must be changed before any production launch.
- Source/Metal_terra/Private/Core/Subsystems/NakamaConnectionSubsystem.cpp
const FString ServerKey = TEXT("defaultkey"); - DevOps/Nakama/docker-compose.yml
socket.server_key=defaultkey - DevOps/Nakama/docker-compose.yml
runtime.http_key=defaultkey - DevOps/Nakama/docker-compose.yml
--socket.server_key defaultkey - DevOps/Nakama/data/config.yml
http_key: "defaultkey"
2) Blocker: set runtime RPC secrets¶
Set these environment variables in the deployed server runtime:
DS_RPC_SECRETLS_RPC_SECRET
Required rule:
DS_RPC_SECRETandLS_RPC_SECRETmust match Nakama HTTP/server key used by your secure RPCs.
3) Pre-launch verification command¶
Run this from repo root and confirm no blocking matches remain:
rg -n "defaultkey" -g "!Saved/**" -g "!Intermediate/**" -g "!Binaries/**" -g "!DerivedDataCache/**"
If documentation examples intentionally keep defaultkey, annotate those entries as non-runtime examples and make sure no executable/configuration path still uses it.
4) Recommended: scrub non-runtime examples¶
These are not active runtime config, but should be updated to prevent copy/paste mistakes:
5) Blocker: full rebuild and full recook before release candidate¶
Before creating a launch build, do a clean build and clean cook/package (not incremental). At minimum, clear:
- Project
Saved/ - Project
Intermediate/ - Project
Binaries/ - Previous packaged output folder
Reason: stale cook/asset-registry data can cause missing AssetRegistrySearchable tags (for example TankCharacterDef.CatalogIndex), which can break DS selection bootstrap and leave players unpossessed.