server config: Difference between revisions

From Onset Developer Wiki
No edit summary
No edit summary
Line 42: Line 42:
|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
|discord_client_id

Revision as of 16:46, 30 June 2021

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.
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,
	"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
		}
	}
}