Headless Server Software: Difference between revisions

From Resonite Wiki
No edit summary
No edit summary
Line 58: Line 58:




If you see this, you're good to go!  
If you see this, you're good to go! You've got a running Headless Client. You'll probably want to create a [[Headless Client/Configuration File|Configuration File]] next.


'''You've got a running Headless Client. You'll probably want to create a [[Headless Client/Configuration File|Configuration File]] next.'''
== Saving Headless Worlds == <!--T:11-->
<!--T:16-->
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:
<!--T:17-->
# You must have save access to the world you are trying to save.
#* Simply loading someone else's world via your [[Headless_Client/Configuration_File|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 [[Headless_Client/Configuration_File|configuration file]] page.
#* Also see [[Headless_Client/Commands|the headless commands reference]] for how to invoke a save.
# For Cloud saving ([[Headless_Client/Configuration_File##SaveAsOwner|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
<!--T:18-->
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 == <!--T:14-->
== See Also == <!--T:14-->
* [[Headless Client/Configuration File|Configuration File]] - Learn about Headless Configuration Files
* [[Headless Client/Configuration File|Configuration File]] - Learn about Headless Configuration Files
* [[Headless Client/Commands|Commands]] - Learn about Headless Commands
* [[Headless Client/Commands|Commands]] - Learn about Headless Commands

Revision as of 22:33, 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.

Prerequisites

  • Be a Resonite Patron at the Discoverer level or higher.
  • Have a Windows or Linux server or machine ready to go

Windows Prerequisites

Linux Prerequisites

  • Mono (mono-complete)
    • You can find instructions on Mono's website
    • Follow instructions for the mono-complete package
  • steamcmd

Access to Headless client builds

To gain access to the Headless client you will need a headless steam beta code:

  • 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:

  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. Run: app_license_request 2519830.
  4. Run: app_update 2519830 -beta headless -betapassword <headless beta access code>

Your first time 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.


See Also