Files
GaCyGO-Android/README_EN.md
T

67 lines
3.1 KiB
Markdown
Raw Normal View History

2026-11-02 02:40:32 +07:00
# GaCy Android
[ภาษาไทย](README.md) | English | [简体中文](README_ZH.md)
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.
```powershell
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.