Difference between revisions of "Headless Client/Server"
DoubleStyx (talk | contribs) m (→Usage) |
DoubleStyx (talk | contribs) m |
||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
<translate> | <translate> | ||
− | + | 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--> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | === 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 [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: | |
− | + | { | |
− | { | + | "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 | + | * 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 <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 | + | == Configuration for a Local or Cloud World Save == <!--T:7--> |
− | To configure Headless | + | 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 | + | 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
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.