server config

From Onset Developer Wiki
Revision as of 15:56, 11 February 2021 by BlueMountains (talk | contribs)

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.
discord_client_id A custom client id which will be set to Discord. Activates UpdateDiscordActivity.
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)
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
		}
	}
}