3.1 KiB
GaCy Android
GaCy Android is an Android companion and local server manager for the GaC-hkrpg-go project. The port is in progress: the app starts the Go SDK and game servers in a foreground service, or connects to an existing server.
Current status
- An ARM64 debug build was tested on a physical phone: the user confirmed game login, in-game map teleport, and restarting the server after an update.
- The Go SDK, shared-data, game-server and KCP tests passed. These checks do not establish that every game feature works on Android.
- Character settings from the older ppSR runtime are not yet connected to the
Go runtime.
/giveand/healare not implemented by the Go command API.
Features
- Start, stop and restart the local server; connect to a remote server and monitor its SDK health.
- View and copy server logs, send GM commands and open the SRTool web app.
- Use the game's own map to teleport. There is no separate teleport page in the app navigation.
- Submit an Unstuck request. The app reports it as queued only when the server supplies a request ID; this does not confirm the game has processed it.
- Configure the host and ports and display the actual app version in Settings.
/max updates avatar level, promotion and rank while preserving other save
fields. /teleport <plane_id> [floor_id] saves the scene for the next game
connection. Both have automated tests but have not been verified in the game.
/clear lineup is rejected because the active team cannot be empty.
Build
Requirements: Android SDK 35, JDK 17 or 21, Go, Python, and a local checkout of GaC-hkrpg-go. The app requires Android 8.0 (API 26) or newer. Normal debug builds target ARM64.
python tools/package_go_runtime.py <path-to-GaC-hkrpg-go>
.\gradlew.bat testDebugUnitTest assembleDebug
The packaging script uses the current Go source and resources, and seeds
player data from committed defaults. The APK is written to
app/build/outputs/apk/debug/app-debug.apk and copied to the project root as
GaCy-Android-<versionName>-debug.apk. APK files are ignored by Git.
For the x86_64 emulator, use --emulator when packaging and add
-PgacyEmulator to the Gradle command. These test executables are not part of
the normal ARM64 build.
Runtime and network configuration
The Go runtime stores its files under the app's private files/gacy-go
directory, separate from old ppSR data. An update preserves player data and
existing hotfix entries, while adding new bundled versions. A completely empty
cached version does not override available bundled hotfix data.
Set the Host in Settings to the address the game client uses to reach the
phone. Use 127.0.0.1 when both run on the same device. Configure the SDK and
game ports as needed; changes apply after restarting the server. Redirecting
the game client's dispatch traffic remains a separate setup step. The Settings
connection test checks the values currently entered; remote monitoring reports
an error after three consecutive failed SDK health checks.
