Headless Clients are versions of Resonite that lack a graphical user interface, allowing them to run efficiently in scenarios where rendering is not needed (such as when used as a server). It is common to use a Headless Client to run events or servers for large volume applications within Resonite. Headless Clients can run on Windows and Linux servers wherever they may be, including your own computer.
Access to Headless client builds
To gain access to the Headless client you will need a headless steam beta code:
- To be a Resonite Patron at the Discoverer level or higher.
- Send
/headlessCode
to the Resonite bot in-game. - You'll get a headless beta code for steam. With this in hand you need to proceed to getting the files.
Getting the Headless client files
There are two options for getting the files required to run a headless client:
- Using Steam's Graphical Interface
- Using Steam's Command Line Interface - Common for within Docker files and Linux servers.
Using Steam's graphical interface
- Open Steam
- Find Resonite in your Installed Games list
- Right Click Resonite and select "Properties"
- Click the "Betas" option in the window which appears
- Enter your code from Resonite bot into the "beta access code" field.
- This will grant you access to the headless-client build.
- Switch to the headless-client build
Using Steam's Command Line Interface
- Install SteamCMD
- Run Steam CMD with:
steamcmd
- Run:
app_license_request 2519830
. - Run:
app_update 2519830 -beta headless -betapassword <headless beta access code>
Running a Headless Client
First, look for the files you've installed. Look for Resonite.exe:
- For SteamCMD it will be in the location which you downloaded the files to with SteamCMD
- For Steam's GUI it will be in the regular Steam installation folder for Resonite inside a folder called "Headless"
Once you've found them you can try running the "Resonite.exe" file in there:
- For Windows, we still recommend a terminal window.
- Powershell or CMD works well
- This allows you to see any errors or problems in a much easier way.
- For Linux you'll need mono:
mono Resonite.exe
This will run a default Resonite Headless, as we haven't specified any configuration properties it will just open a default world using a non-logged in user.
This isn't that useful but it does verify that everything is installed and setup correctly. After it starts up you should see "World Running" and something along the lines of "<your computers name> World 0>_".
If you see this, you're good to go!
You've got a running Headless Client. You'll probably want to create a Configuration File next.
Saving Headless Worlds
When you're running a headless client, you may wish to save changes to the world for things like collaborative building. When doing this keep in mind:
- You must have save access to the world you are trying to save.
- Simply loading someone else's world via your configuration file might not give you this permissions.
- Saving must be configured or invoked, saving is not automatic.
- Check the parameters with "save" in them on our configuration file page.
- Also see the headless commands reference for how to invoke a save.
- For Cloud saving (saveAsOwner:"CloudUser"), you must:
- Ensure the headless is logged into a user account
- Ensure the logged in user has cloud storage space for the world and any changes
For a smooth experience if you want to save a world from a headless it is recommended to:
- Copy worlds you might want to save changes to, to the headless user's account using Save As
- You'll need to log in as the headless user on regular Resonite to do this
- Utilize Groups, and load the headless world from a group's storage
- This let's your group work on and save a headless' world without interacting with the headless. The next time it restarts it'll pickup the changes from the group storage.
- When doing this make sure to disable saving on the headless, make all changes outside it.
- Experiment: Create a headless, add a cube to the world, save it, make sure the cube stays there. Don't do a lot of work without validating your setup.
See Also
- Configuration File - Learn about Headless Configuration Files
- Commands - Learn about Headless Commands