Headless Server Software: Difference between revisions

From Resonite Wiki
add links
Add a note about adding the game to Steam library
Line 25: Line 25:
# Run Steam CMD with: <code>steamcmd</code>
# Run Steam CMD with: <code>steamcmd</code>
# Paste the following command into SteamCMD: <code>app_update 2519830 -beta headless -betapassword <beta access code></code>
# Paste the following command into SteamCMD: <code>app_update 2519830 -beta headless -betapassword <beta access code></code>
Note: If you are receiving a beta access denied error, you may need to add Resonite to your library. Running the following command in SteamCMD will do so:  <code>app_license_request 2519830</code>.


== Running a Headless Client == <!--T:7-->
== Running a Headless Client == <!--T:7-->

Revision as of 02:03, 29 February 2024

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

You will need to be a member of the Resonite Patreon at the Discoverer level or higher to gain access to the Headless Client Builds. Once this is done, send the command /headlessCode to the Resonite bot in-game to receive the password for the Headless beta on Steam.

Getting the Headless Client Files

There are two options for getting the files required to run a headless client:

  1. Using Steam's Graphical Interface
  2. Using Steam's Command Line Interface - Common for within Docker files and Linux servers.

Using Steam's Graphical Interface

  1. Open Steam
  2. Find Resonite in your Installed Games list
  3. Right Click Resonite and select "Properties"
  4. Click the "Betas" option in the window which appears
  5. Enter your code from Resonite bot into the "beta access code" field.
  6. This will grant you access to the headless-client build.
  7. Switch to the headless-client build

Using Steam's Command Line Interface

  1. Install SteamCMD
  2. Run Steam CMD with: steamcmd
  3. Paste the following command into SteamCMD: app_update 2519830 -beta headless -betapassword <beta access code>

Note: If you are receiving a beta access denied error, you may need to add Resonite to your library. Running the following command in SteamCMD will do so: app_license_request 2519830.

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 just double click it
  • 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:

  1. 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.
  2. Saving must be configured or invoked, saving is not automatic.
  3. 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