← Server architecture · all tasks
Android APK export & download link
server-architecture/009 · created 2026-08-03 · updated 2026-08-04 · blocked by server-architecture/007 · delivers #7
What to do
Package the unchanged Stage 3 client (server-architecture/007) as an installable Android APK, and host it with a download link from the deliverables page. This is an export target, not new game code — zero new gameplay or netcode is in scope here; if something about the client doesn’t work correctly on Android, that’s a bug to flag against Stage 3, not a feature to add in this task.
- Android export preset in the Stage 3 Godot client project — same codebase, same
Entity/EntityNodesplit, no gameplay changes. - SDK/JDK/signing setup needed for Godot’s Android export (Android SDK, a JDK, a debug or release keystore —
lor.keystorealready exists at the workspace root per the top-levelCLAUDE.mdand may be reusable; confirm whether it’s appropriate for this build or a separate key is warranted before reusing it, since it’s currently described there as used forlor-elementalsAPKs). - Build the APK from the Stage 3 client, connecting to the same droplet-hosted world deliverable #6’s web export connects to (same server, same protocol, same
ws://constraint noted in task 007’s step 8 — no TLS yet). - Host the APK and link it from this workspace’s deliverables page (
site/) as a tap-to-download link. - Verification: two physical Android phones, each with the APK installed, connected to the same live world, each seeing the other’s player move — the concrete proof this task exists to deliver. Where a headless equivalent is feasible (e.g. confirming the exported build connects and moves correctly at the protocol level, independent of two real devices), add it as automated coverage alongside the human check, consistent with every other stage’s “no listening port to click on” pattern — but the two-phone check itself is the actual bar, and Kris does it directly rather than an agent asserting it happened.
- Handoff note:
land-of-lor/pocs/multiplayer-poc/handoff/task-009-android-export.md— what was built, exact steps to reproduce the APK build, where it’s hosted, and what Kris needs to check on the two phones.
Definition of done
APK builds successfully from the unchanged Stage 3 client, is hosted with a working download link on the deliverables page, and installs on Android; the handoff note exists. Set state: review, not done. Per the delivers: [7] gate (see epics/README.md’s “Promised deliverables” section), this task cannot move to done until deliverable #7 is delivered with its live download link in place and the two-phone check has actually happened.
Where the work lands
Android export/build config in land-of-lor/pocs/multiplayer-poc/ (alongside the Stage 3 client); the hosted APK and its download link live in this workspace repo’s site/.
Docs to read first
server-architecture/overview.md’s “Runtime” section (single Godot codebase, client/server split). Task 007’s handoff note and its step 8 (the web export this Android export is a sibling target to — same client, same connection constraints).
Verified and closed (2026-08-04)
Kris confirmed it working the same day, using one Android phone (APK from deliverable #7’s download button) plus the web client — cross-device multiplayer against the live commons world, which is the substance of the two-phone bar (two installed phones simply weren’t both to hand; the install path and mutual visibility are both proven). Deliverable #7 is delivered; done.
View source in repository · also available as raw markdown.