Skip to content

feat(tools): add exact-version Tibia runtime bridge - #283

Closed
blakinio wants to merge 18 commits into
mainfrom
feat/OTC-20260813-tibia-runtime-bridge
Closed

feat(tools): add exact-version Tibia runtime bridge#283
blakinio wants to merge 18 commits into
mainfrom
feat/OTC-20260813-tibia-runtime-bridge

Conversation

@blakinio

@blakinio blakinio commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Objective

Persist Phase 9 of OTCLIENT-TIBIA-RE as a reusable non-GDB integration boundary for the exact official Linux Tibia client.

Delivered read-only slice

  • exact SHA-256/version profile fencing;
  • launcher rejects mismatched client binaries before injection;
  • LD_PRELOAD Qt helper with dynamic PIE-base discovery;
  • owner-only Unix-domain IPC (0600);
  • read-only PING, DISCOVER <target> and derived session-status;
  • current-process rw-memory vptr scan with expected Qt-class validation;
  • Qt-sensitive discovery on the real Qt application thread;
  • relocation-aware ELF resolver for primary vptr rediscovery;
  • bounded JSON IPC client and focused tests.

No gameplay write/action command is included. Write paths remain gated on a current OTClient-owned structural IN_GAME session and authoritative before/after state evidence.

Exact implementation validation

Run 31654823776, job 94306874981, explicitly checked out implementation head 89e13819e6f53026b831b7e8e4c8fab228d1626c and passed:

  • exact bridge head verification;
  • 12 focused tests;
  • py_compile for launcher/client/resolver;
  • standalone Qt bridge build;
  • complete exact official-client runtime reconstruction through WARP;
  • relocation rediscovery with every committed profile target resolving uniquely to the expected vptr;
  • exact-client no-credential bridge E2E;
  • socket mode 0600;
  • logged-out session-status fail-closed with zero marker hits and in_game_candidate=false.

Current head d93ccb34f66af7d3198a50a46e706b4f902ae637 differs from validated code head only by task-documentation checkpoints; product/tool/test code is unchanged. Repository CI on the prior documentation head was green; exact current-head repository CI remains the routine documentation-only gate.

Waiting boundary

The remaining programme correlation work requires a current structural live world session:

  1. correlate session-status markers with independently decoded IN_GAME state;
  2. read authoritative player position;
  3. prove one reversible before/after movement transition before adding any write API.

New live execution is migrating to synology-otclient-01 via #280/#48. Do not fall back to the historical Oteryn runner/container.

Boundaries

All material state is persisted in blakinio/otclient. No Codex/owner-funded AI/API quota, no credentials, no proprietary client bytes/assets, and no permanent CipSoft file patch.

Task: OTC-20260813-tibia-runtime-bridge

@blakinio blakinio added the programme:client Oteryn client programme label Aug 13, 2026

Copy link
Copy Markdown
Owner Author

Coordinator disposition: ACCEPT for the bounded read-only bridge implementation; P1 remains incomplete.

Verified at current source head d93ccb34f66af7d3198a50a46e706b4f902ae637:

  • compare from validated implementation head 89e13819e6f53026b831b7e8e4c8fab228d1626c shows two later commits changing only the task Markdown and no product/tool/test delta;
  • exact source-head repository CI run 31680615776 succeeded;
  • no unresolved review threads remain;
  • recorded exact-client implementation validation 31654823776 / job 94306874981 passed 12 focused tests, standalone bridge build, exact runtime reconstruction, profile rediscovery, 0600 IPC and logged-out fail-closed E2E.

Promotion boundary: session-status remains DERIVED until live structural correlation; authoritative player position, restart/relogin marker stability, health/recovery completion and all write/action APIs remain UNKNOWN/not delivered.

The accepted source evidence has been preserved on coordinator PR #300 at docs/agents/evidence/OTC-20260815-track-a-promotion-coordination/accepted-read-only-runtime-bridge.md. This stale source PR will be closed unmerged so its old path ownership is released; the exact accepted tool/test blobs will be rebuilt on current main@8fca1c3eee453d0d4ef8a47e0f15c9dbae491b45 by #300.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

programme:client Oteryn client programme

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant