Headless Client/Server

From Neos Wiki
Revision as of 22:58, 13 February 2021 by RoxyBoxxy (talk | contribs)
Jump to navigation Jump to search
Other languages:
English • ‎français • ‎čeština • ‎日本語 • ‎한국어

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.

Installation

  • Use the SteamCMD command

app_update 740250 -beta headless-client -betapassword your_code

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

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 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",
 "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": 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 "defaultUserRoles" defines the user and access level for the world. The format is "USERNAME": "ROLE", The roles are: "Admin", "Builder", "Moderator", "Guest", "Spectator".
  • Run the executable to start the client

Configuration for local or Cloud world save

To configure Headless Client/Server 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
}