Repository navigation
feat(examples): add an authoritative guest room server - #173
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
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.