Skip to content

Add hosted website builds for all scripting languages - #86

Merged
JamieW105 merged 3 commits into
mainfrom
feat/hosted-website-all-languages
Nov 2, 2026
Merged

JamieW105 merged 3 commits into
mainfrom
feat/hosted-website-all-languages

Conversation

@JamieW105

Copy link
Copy Markdown
Collaborator

Website exports reject games using Luau, Python, C/C++, C#, Java or PHP because their native process adapters cannot run inside the static WebAssembly player. Add Hosted runtime (all scripting languages) under File → Build Project → Website, packaging the native runtime, verified game data, player and launchers. Browsers send keyboard/mouse/touch input over a same-origin WebSocket and receive PNG frames and mixed audio from independent native sessions.

New build settings select hosted mode; existing saved settings retain static WebAssembly. Hosted games require a matching GPU-capable server with the external toolchains used by the game. The static mode keeps its existing supported languages and static-host deployment. Each hosted connection gets temporary writable files, bounded input/audio, connection limits and timeout cleanup. External toolchains are checked before hosting starts.

Update the engine build guide, generated package instructions and bundled agent authoring guidance. No MCP tool changes are needed: exporting remains an editor-dialog operation. CI now exercises the hosted session against every adapter and a real WebSocket/rendering/Python-input smoke test.

Validation:

  • Rust formatting and Clippy with warnings denied pass for runtime, editor and play packages/all targets.
  • Packaging tests: 11 pass; existing WebAssembly fixture remains ignored without its compiled resources.
  • Hosted transport tests, audio isolation and session tests pass. Lua, Luau, JavaScript, HTML/CSS, Python, C and C++ execute locally; Java, C# and PHP await the CI environment with those toolchains.
  • Real native WebSocket smoke passes: Python keyboard input changes rendered PNG frames.
  • Chromium player tests: all 7 pass, including existing static exports.
  • Windows installer command was attempted but cannot run on this Linux host (powershell: command not found). Keep this PR draft until the required Windows installer and full adapter CI checks pass; no fresh installer was produced locally.

Documentation: https://rustic-game-engine.pages.dev/docs/guides/editor/build-project

@JamieW105
JamieW105 marked this pull request as ready for review November 2, 2026 06:59
@JamieW105
JamieW105 merged commit 58e8641 into main Nov 2, 2026
9 checks passed
@github-actions
github-actions Bot deleted the feat/hosted-website-all-languages branch November 2, 2026 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants