Builds
Have your submitted work built and run automatically, use the Unreal and Unity presets, connect your own build machine and follow the results in the console.
PVersion can build and run the work you submit, on its own. For this a service is set up in the project: which folder of the project, how it is built and how its output runs. Every time a submission reaches that folder, PVersion builds it and puts the new version live. Take the Atlas game's dedicated server: Can submits code, and a few minutes later the server is running the new version.
Websites go live the same way; for them see Web publishing.
Who sets up a service
Services are set up by the PVersion team. Open a case from the Support page of the console and tell us: which project and folder, which engine (Unreal, Unity or something else), where the build should run (see below) and how the output should run. For opening a case see Support and the assistant.
When this permission is turned on, the studio's admins can also set up a service themselves with New service on the project's page. Every service counts towards your plan's service limit (see Plans and payment).
Once a service is set up, nobody on the team has to do anything extra: you submit your work as usual (see Submitting) and the build starts by itself.
Where builds run
| Where | When |
|---|---|
| On the PVersion server, with a build command | Web apps, tools, projects that don't need an engine |
| On the PVersion server, with Docker | When the project has a Dockerfile; the output runs as a container |
| On your own build machine | Builds that need an engine installed, such as Unreal and Unity |
When the build runs on your machine, the machine takes the job from the queue, downloads that version of the project itself, runs the build command, sends its log to the console line by line and uploads the output folder to the PVersion server. The output runs there; a game server, for example, opens on the port you set.
Unreal and Unity presets
When a service is set to build on a build machine, three presets appear. A preset fills in the build command, the output folder, the run command and the port (7777):
- Unreal dedicated server (Win64): packages the project as a Windows server; output in
Saved/StagedBuilds/WindowsServer. - Unreal dedicated server (Linux, without Docker): the same for Linux; output in
Saved/StagedBuilds/LinuxServer. - Unity headless server: runs Unity without a screen; output in
Builds/Server.
MyGame and MyGameServer in the presets are placeholders, replaced with the names of your project and your server program.
Connecting your own build machine
How many build machines you can connect depends on your plan. To connect one:
- Open a case from the Support page saying you want to connect a build machine. The PVersion team creates a key for that machine.
- Install the build program on the machine and enter the console's address and the key in its settings. On Windows the program installs as a service and starts by itself when the machine starts.
- The engine the build command uses (for example Unreal or Unity) must be installed on the machine.
Each machine has a name and, optionally, labels (for example unreal, windows). A service picks the machine it runs on by that name or label; if left empty, any connected machine takes the job.
Following the results
In the console, the Services & deployments page lists all your studio's services with their latest status, and below them Recent deployments. Click a service to open its page with the Deployments list: each row shows the status, the submission's number, a note if there is one, and the time.
| Status | Meaning |
|---|---|
| queued | Waiting for its turn |
| syncing | That version of the project is being downloaded |
| building | The build command is running |
| starting | The output is being put in place and the program is starting |
| running | The new version is live |
| failed | A step failed |
| stopped | An older version, or a service stopped by hand |
Click a row to open its details. If something went wrong, the error is at the top in a red box. Steps is the whole build log and updates live while the build runs; Process output is what the running program itself prints (a game server's log, for example). The reason a build failed is usually in the last lines of Steps.
Building by hand and going back to an older version
- Build again: the button at the top right of the service page rebuilds the latest submission and puts it live. In the list of recent submissions on the right, Deploy next to each one picks a particular submission. In the window that opens you can write a Note (for example "QA approved"); it shows in the history. Start with Deploy.
- Retry a failed build: Retry on the right of its row.
- Go back to an older version: the roll-back button on the right of an older row builds that version again and puts it in place of the running one. There is a short interruption.
- Stop: Stop shuts the running program down. The next submission or a build by hand starts it again.
Anyone on the team can start a build by hand; deleting a service needs the Admin role (see Team and permissions).
Ask the assistant on the site or write to [email protected].
PVersion