server config: Difference between revisions

From Onset Developer Wiki
No edit summary
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
You can find the game and server limitations here: [[Limitations]].
{| class="wikitable" style="text-align: left;"
{| class="wikitable" style="text-align: left;"
!colspan="6"|server_config.json
!colspan="6"|server_config.json
Line 6: Line 8:
|-
|-
|servername
|servername
|The hostname of your server (220 max. chars including markup). Markup for colors and UTF8 icons require a subscription.
|The hostname of your server (260 max. chars including markup). Markup for colors and UTF8 icons can be requested for servers with custom and fun game modes.
|-
|-
|servername_short
|servername_short
Line 18: Line 20:
|-
|-
|ipaddress
|ipaddress
|Address to bind your server on. Use "localhost" to make it accessible from your computer only. Use "0.0.0.0" to bind on any address.
|Address to bind your server on. Use "localhost" to make it accessible from your computer only. Use "0.0.0.0" to bind on any address. If binding on this IP address fails, the server will retry to bind on 0.0.0.0 and report the IP address from the config to the masterserver. This is useful for docker instances.
|-
|-
|port
|port
Line 31: Line 33:
|iplimit
|iplimit
|Limit the amount of connections per IP. New connections exceeding that number are being dropped immediately.
|Limit the amount of connections per IP. New connections exceeding that number are being dropped immediately.
|-
|vac
|(Since 1.5.4) Enable Valve Anti Cheat. If enabled, VAC banned players won't be able to connect to your server. '''false''' by default.
|-
|-
|masterlist
|masterlist
Line 40: Line 45:
|packages
|packages
|Array of packages you want to load.
|Array of packages you want to load.
|-
|dotnet_server_version
|Override the dotnet version to use for the server. For example "5.0.7". For the specified version the corresponding folders must exist in the dotnet host and shared folders.
|-
|discord_client_id
|A custom client id (application id) which will be set to Discord. Activates [[UpdateDiscordActivity]]. This id can be found here: https://discord.com/developers/applications
|-
|connect_screen_url
|A custom web page or file to load while the player connects.
|-
|connect_screen_show_cursor
|Whether to enable the cursor for connect screens. Useful for interactive loading screens.
|-
|sandbox
|Whether to enable script security boundaries serverside. Turning this on will disallow certain things, for example loading compiled Lua scripts, usage of possible dangerous functions like file or OS functions. (Default: false)
|-
|dev_whitelist
|Setting allow or disallow connecting to this server with the developer mode (-dev) enabled on the game. Use dev_whitelist_steamid to set allowed steam ids to connect with dev mode anyway. (Default: false)
|-
|dev_whitelist_steamid
|Array of steam ids which are allowed to connect to this server with development mode enabled. Only works if dev_whitelist is set to true. Valid steam id formats are SteamId64 and SteamId3.
|-
|-
|voice
|voice
Line 46: Line 72:
|voice_sample_rate
|voice_sample_rate
|VoIP sample rate, higher rates have better quality but also require more bandwidth. Valid rates are: 8000, 12000, 16000, 24000 and 48000.
|VoIP sample rate, higher rates have better quality but also require more bandwidth. Valid rates are: 8000, 12000, 16000, 24000 and 48000.
|-
|voice_distance
|Distance where you can hear other players talking.
|-
|-
|voice_spatialization
|voice_spatialization
|Makes the VoIP sound 3D including spatialization and falloff.
|Makes the VoIP sound 3D including spatialization and falloff.
|-
|pools - distance
|Each entity pool has a steaming range in which players can see the relevant entities. A pool is just a collection of a specific entity type. For a full 300 players a distance of 12000.0 is a good value. You can increase this value if your gamemode requires it. As the distance and the number of entities in a pool increase, the more likely it is to experience degraded server and client performance.
A too low value can also be bad for the server performance.
|-
|pools - update_rate
|The time that passes between the algorithm updates and potential streaming events are generated. This should be low for players but can be higher for less important entity types like text3d, doors etc. A number 0.05 means 50ms.
|}
|}


Line 57: Line 87:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
        "servername": "[g]🌴 [c=#00ff00]Horizon[/c] [c=red]Prototype[/c] [c=yellow]Labs[/c] 🗽 [b]LIT AF[/b] 🚬🔥 [i]блять[/i] 🔫 + 💊 = 🚨 [u][b]NOICE[/b][/u] OK come on in 👀[/g]",
"servername": "[g]🌴 [c=#00ff00]Horizon[/c] [c=red]Prototype[/c] [c=yellow]Labs[/c] 🗽 [b]LIT AF[/b] 🚬🔥 [i]блять[/i] 🔫 + 💊 = 🚨 [u][b]NOICE[/b][/u] OK come on in 👀[/g]",
        "gamemode": "GET THE EXPERIENCE ⛺ 💊",
"gamemode": "GET THE EXPERIENCE ⛺ 💊",
        "website_url": "https://playonset.com",
"website_url": "https://playonset.com",
        "ipaddress": "0.0.0.0",
"ipaddress": "0.0.0.0",
        "port": 7777,
"port": 7777,
        "maxplayers": 25,
"maxplayers": 25,
        "password": "",
"password": "",
        "timeout": 15000,
"timeout": 15000,
        "iplimit": 5,
"iplimit": 5,
        "masterserver": true,
"vac": true,
        "plugins": [
"masterlist": true,
                "mariadb"
"plugins": [
        ],
"mariadb"
        "packages": [
],
                "horizon"
"packages": [
        ],
"horizon"
        "stream_distance": 12000.0,
],
        "stream_update_rate": 0.05,
"discord_client_id": "",
        "voice": true,
"connect_screen_url": "loadingscreen.html",
        "voice_sample_rate": 24000,
"connect_screen_show_cursor": true,
        "voice_distance": 4000.0,
"voice": true,
        "voice_spatialization": true
"voice_sample_rate": 24000,
"voice_spatialization": true,
"pools": {
"player": {
"distance": 12000.0,
"update_rate": 0.05
},
"voice": {
"distance": 5000.0,
"update_rate": 0.8
},
"vehicle": {
"distance": 12000.0,
"update_rate": 0.1
},
"object": {
"distance": 12000.0,
"update_rate": 0.1
},
"npc": {
"distance": 12000.0,
"update_rate": 0.1
},
"pickup": {
"distance": 12000.0,
"update_rate": 0.1
},
"door": {
"distance": 12000.0,
"update_rate": 0.1
},
"text3d": {
"distance": 12000.0,
"update_rate": 0.1
}
}
}
}


</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 12:24, 1 February 2022

You can find the game and server limitations here: Limitations.

server_config.json
Config Description
servername The hostname of your server (260 max. chars including markup). Markup for colors and UTF8 icons can be requested for servers with custom and fun game modes.
servername_short The short version of the hostname (128 max. chars). Used for Discord/Steam Rich Presence. (Should not contain markup but can contain UTF8 icons)
gamemode A description what you can do on your server.
website_url A link to your servers homepage.
ipaddress Address to bind your server on. Use "localhost" to make it accessible from your computer only. Use "0.0.0.0" to bind on any address. If binding on this IP address fails, the server will retry to bind on 0.0.0.0 and report the IP address from the config to the masterserver. This is useful for docker instances.
port Main network port to connect to your server (UDP). Query port (UDP) is this port - 1. File port (TCP) is this port - 2.
password Leave empty to disable.
timeout Time in milliseconds after which an unresponsive player will be dropped. This should be between 10000 and 20000 milliseconds.
iplimit Limit the amount of connections per IP. New connections exceeding that number are being dropped immediately.
vac (Since 1.5.4) Enable Valve Anti Cheat. If enabled, VAC banned players won't be able to connect to your server. false by default.
masterlist true to have your server made public in the server list. false otherwise. This only works if your server is reachable on the internet.
plugins Array of plugins you want to load. These must be in the plugins folder.
packages Array of packages you want to load.
dotnet_server_version Override the dotnet version to use for the server. For example "5.0.7". For the specified version the corresponding folders must exist in the dotnet host and shared folders.
discord_client_id A custom client id (application id) which will be set to Discord. Activates UpdateDiscordActivity. This id can be found here: https://discord.com/developers/applications
connect_screen_url A custom web page or file to load while the player connects.
connect_screen_show_cursor Whether to enable the cursor for connect screens. Useful for interactive loading screens.
sandbox Whether to enable script security boundaries serverside. Turning this on will disallow certain things, for example loading compiled Lua scripts, usage of possible dangerous functions like file or OS functions. (Default: false)
dev_whitelist Setting allow or disallow connecting to this server with the developer mode (-dev) enabled on the game. Use dev_whitelist_steamid to set allowed steam ids to connect with dev mode anyway. (Default: false)
dev_whitelist_steamid Array of steam ids which are allowed to connect to this server with development mode enabled. Only works if dev_whitelist is set to true. Valid steam id formats are SteamId64 and SteamId3.
voice Enable VoIP system.
voice_sample_rate VoIP sample rate, higher rates have better quality but also require more bandwidth. Valid rates are: 8000, 12000, 16000, 24000 and 48000.
voice_spatialization Makes the VoIP sound 3D including spatialization and falloff.
pools - distance Each entity pool has a steaming range in which players can see the relevant entities. A pool is just a collection of a specific entity type. For a full 300 players a distance of 12000.0 is a good value. You can increase this value if your gamemode requires it. As the distance and the number of entities in a pool increase, the more likely it is to experience degraded server and client performance.

A too low value can also be bad for the server performance.

pools - update_rate The time that passes between the algorithm updates and potential streaming events are generated. This should be low for players but can be higher for less important entity types like text3d, doors etc. A number 0.05 means 50ms.

Example server_config.json

{
	"servername": "[g]🌴 [c=#00ff00]Horizon[/c] [c=red]Prototype[/c] [c=yellow]Labs[/c] 🗽 [b]LIT AF[/b] 🚬🔥 [i]блять[/i] 🔫 + 💊 = 🚨 [u][b]NOICE[/b][/u] OK come on in 👀[/g]",
	"gamemode": "GET THE EXPERIENCE ⛺ 💊",
	"website_url": "https://playonset.com",
	"ipaddress": "0.0.0.0",
	"port": 7777,
	"maxplayers": 25,
	"password": "",
	"timeout": 15000,
	"iplimit": 5,
	"vac": true,
	"masterlist": true,
	"plugins": [
			"mariadb"
	],
	"packages": [
			"horizon"
	],
	"discord_client_id": "",
	"connect_screen_url": "loadingscreen.html",
	"connect_screen_show_cursor": true,
	"voice": true,
	"voice_sample_rate": 24000,
	"voice_spatialization": true,
	"pools": {
		"player": {
			"distance": 12000.0,
			"update_rate": 0.05
		},
		"voice": {
			"distance": 5000.0,
			"update_rate": 0.8
		},
		"vehicle": {
			"distance": 12000.0,
			"update_rate": 0.1
		},
		"object": {
			"distance": 12000.0,
			"update_rate": 0.1
		},
		"npc": {
			"distance": 12000.0,
			"update_rate": 0.1
		},
		"pickup": {
			"distance": 12000.0,
			"update_rate": 0.1
		},
		"door": {
			"distance": 12000.0,
			"update_rate": 0.1
		},
		"text3d": {
			"distance": 12000.0,
			"update_rate": 0.1
		}
	}
}