Difference between revisions of "Headless Client/Server"

From Neos Wiki
Jump to navigation Jump to search
m
Line 1: Line 1:
 
<languages/>
 
<languages/>
 
<translate>
 
<translate>
[[Headless Client/Server]] are Neos command line builds excluding graphical user interface, allowing them to run effectively in scenarios where rendering is not needed such as on a server. '''Neos Pro''' users and all '''Patrons''' at the level '''Gunter''' and up have access to Headless Client/Server builds. See Discord channel '''#headless-client''' or contact your administrator to get your access code.
+
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). '''Neos Pro''' users and all '''Patrons''' at the level '''Gunter''' and up have access to Headless Client builds. Check the pins in the '''#headless-client''' channel in the [https://discord.com/invite/neosvr Neos Discord server], or contact a Neos administrator to get your access code.
== Installation == <!--T:1-->
+
== Installation ==
 +
<!--T:1-->
  
 +
=== Method 1 ===
 +
If using Steam:
 +
* Go to Steam, open Neos Properties, and go to the Betas tab
 +
* Use your code to activate the beta branch
 +
* Switch to the headless-client branch
 
<!--T:2-->
 
<!--T:2-->
*  Use the SteamCMD command
 
 
<code>app_update 740250 -beta headless-client -betapassword your_code
 
</code>
 
 
<!--T:3-->
 
Alternatively if you're using graphical interface:
 
*  Go to Steam, open Neos Properties and go to the BETAs tab
 
*  Use your code to activate the beta branch
 
*  Switch to the headless-client branch
 
  
 +
=== Method 2 ===
 +
If using SteamCMD:
 +
* Paste the following command into SteamCMD:
 +
* <code>app_update 740250 -beta headless-client -betapassword your_code</code>
 
== Configuration == <!--T:4-->
 
== Configuration == <!--T:4-->
After Steam finishes the update, open the installation folder. You can find the headless client in the "Headless Client" subfolder.
+
After Steam finishes the update, open the [https://steamcommunity.com/sharedfiles/filedetails/?id=760447682 installation folder]. You can find the headless client in the "Headless Client" subfolder. You can use the Config/DefaultConfig.json file to configure a startup world or to have the server login into an account (please don't use your main Neos account). Here's a sample configuration you can use and modify:
You can use the Config/DefaultConfig.json file to setup startup world or have it login into an account (please don't use your main Neos Account)
+
{
{
+
   "comment": "DO NOT EDIT THIS FILE! Your changes will be lost. Copy it over and create a new file called Config.json in the same directory",
   "comment": "DO NOT EDIT THIS FILE! Your changes will be lost. Copy it over and create a new file called Config.json",
 
 
   "tickRate": 60.0,
 
   "tickRate": 60.0,
 
   "maxConcurrentAssetTransfers": 4,
 
   "maxConcurrentAssetTransfers": 4,
Line 59: Line 58:
 
   "autoSpawnItems": null,
 
   "autoSpawnItems": null,
 
   "metamovieRoles": null
 
   "metamovieRoles": null
 
+
}
  
 
<!--T:5-->
 
<!--T:5-->
* The "loadWorldPresetName": loads a world based on neos world templates, the templates are: "SpaceWorld", "Basic Empty", "GridSpace", "Microworld", "Testing Scaling", "ScratchSpace", "ScratchSpace (mobile)", "Instancing Test", "Physical Locomotion Test" and "UIX Test"
+
* The <code>loadWorldPresetName</code> attribute loads a world based on Neos world templates. The available templates are "SpaceWorld", "Basic Empty", "GridSpace", "Microworld", "Testing Scaling", "ScratchSpace", "ScratchSpace (mobile)", "Instancing Test", "Physical Locomotion Test" and "UIX Test".
  
 
<!--T:6-->
 
<!--T:6-->
* The "defaultUserRoles" defines the user and access level for the world. The format is "USERNAME": "ROLE", The roles are: "Admin", "Builder", "Moderator", "Guest", "Spectator".
+
* The <code>"defaultUserRoles"</code> attribute defines the user and access level for the world. The format is "USERNAME": "ROLE". The roles are "Admin", "Builder", "Moderator", "Guest", and "Spectator".
+
*  Run the executable to start the client.
*  Run the executable to start the client
 
  
== Configuration for local or Cloud world save == <!--T:7-->
+
== Configuration for a Local or Cloud World Save == <!--T:7-->
To configure Headless Client/Server to act as a local storage server, set your world to <code>"saveAsOwner" : "LocalMachine"</code> (will be replaced after first execution with it's unique <code>startWorldURL</code>) as well as <code>"saveOnExit" : true</code> and your desired <code>autoSaveInterval</code>.<br />
+
To configure a Headless client to act as a local storage server, set your world to <code>"saveAsOwner" : "LocalMachine"</code> (will be replaced after first execution with it's unique <code>startWorldURL</code>) as well as <code>"saveOnExit" : true</code> and your desired <code>autoSaveInterval</code>.<br>
If you want the world data saved to the cloud (a valid dedicated neos account will be needed), set <code> "saveAsOwner" : "CloudUser"</code>. </br>
+
If you want the world data saved to the cloud (a valid dedicated Neos account will be needed), set <code> "saveAsOwner" : "CloudUser"</code>. <br>
 
Please use the <code>shutdown</code> command to allow the server to save any unsaved changes on shutdown.
 
Please use the <code>shutdown</code> command to allow the server to save any unsaved changes on shutdown.
 
Config file example:
 
Config file example:

Revision as of 22:06, 25 February 2021

Other languages:
English • ‎français • ‎čeština • ‎日本語 • ‎한국어

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). Neos Pro users and all Patrons at the level Gunter and up have access to Headless Client builds. Check the pins in the #headless-client channel in the Neos Discord server, or contact a Neos administrator to get your access code.

Installation

Method 1

If using Steam:

  • Go to Steam, open Neos Properties, and go to the Betas tab
  • Use your code to activate the beta branch
  • Switch to the headless-client branch

Method 2

If using SteamCMD:

  • Paste the following command into SteamCMD:
  • app_update 740250 -beta headless-client -betapassword your_code

Configuration

After Steam finishes the update, open the installation folder. You can find the headless client in the "Headless Client" subfolder. You can use the Config/DefaultConfig.json file to configure a startup world or to have the server login into an account (please don't use your main Neos account). Here's a sample configuration you can use and modify:

{
 "comment": "DO NOT EDIT THIS FILE! Your changes will be lost. Copy it over and create a new file called Config.json in the same directory",
 "tickRate": 60.0,
 "maxConcurrentAssetTransfers": 4,
 "usernameOverride": null,
 "loginCredential": null,
 "loginPassword": null,
 "startWorlds": [
   {
     "isEnabled": true,
     "sessionName": null,
     "customSessionId": null,
     "description": null,
     "maxUsers": 32,
     "accessLevel": "Anyone",
     "hideFromPublicListing": null,
     "tags": null,
     "mobileFriendly": false,
     "loadWorldURL": null,
     "saveAsOwner": null,
     "loadWorldPresetName": "SpaceWorld",
     "forcePort": null,
     "keepOriginalRoles": false,
     "defaultUserRoles": null,
     "autoInviteUsernames": null,
     "autoInviteMessage": null,
     "autoRecover": true,
     "idleRestartInterval": -1.0,
     "forcedRestartInterval": -1.0,
     "saveOnExit": false,
     "autosaveInterval": -1.0,
     "awayKickMinutes": -1.0,
     "autoSleep": true
   }
 ],
 "dataFolder": null,
 "cacheFolder": null,
 "allowedUrlHosts": null,
 "autoSpawnItems": null,
 "metamovieRoles": null
}
  • The loadWorldPresetName attribute loads a world based on Neos world templates. The available templates are "SpaceWorld", "Basic Empty", "GridSpace", "Microworld", "Testing Scaling", "ScratchSpace", "ScratchSpace (mobile)", "Instancing Test", "Physical Locomotion Test" and "UIX Test".
  • The "defaultUserRoles" attribute defines the user and access level for the world. The format is "USERNAME": "ROLE". The roles are "Admin", "Builder", "Moderator", "Guest", and "Spectator".
  • Run the executable to start the client.

Configuration for a Local or Cloud World Save

To configure a Headless client to act as a local storage server, set your world to "saveAsOwner" : "LocalMachine" (will be replaced after first execution with it's unique startWorldURL) as well as "saveOnExit" : true and your desired autoSaveInterval.
If you want the world data saved to the cloud (a valid dedicated Neos account will be needed), set "saveAsOwner" : "CloudUser".
Please use the shutdown command to allow the server to save any unsaved changes on shutdown. Config file example:

{
 "tickRate": 60.0,
 "usernameOverride": null,
 "loginCredential": null,
 "loginPassword": null,
 "startWorlds": [
   {
     "sessionName": "My World 1",
     "description": null,
     "maxUsers": 32,
     "accessLevel": "LAN",
     "tags": null,
     "mobileFriendly": false,
     "loadWorldPresetName": "BasicEmpty",
     "saveAsOwner" : "LocalMachine",
     "autoRecover": true,
     "saveOnExit" : true,
     "autoSaveInterval" : 240,
     "forcedRestartInterval": -1.0
   }
 ],
 "dataFolder": null,
 "cacheFolder": null
}

Usage

See Headless Client Commands for a list of commands.