Test your game

Play your project before anyone else does with Play Local, Dev Test, beta builds with share codes, and Play Live, and know which one to reach for.

9 min read

Four ways to play what you built#

The editor never runs your game by itself. Every playtest is the real Vastopia client connected to a real game server; what changes is where that server runs and who can join it.

MethodWhere the server runsWho can joinNeedsBest for
Play LocalA temporary test server on the platformYouA signed-in account and an internet connectionEveryday testing while you build. The default.
Dev TestYour own machine, compiled from a server source checkoutYou, plus extra local clients via Dev ClientThe editor run from source, the .NET 8 SDK, server and client checkoutsEngine and server developers
Beta buildThe platform's shared beta serverAnyone with the beta code, up to 10 playersA build pushed from the editor, started from the dashboardOutside playtesters before launch
Play LiveYour launched production serverYou, alongside real playersA game that has been launchedChecking the live game as a player sees it

All four buttons sit in the top-right of the editor's top bar: Dev Test, Dev Client, Play Local, Play Live, then Publish. The installed editor hides Dev Test and Dev Client; they only appear when the editor runs from its Godot source project.

Play Local#

Play Local packages your project, deploys the server half to a test server on the platform, builds the client content on your machine, and launches the Vastopia client already logged in as you. Server code never leaves the platform: the only thing uploaded is a zip of your project's server/ folder, which is small, so most presses finish in tens of seconds.

What Play Local needs#

  • You are signed in (the Account button in the top-right, see Install the editor).
  • The project is linked to a game. Every project created by the New Project wizard gets a game ID automatically, and the editor registers it with the platform the first time the project is opened while signed in. A project with no game ID fails the pre-flight check with "Project has no game_id".
  • The project has a server/ folder containing at least one of data/, modules/, scripts/ or schemas/. A project with none of them is rejected as "server/ directory is empty".
  • A Vastopia client. You do not need to install one: the editor downloads the portable client for you (see below).

How to run it#

  1. Click Play Local in the top bar.
  2. The button turns yellow and reports each phase in place: Checking..., Starting..., Packaging..., Deploying..., Building..., Provisioning..., Verifying..., Launching..., with a running seconds counter. Hover the button to open a detail card with the full step message.
  3. The client window opens while the server is still deploying, and waits on the login screen until the server is verified ready. Then it logs in as your account username.
  4. The editor switches to the Server Logs view and shows Waiting for login... until your character appears in the server output, then Logged in!. If no login is seen within 90 seconds, the card reports that instead of waiting forever.

Pressing Play Local again while a run is in flight shows a Play Local Busy notice; wait for the current run to finish.

What happens on each press#

StepWhat the editor does
Client checkAsks the platform for the latest client version. If the editor's cached client is missing or older, it downloads the portable client zip into the editor's data folder under downloaded_client\ (you see Downloading the Vastopia client... or Updating the Vastopia client... as the first step of the same progress banner). A current cache skips this with no dialog.
SaveSaves the open project (Saving your project...).
Pre-flightChecks sign-in, the game ID, and the server/ folder. Failures are listed in the banner.
Package server dataZips server/data, server/modules, server/scripts and server/schemas. Stray .bak and .tmp files are left out.
Disconnect playersKicks anyone still connected to the previous test session so they cannot reconnect mid-deploy.
DeploySends the zip to the platform, which deploys it to your game's test server. A server that is already warm hot-reloads; a cold one is provisioned first, which is the slow path.
Build contentExports the client content packs. With a current client the content is split into four packs (assets, maps, data, ui) and only packs whose files changed since the last run are rebuilt; an unchanged project reuses all of them (Reusing cached packs).
Launch and verifyStarts the client, waits until the server accepts logins, then releases the client to log in.

The editor also keeps your test server warm in the background: when a project opens it boots the test server if it is cold, and while you keep editing it pings the server every two minutes so your first press of the session takes the fast path. The pings stop after 30 minutes without editor activity and the server is allowed to idle out.

Reading server output#

The Server Logs button (the first of the top-right controls, left of Play Local) opens a log view for your game's test server, and Play Local switches to it automatically once the client launches. It fetches the most recent lines from the platform and refreshes every three seconds while open.

ControlWhat it does
LinesHow many recent lines to fetch: 100, 200 (default), 500 or 1000.
Auto-scrollKeep the view pinned to the newest line.
RefreshFetch immediately.
ClearEmpty the view until the next fetch.

The status label reads Live with the time of the last fetch, No logs available when the server has not printed anything yet, or Not authenticated if you are signed out.

When Play Local fails#

The banner names the phase that failed and keeps the message on screen. The common ones:

MessageCause and fix
"Not signed in"Sign in from the Account button, then press again.
"Project has no game_id"The project's project.vastopia has no [platform] game_id. Projects created by the New Project wizard always have one; a project assembled by hand needs the key restored. See Project structure.
"PCK export failed twice"The content export hit an error; the editor retries once automatically. Check the editor console for the file it choked on.
"The Vastopia client process could not be started"The server is running; the client executable in the download cache could not launch. The banner says so and keeps the message on screen — press Play Local again to retry.
Client update download failsThe editor falls back to any existing client it can find, including an installed one. If there is none, the run stops with the download error and asks you to check your connection and press Play Local again.

Dev Test (developers)#

Dev Test runs the game server on your own machine, compiled from a Vastopia-Server checkout, and launches the client from a Vastopia-Client checkout. It exists for people working on the engine itself. Creators on the installed editor never see it and do not need it.

It requires the source checkouts described in Install the editor (Settings > Editor Settings... > Source Checkouts, or per project on the Game Settings tab under Development) and the .NET 8 SDK on your PATH.

What a Dev Test press does#

  1. Saves the project.
  2. Validates your C# server scripts: a fast structural lint, then a syntax-only compiler pass. Errors open a Script Validation dialog listing each file and line; double-click a row to jump to it in the Script Editor. You can Close and fix them, or Launch Anyway.
  3. Builds the server with dotnet build (once, then again only when server sources change) and starts it on the first free TCP port from 7777 upward, in its own console window. If a server from a previous press is still running, it is hot-reloaded instead of restarted.
  4. Rebuilds <ProjectName>_devtest.pck in the project folder if any file under assets/ or game_config.json is newer than the last pack, otherwise reuses it.
  5. Launches the client from source, connected to 127.0.0.1 on that port, with a persistent console so crashes stay readable.

Dev Client opens one more client against the same local server under a throwaway dev_ username, which is how you test two players interacting. It rebuilds the dev pack first if the project changed. Pack Project (between Dev Test and Dev Client in source builds) saves and rebuilds the pack on demand.

Beta builds#

A beta build is a normal build from the editor that you run on the platform's shared beta server and share with testers through a code. Testers need nothing but the Vastopia client.

Start a beta#

  1. Push a build from the editor (Publish in the top bar, then Create Build; see Publish your game).
  2. On the dashboard, open your game and go to the Update tab.
  3. Under Destination, choose Beta. Pick the build from the list on the right; newly pushed builds show as Ready.
  4. Click Push to Beta. The dashboard shows Deploying to beta... while the server starts.

When it is running, a Beta Server Active banner appears at the top of the game page with the build number and name, the remaining time, a player count out of 10, the share code, a copy button and Stop Beta. Codes look like MYGAME-AB12CD34: your game's slug, a dash, and eight characters.

Join a beta as a tester#

In the Vastopia client's launcher, the home tab has a JOIN A BETA section: paste the code into the field and click Join. The client connects straight to the beta server.

Limits#

LimitValue
Players at once10
ExpiryExtends to 7 days from the latest beta deploy, but never beyond 30 days from the first time the game started a beta. The banner counts down the remaining time.
VersioningNone. A beta deploy does not bump the version, cannot be scheduled, and has no update post.

Pushing a different build to beta replaces the running one; the previous build drops back to Ready. Builds currently in beta are labeled Beta in every build list, including the editor's Publish dialog, and they can still be chosen for launch later. See Beta access for the rest.

Play Live#

Play Live launches the Vastopia client against your launched production game, so you play exactly what your players play. The button is disabled with the tooltip "Publish and launch your game to production to enable this" until the platform reports a deployed version; once it does, the top bar also shows a green Live (v...) badge instead of the blue Test badge.

Play Live uses the same auto-downloaded client as Play Local, requires you to be signed in, and runs the client's own live launch: it fetches the live version, downloads the deployed content pack and connects to the live server. Nothing is built or uploaded from the editor.

With AI (MCP)#

The same flows are available to an AI agent through the Vastopia MCP server (see AI-Accelerated Creation):

ToolPurpose
play_localRuns the full Play Local press through a running editor and returns the run's diagnostic report (failing phase, timings, server log tail). Needs the editor open.
deploy_test_buildRuns an already-finalized build on a test server without the client, returning the host and port.
stop_test_serverStops that test server; it keeps running until you do.
read_server_logsReads test, beta or live server output.
get_deploy_status / wait_for_deployPolls a deployment until it settles.

Next step#

Happy with what you played? Push a build and launch it: Publish your game.

Spotted a mistake or something missing?Tell us on Discord