Files
DoGaMa-serv/modules/palworld-rest/README.md
T
2026-08-06 19:21:08 +02:00

2.1 KiB

Palworld REST reference adapter

This is the source specification for DoGaMa's reference WebAssembly adapter. It is intentionally a translator only. Container lifecycle and archive handling stay in generic DoGaMa workflows.

Endpoint mapping

Normalized operation Palworld REST operation
test_connection, get_server_info server info
get_server_status info plus metrics readiness
get_metrics metrics
list_players players
save_world save
shutdown shutdown with bounded wait/message
send_announcement announce
kick_player kick by stable player ID
ban_player ban by stable player ID
unban_player unban by stable player ID

The official API category is Palworld REST API. Implementation must verify exact current paths, methods and response fields against the pinned game/API version and use fixtures for that version.

Network and credentials

The host binds logical handle instance_api to template port rest_api. The module never constructs a host or accepts a URL. It requests only relative /v1/api/... paths. Authentication values come from declared configuration and are placed in the request by module logic; diagnostics must never contain the header or password.

Save and shutdown semantics

save_world returns success only after the API acknowledges the save operation. DoGaMa then archives the saved mount. shutdown sends the in-game shutdown request; generic lifecycle code observes container exit and asks the restricted agent for a bounded stop only when necessary.

Build status

No WebAssembly binary is included in this specification baseline. The zero checksum in manifest.yaml is a visible placeholder. The implementation task must:

  1. define the WIT/typed bindings for normalized API v1;
  2. implement and test all declared capabilities;
  3. compile module.wasm without ambient WASI capabilities;
  4. replace the placeholder with the real SHA-256;
  5. verify runtime limits and offline/unauthorized/malformed-response cases;
  6. package the manifest, binary, README and license.