# MVP QA Gates Version `0.1.Q` turns the current survival MVP into a repeatable test target. Each gate must have either automation, a documented manual test, or build evidence before it is marked complete. ## Packaged Client Launch The packaged client launch gate proves the Windows investor/demo package can be created, opened through a known launcher, and checked through the real-GPU visual QA path. Required evidence: - `Scripts/PackageWindowsDevelopment.bat` completes successfully. - `Builds/WindowsDevelopment/AgrarianGame.exe` exists. - `Scripts/InstallWindowsDemoLaunchers.bat` installs: - `Start Agrarian Demo.cmd` - `Start Agrarian Demo - DX12.cmd` - `Start Agrarian Demo - Compatibility DX11.cmd` - `Scripts/RunWindowsInvestorVisualQACheck.bat --check-tools` reports the packaged demo exists and `SunshineService` is running. - Any full visual pass stores notes under `Saved\VisualQA\InvestorDemo`. This gate is client-only. It does not require multiplayer server deployment. ## Server Launch The server launch gate proves the MVP gameplay host can start the current server-compatible package and expose the Unreal gameplay port. Current MVP launch path: - Prefer the true Linux dedicated-server target when a server-capable Unreal engine is available: `Scripts/BuildLinuxDedicatedServer-Windows.bat` - Until then, use the binary-engine fallback: `Scripts/PackageLinuxGameServerFallback-Windows.bat` - Deploy the produced package to `/opt/agrarian/server`. - Launch through `/opt/agrarian/server/AgrarianGameServer.sh`. - Manage the host with `agrarian-game-server.service`. Required evidence: - `systemctl is-active agrarian-game-server.service` reports `active`. - `ss -lunp` shows `AgrarianGame` listening on `0.0.0.0:7777/udp`. - The journal shows the Ground Zero map browse started. - The runbook explains the true dedicated target and fallback path. This gate is server-relevant and requires multiplayer server verification when server launch tooling or deployed package contents change. ## Two-Client Connection The two-client connection gate proves the MVP can be tested as a multiplayer session with two packaged Windows clients connected to the same Ground Zero server. Required evidence: - The server launch gate is passing. - `Scripts/RunTwoClientConnectionSmoke-Windows.bat --check-tools` confirms the packaged client exists. - The helper launches two clients against the same endpoint: `play.agrariangame.com:7777` by default, or a supplied LAN endpoint such as `192.168.5.15:7777`. - Both clients reach the same Ground Zero session. - Testers confirm both clients see the same time/weather and can remain connected long enough to begin the smoke test. The manual observation steps continue in `Docs/Ops/MultiplayerLatencyTestPlan.md` until gameplay automation can drive two clients directly. ## Resource Gathering The resource gathering gate proves a player can interact with placed Ground Zero resource nodes and receive authoritative resource inventory changes. Required evidence: - Ground Zero includes placed wood and fiber resource nodes. - `AAgrarianResourceNode` exposes `Gather` or `Gather by hand` prompts. - Gathering runs only with server authority. - Successful gathering decrements replicated `RemainingHarvests`. - The gathered item stack is granted through the character inventory path. - Resource depletion persistence is covered by the save/load gate. - `Scripts/verify_playable_loop_smoke.py` includes wood and fiber gathering in the natural shelter loop smoke test. This gate is gameplay/server-relevant and should be covered by the next server package deployment.