Skip to main content

Work in the web editor

The AtlasEngine editor keeps project files, structured content, previews, live server state, and AI-assisted authoring in one browser workspace.

Start locally

Run the server and editor in separate terminals:

./gradlew :apps:server:run
pnpm --filter @ae2/web dev

Then open http://localhost:3000.

What is in the workspace

  • A project tree for scripts, behaviors, content, and assets
  • Monaco editing with JavaScript completion for the runtime bridge
  • Schema-driven forms for engine content types
  • Texture and animated Blockbench model previews
  • Game-server connection status and project reload
  • Streaming AI assistance with project-scoped tools

The same files remain usable outside the editor. AtlasEngine does not hide the game inside a database or proprietary binary format.

Live reload

Save files, then reload the selected project from the editor. The game server validates the project before loading it and tears down the previous script contexts safely.

A reload clears event handlers, scheduled callbacks, spawned handles owned by the old bridge, script commands, UI state, and shared game state. Treat onServerStart as the place to reconstruct the world-facing parts of your game.

Authentication in production

The public landing page and docs are separate from the editor. Production editor access requires:

  1. A Google account authenticated through Auth.js.
  2. An exact email match in AE2_ALLOWED_EMAILS.
  3. A valid database-backed session.

Sensitive write, RPC, reload, and AI endpoints repeat authorization checks on the server. Automation uses a separate bearer token rather than a browser session.

Do not publish editor secrets

Google client secrets, Auth.js secrets, API keys, and RPC tokens belong only in ignored local environment files and the production host's secret store. They must never be committed to a game project or exposed to browser JavaScript.

See deployment for exact OAuth origins, callback URLs, and production validation.