Skip to content

Remote Sandbox

Third-party plugins are tested in a VibeLands-hosted sandbox, so no local game runtime is required and the game client never imports plugin code from a user-supplied local URL. The canonical authoring source is the local Creator project installed with npm install --global @vibelands/creator; the hosted Sandbox is its visual multiplayer runtime. The optional browser editor requires neither a checkout nor a local runtime.

bash
vibelands serve .

The command validates the plugin, asks which hosted world to test against, uploads a source archive to https://playvibelands.com/api/plugins/sandbox, polls the hosted build, and prints the status URL, build log URL, artifact URL, remote game URL, sandbox world id, runtime URL, and any sandbox runtime error returned by the service. If the build fails, the CLI prints the tail of the hosted build log before exiting.

For CI, editor, or developer-portal integrations, request structured output:

bash
vibelands serve . --json

The JSON response includes buildId, statusUrl, logUrl, artifactUrl, gameUrl, and a sandbox object with serverId, worldId, runtime, and error. A published build with sandbox.error means compilation succeeded but the hosted sandbox runtime could not be prepared yet; open the statusUrl or rerun serve after fixing the runtime issue.

To re-check a build later or pull the hosted build log tail from your terminal:

bash
vibelands status <buildId>
vibelands status <buildId> --logs --log-lines 120
vibelands status <buildId> --json --logs

Use this when a teammate shares a build id, when the browser URL fails after a successful build, or when a CI job needs to archive the sandbox diagnostics.

What Runs Remotely

  1. The sandbox builder compiles and scans the source package.
  2. The plugin is deployed into a temporary clone of the selected world by default.
  3. The game loads from VibeLands-hosted infrastructure only.
  4. Plugin server code runs in an isolated worker container.

Local ?devPlugin=<url> loading is intentionally unsupported. Use --direct-world only when you intentionally want the sandbox plugin to run against the original selected world.

VibeLands Creator - Plugin SDK apiVersion 2