Files

GaCy Android

ภาษาไทย | English | 简体中文

GaCy GO

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. /give and /heal are 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.