No edit summary |
No edit summary |
||
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
To help our users with [[Headless | To help our users with [[Headless Server Software/Configuration File|Headless Server configuration]] here are some example configuration files. When using these keep in mind that basic familiarity with the structure of [https://www.json.org/ JSON] is required to ensure that you do not create an invalid file. | ||
== Minimal == | == Minimal == | ||
The bare minimum required to run a single headless world | The bare minimum required to run a single headless world. In this case it just runs a Grid world with a name of "Testing" | ||
< | <syntaxhighlight lang="json"> | ||
{ | { | ||
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json", | "$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json", | ||
Line 10: | Line 10: | ||
{ | { | ||
"isEnabled": true, | "isEnabled": true, | ||
"sessionName": " | "sessionName": "Testing", | ||
" | "accessLevel": "Anyone", | ||
"loadWorldPresetName": "Grid" | |||
} | |||
] | |||
} | |||
</syntaxhighlight> | |||
== Minimal with Login == | |||
This is an exact copy of the Minimal config but includes a User Login. For user management make sure to checkout [[Headless Server Software/Recommendations#Users| our recommendations for users on Headless]] | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json", | |||
"loginCredential": "<username>", | |||
"loginPassword": "<password>", | |||
"startWorlds": [ | |||
{ | |||
"isEnabled": true, | |||
"sessionName": "Testing", | |||
"accessLevel": "Anyone", | |||
"loadWorldPresetName": "Grid" | |||
} | |||
] | |||
} | |||
</syntaxhighlight> | |||
== Minimal with Specified World == | |||
This is the same as the minimal setup but will load a specified world record url rather than a grid space. | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json", | |||
"startWorlds": [ | |||
{ | |||
"isEnabled": true, | |||
"sessionName": "Testing", | |||
"accessLevel": "Anyone", | |||
"loadWorldURL": "resrec:///U-ProbablePrime/R-49dd64cd-b2d6-40ac-be73-440abfa8bc48" | |||
} | |||
] | |||
} | |||
</syntaxhighlight> | |||
== Minimal with Builder/Admin Permissions == | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json", | |||
"startWorlds": [ | |||
{ | |||
"isEnabled": true, | |||
"sessionName": "Testing", | |||
"accessLevel": "Anyone", | |||
"loadWorldPresetName": "Grid", | |||
"defaultUserRoles" : { | |||
"ProbablePrime":"Admin", | |||
"Frooxius":"Builder" | |||
} | |||
} | |||
] | |||
} | |||
</syntaxhighlight> | |||
== Multiple Worlds/Sessions == | |||
Resonite's Headless Server Software can run multiple worlds, to do this just add more entries to the <code>startWorlds</code> array, for example: | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json", | |||
"startWorlds": [ | |||
{ | |||
"isEnabled": true, | |||
"sessionName": "Testing ONE", | |||
"accessLevel": "Anyone", | |||
"loadWorldPresetName": "Grid" | |||
}, | |||
{ | |||
"isEnabled": true, | |||
"sessionName": "Testing TWO", | |||
"accessLevel": "Anyone", | "accessLevel": "Anyone", | ||
"loadWorldPresetName": "Grid" | "loadWorldPresetName": "Grid" | ||
Line 17: | Line 93: | ||
] | ] | ||
} | } | ||
</ | </syntaxhighlight> | ||
== Default == | == Default == | ||
The default configuration file from the Resonite Installation. | The default configuration file from the Resonite Installation. | ||
< | <syntaxhighlight lang="json"> | ||
{ | { | ||
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json", | "$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json", | ||
Line 73: | Line 150: | ||
"autoSpawnItems": null | "autoSpawnItems": null | ||
} | } | ||
</syntaxhighlight> | |||
</ |
Latest revision as of 05:52, 23 May 2024
To help our users with Headless Server configuration here are some example configuration files. When using these keep in mind that basic familiarity with the structure of JSON is required to ensure that you do not create an invalid file.
Minimal
The bare minimum required to run a single headless world. In this case it just runs a Grid world with a name of "Testing"
{
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json",
"startWorlds": [
{
"isEnabled": true,
"sessionName": "Testing",
"accessLevel": "Anyone",
"loadWorldPresetName": "Grid"
}
]
}
Minimal with Login
This is an exact copy of the Minimal config but includes a User Login. For user management make sure to checkout our recommendations for users on Headless
{
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json",
"loginCredential": "<username>",
"loginPassword": "<password>",
"startWorlds": [
{
"isEnabled": true,
"sessionName": "Testing",
"accessLevel": "Anyone",
"loadWorldPresetName": "Grid"
}
]
}
Minimal with Specified World
This is the same as the minimal setup but will load a specified world record url rather than a grid space.
{
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json",
"startWorlds": [
{
"isEnabled": true,
"sessionName": "Testing",
"accessLevel": "Anyone",
"loadWorldURL": "resrec:///U-ProbablePrime/R-49dd64cd-b2d6-40ac-be73-440abfa8bc48"
}
]
}
Minimal with Builder/Admin Permissions
{
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json",
"startWorlds": [
{
"isEnabled": true,
"sessionName": "Testing",
"accessLevel": "Anyone",
"loadWorldPresetName": "Grid",
"defaultUserRoles" : {
"ProbablePrime":"Admin",
"Frooxius":"Builder"
}
}
]
}
Multiple Worlds/Sessions
Resonite's Headless Server Software can run multiple worlds, to do this just add more entries to the startWorlds
array, for example:
{
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json",
"startWorlds": [
{
"isEnabled": true,
"sessionName": "Testing ONE",
"accessLevel": "Anyone",
"loadWorldPresetName": "Grid"
},
{
"isEnabled": true,
"sessionName": "Testing TWO",
"accessLevel": "Anyone",
"loadWorldPresetName": "Grid"
}
]
}
Default
The default configuration file from the Resonite Installation.
{
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json",
"comment": "DO NOT EDIT THIS FILE! Your changes will be lost. Copy it over and create a new file called Config.json",
"universeId": null,
"tickRate": 60.0,
"maxConcurrentAssetTransfers": 4,
"usernameOverride": null,
"loginCredential": null,
"loginPassword": null,
"startWorlds": [
{
"isEnabled": true,
"sessionName": null,
"customSessionId": null,
"description": null,
"maxUsers": 16,
"accessLevel": "Anyone",
"useCustomJoinVerifier": false,
"hideFromPublicListing": null,
"tags": null,
"mobileFriendly": false,
"loadWorldURL": null,
"loadWorldPresetName": "Grid",
"overrideCorrespondingWorldId": null,
"forcePort": null,
"keepOriginalRoles": false,
"defaultUserRoles": null,
"roleCloudVariable": null,
"allowUserCloudVariable": null,
"denyUserCloudVariable": null,
"requiredUserJoinCloudVariable": null,
"requiredUserJoinCloudVariableDenyMessage": null,
"awayKickMinutes": -1.0,
"parentSessionIds": null,
"autoInviteUsernames": null,
"autoInviteMessage": null,
"saveAsOwner": null,
"autoRecover": true,
"idleRestartInterval": -1.0,
"forcedRestartInterval": -1.0,
"saveOnExit": false,
"autosaveInterval": -1.0,
"autoSleep": true
}
],
"dataFolder": null,
"cacheFolder": null,
"logsFolder": null,
"allowedUrlHosts": null,
"autoSpawnItems": null
}