Game-client API
The game-client API exposes files from the active server release. Read the manifest first, then request filenames listed by the manifest or Addressables index.
Manifest
Section titled “Manifest”GET /game-client/{server}/manifest.jsonHEAD /game-client/{server}/manifest.jsonThe stable envelope includes:
{ "schema": "haneoka-game-client-v1", "server": "jp-cbt", "sourceId": "garupa-jp-2026-09", "master": { "systemVersion": "example-system-version" }, "addressables": { "platform": "Android", "catalogFile": "catalog.json", "catalogHashFile": "catalog.hash", "embeddedCatalogFile": "catalog.embedded.json", "index": { "algorithm": "fnv1a32-mod-256", "shards": 256, "prefix": "addressables/index/" } }}The server returns X-Haneoka-Release-Id and X-Haneoka-Source-Id. The manifest follows the current pointer and is short-lived.
Master files
Section titled “Master files”GET /game-client/{server}/master/MasterDataSystemVersion.txtGET /game-client/{server}/master/{filename}HEAD /game-client/{server}/master/{filename}The version file is text. Other supported master files follow the Master*.bin filename grammar and are returned as binary data. The filename must be obtained from the release manifest or a documented client contract.
Addressables
Section titled “Addressables”GET /game-client/{server}/asset/{platform}/{filename}HEAD /game-client/{server}/asset/{platform}/{filename}The platform must equal addressables.platform from the manifest. The server resolves a 256-way release index shard and serves the content-addressed object. Catalog files are current-release objects; Unity bundles and catalog payloads may be cached as immutable content when their index role permits it.
Addressables responses are binary and include release headers. A missing platform, filename, or index entry returns 404; an index/object integrity failure returns 502.
Game-client file responses expose ETag and accept single byte ranges, returning 206 for a satisfiable range and 416 with Content-Range: bytes */<size> for an invalid range.
Practical sequence
Section titled “Practical sequence”- Fetch
manifest.json. - Confirm the
platformand catalog filenames. - Fetch the catalog file and hash file through
/asset/{platform}/{filename}. - Resolve additional filenames from the client catalog or published index.
- Cache according to the response headers and retain the release ID with your local index.