Headless Clients are versions of Neos 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 Neos. Headless Clients can run on Windows and Linux servers wherever they may be, including your own computer.
Access to Headless Client Builds
The Headless Client feature is currently in preview and due to this you will need to have a Neos Pro License or to be a Neos Patreon at the Gunter level or higher. Once this is done, check the pins in the #headless-client channel in the Neos Discord server, or contact a Neos administrator to get your access code.
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 Neos in your Installed Games list
- Right Click Neos and select "Properties"
- Click the "Betas" option in the window which appears
- Enter your code from the pinned message on the "#headless-client" channel 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:
- Paste the following command into SteamCMD:
app_update 740250 -beta headless-client -betapassword <beta access code>
Running a Headless Client
First, look for the files you've installed. Look for Neos.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 Neos inside a folder called "HeadlessClient"
Once you've found them you can try running the "Neos.exe" file in there:
- For Windows just double click it
- For Linux you'll need mono:
This will run a default Neos 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.
It is also possible to run Headless Clients within Docker or even a Kubernetes setup. A community member Shadow Panther has some publicly available files for this.