Skip to content

feat(examples): add an authoritative guest room server - #173

Merged
nick2781 merged 4 commits into
mainfrom
feat/guest-room-example
Oct 27, 2026
Merged

nick2781 merged 4 commits into
mainfrom
feat/guest-room-example

Conversation

@nick2781

Copy link
Copy Markdown
Member

The framework had no working client-facing example that combined its actual launcher, plugins, Kernel entities and authoritative network state.

Add an optional guest-room example for the C# Godot client. Guests join a bounded lobby, receive server-owned entities and snapshots, move within validated bounds, leave and rejoin with a fresh identity. A sample-specific, versioned ARK1 header uses explicit network byte order; existing default CS/SS formats are unchanged. Include bilingual protocol/run guides, shared wire vectors and permanent native acceptance.

Validation:

  • Actual launcher/plugin/Kernel test passed: two-peer join/movement/errors/disconnect/rejoin, malformed framing, 16-player capacity and normal shutdown.
  • Codec checks passed: 6 cases / 424 assertions, including a maximum escaped-name roster.
  • Two actual Godot 4.7.2 .NET clients passed authoritative movement and fresh self/peer identity checks against this server implementation.
  • 158 CI policy checks, clang-format 18 and Nimbus passed; canonical articles and Markdown exports were checked.

The existing Applications matrix explicitly enables this optional feature and its dependency/cache features. Unix cells run the process acceptance; Windows builds the plugin and runs codec checks. Hosted results remain distinct from local evidence. No additional CI jobs, reduced coverage or timeout extension.

Guest identity is temporary. This demo provides no account authentication, persistence, multi-process discovery or production-capacity guarantee. Raw logs stay local. Client implementation is maintained independently in OpenArkStudio/ark-client-godot.

@nick2781
nick2781 added this pull request to the merge queue Oct 27, 2026
Merged via the queue into main with commit 1119f9d Oct 27, 2026
6 checks passed
@nick2781
nick2781 deleted the feat/guest-room-example branch October 27, 2026 03:06
nick2781 added a commit to OpenArkStudio/ark-client-godot that referenced this pull request Oct 27, 2026
Add a C# Godot client for ark's authoritative guest-room example. Two guests can connect, see each other, move, disconnect and rejoin with a fresh identity. Portable framing, TCP transport and room state remain independent of Godot.

Provide a licensed pixel-art village plaza, directional walking sprites, explicit YOU/PLAYER nameplates and distinct overhead/ground markers. Compact HUD and connection controls center the room; the network drawer is closed by default and raw-position markers are optional. Display smoothing remains presentation-only. Foldable diagnostics show the actual endpoint, proposed and confirmed sequences/coordinates, room-update age, matching-pong application RTT and transport counters. Both languages document the protocol and data flow; the sample does not implement prediction, authentication or persistence.

Validation:
- Twelve permanent C# test groups and formatting passed.
- Official Godot 4.7.2 .NET build had zero warnings/errors; editor import and offline C# execution passed.
- Two actual Godot instances against the real ark launcher/plugins/Kernel passed authoritative movement and fresh self/peer identities after rejoin. Local logs and SDKs remain outside the repository.
- Three hosted OS checks run portable tests; Linux additionally verifies the Godot archive and builds/imports/runs the offline scene. Hosted CI does not start the ark server.

Server counterpart: OpenArkStudio/ark#173. Merge after the server change is accepted and this exact client head passes its checks. The server runtime used locally is source 33f906bb; subsequent server commits only change tests, CI and documentation.

Art: a 79 KB selected PNG subset of Pixel-Boy and AAA’s Ninja Adventure under CC0-1.0, with full license and original-file/hash inventory. Native-window inspection at the final client head verified both actual guests, role markers and keyboard movement.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant