Add Don't Starve Together Module
This adds the Don't Starve Together dedicated server generic module. All functionality should be included at the current time. No known limitations.
This commit is contained in:
parent
cbda0896ff
commit
3303533966
41
dont-starve-together.kvp
Normal file
41
dont-starve-together.kvp
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
App.AdminMethod=STDIO
|
||||||
|
App.ApplicationPort1=11000
|
||||||
|
App.ApplicationPort2=8766
|
||||||
|
App.ApplicationPort3=27016
|
||||||
|
App.RemoteAdminPort=10889
|
||||||
|
App.ApplicationReadyMode=Immediate
|
||||||
|
App.BaseDirectory=./dont-starve-together/343050/
|
||||||
|
App.CommandLineArgs=-persistent_storage_root "../dstserver" -conf_dir "dstserver_config" -shard shard {{$FormattedArgs}}
|
||||||
|
App.CommandLineParameterDelimiter=
|
||||||
|
App.CommandLineParameterFormat=-{0} "{1}"
|
||||||
|
App.DisplayName=Don't Starve Together
|
||||||
|
App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "343050"}
|
||||||
|
App.ExecutableLinux=343050/bin/dontstarve_dedicated_server_nullrenderer
|
||||||
|
App.ExecutableWin=343050\bin\dontstarve_dedicated_server_nullrenderer.exe
|
||||||
|
App.AppSettings={"console_enabled":"true","encode_user_path":"true"}
|
||||||
|
App.ExitMethod=String
|
||||||
|
App.ExitString=c_shutdown(true)
|
||||||
|
App.HasReadableConsole=true
|
||||||
|
App.HasWritableConsole=true
|
||||||
|
App.RapidStartup=false
|
||||||
|
App.RootDir=./dont-starve-together/
|
||||||
|
App.UpdateSource=Multi
|
||||||
|
App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "343050"}]
|
||||||
|
App.WorkingDir=343050/bin
|
||||||
|
App.EncodeUserPath=true
|
||||||
|
App.ConsoleEnabled=true
|
||||||
|
Console.AppReadyRegex=
|
||||||
|
Console.ThrowawayMessageRegex=
|
||||||
|
Console.UserChatRegex=^\[\d+:\d+:\d+\]: \[Say\] \(.+\) (?<username>.+?): (?<message>.+?)$
|
||||||
|
Console.UserJoinRegex=^\[\d+:\d+:\d+\]: \[Join Announcement\] (?<username>.+?)$
|
||||||
|
Console.UserLeaveRegex=^\[\d+:\d+:\d+\]: \[Leave Announcement\] (?<username>.+?)$
|
||||||
|
Meta.Author=IceOfWraith
|
||||||
|
Meta.ConfigManifest=dont-starve-togetherconfig.json
|
||||||
|
Meta.MetaConfigManifest=dont-starve-togethermetaconfig.json
|
||||||
|
Meta.ConfigRoot=dont-starve-together.kvp
|
||||||
|
Meta.Description=
|
||||||
|
Meta.DisplayImageSource=steam:322330
|
||||||
|
Meta.DisplayName=Don't Starve Together
|
||||||
|
Meta.EndpointURIFormat=steam://connect/{ip}/{GenericModule.App.ApplicationPort2}
|
||||||
|
Meta.OS=3
|
||||||
|
Meta.URL=https://store.steampowered.com/app/322330/Dont_Starve_Together/
|
339
dont-starve-togetherconfig.json
Normal file
339
dont-starve-togetherconfig.json
Normal file
@ -0,0 +1,339 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"DisplayName": "Max Players",
|
||||||
|
"Category": "Cluster Settings",
|
||||||
|
"Description": "Maximum number of players in the server",
|
||||||
|
"Keywords": "max players",
|
||||||
|
"FieldName": "max_players",
|
||||||
|
"InputType": "number",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "max_players",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "64",
|
||||||
|
"EnumValues": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Tick Rate",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "Force the server to run at a specific tick rate, higher is better performing but requires more bandwidth and CPU",
|
||||||
|
"Keywords": "tick rate",
|
||||||
|
"FieldName": "tickrate",
|
||||||
|
"InputType": "enum",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "tickrate",
|
||||||
|
"IncludeInCommandLine": true,
|
||||||
|
"DefaultValue": "60",
|
||||||
|
"EnumValues": {
|
||||||
|
"10": "10",
|
||||||
|
"15": "15",
|
||||||
|
"30": "30",
|
||||||
|
"60": "60"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Lan Only",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "Set the server to LAN only mode",
|
||||||
|
"Keywords": "LAN only",
|
||||||
|
"FieldName": "dedicated_lan_server",
|
||||||
|
"InputType": "checkbox",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "dedicated_lan_server",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "",
|
||||||
|
"EnumValues": {
|
||||||
|
"true": "True",
|
||||||
|
"false": "False"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Master Server",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "Enable only on the master server",
|
||||||
|
"Keywords": "master server",
|
||||||
|
"FieldName": "is_master",
|
||||||
|
"InputType": "checkbox",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "is_master",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "true",
|
||||||
|
"EnumValues": {
|
||||||
|
"true": "True",
|
||||||
|
"false": "False"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Shard Name",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "The name for the server",
|
||||||
|
"Keywords": "server description",
|
||||||
|
"FieldName": "shard_name",
|
||||||
|
"InputType": "text",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "shard_name",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "Master",
|
||||||
|
"EnumValues": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Shard ID",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "A unique number to identify the shard in a cluster",
|
||||||
|
"Keywords": "shard id",
|
||||||
|
"FieldName": "id",
|
||||||
|
"InputType": "number",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "id",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "1",
|
||||||
|
"EnumValues": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Server Description",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "The description for the server",
|
||||||
|
"Keywords": "server description",
|
||||||
|
"FieldName": "default_server_description",
|
||||||
|
"InputType": "text",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "default_server_description",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "AMP Powered Server",
|
||||||
|
"EnumValues": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Enable PVP",
|
||||||
|
"Category": "Cluster Settings",
|
||||||
|
"Description": "Enable/Disable player-vs-player",
|
||||||
|
"Keywords": "pvp player vs",
|
||||||
|
"FieldName": "pvp",
|
||||||
|
"InputType": "checkbox",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "pvp",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "false",
|
||||||
|
"EnumValues": {
|
||||||
|
"true": "True",
|
||||||
|
"false": "False"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Game Mode",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "Game mode selection",
|
||||||
|
"Keywords": "game mode",
|
||||||
|
"FieldName": "game_mode",
|
||||||
|
"InputType": "enum",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "game_mode",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "survival",
|
||||||
|
"EnumValues": {
|
||||||
|
"endless": "Endless",
|
||||||
|
"survival": "Survival",
|
||||||
|
"wilderness": "Wilderness"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Cluster Intention",
|
||||||
|
"Category": "Cluster Settings",
|
||||||
|
"Description": "Cluster play style",
|
||||||
|
"Keywords": "cluster intention play style",
|
||||||
|
"FieldName": "cluster_intention",
|
||||||
|
"InputType": "enum",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "cluster_intention",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "cooperative",
|
||||||
|
"EnumValues": {
|
||||||
|
"competitive": "Competitive",
|
||||||
|
"cooperative": "Cooperative",
|
||||||
|
"madness": "Madness",
|
||||||
|
"social": "Social"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Enable Snapshots",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "Enable/Disable Snapshots",
|
||||||
|
"Keywords": "enable snapshots",
|
||||||
|
"FieldName": "enable_snapshots",
|
||||||
|
"InputType": "checkbox",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "enable_snapshots",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "false",
|
||||||
|
"EnumValues": {
|
||||||
|
"true": "True",
|
||||||
|
"false": "False"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Enable Autosaver",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "Enable/Disable Autosaving at the begining of each day in-game",
|
||||||
|
"Keywords": "enable autosaver",
|
||||||
|
"FieldName": "enable_autosaver",
|
||||||
|
"InputType": "checkbox",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "enable_autosaver",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "true",
|
||||||
|
"EnumValues": {
|
||||||
|
"true": "True",
|
||||||
|
"false": "False"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Enable Shards",
|
||||||
|
"Category": "Cluster Settings",
|
||||||
|
"Description": "Enable/Disable shards (Must be enabled for clusters)",
|
||||||
|
"Keywords": "enable shards",
|
||||||
|
"FieldName": "shard_enabled",
|
||||||
|
"InputType": "checkbox",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "shard_enabled",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "true",
|
||||||
|
"EnumValues": {
|
||||||
|
"true": "True",
|
||||||
|
"false": "False"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Connection Timeout (ms)",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "Time in milliseconds before server drops an idle player",
|
||||||
|
"Keywords": "connection timeout",
|
||||||
|
"FieldName": "connection_timeout",
|
||||||
|
"InputType": "number",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "connection_timeout",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "8000",
|
||||||
|
"EnumValues": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Enable Vote to Kick",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "Allow players to vote to kick other players",
|
||||||
|
"Keywords": "vote to kick enabled",
|
||||||
|
"FieldName": "vote_kick_enabled",
|
||||||
|
"InputType": "checkbox",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "vote_kick_enabled",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "true",
|
||||||
|
"EnumValues": {
|
||||||
|
"true": "True",
|
||||||
|
"false": "False"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Pause When Empty",
|
||||||
|
"Category": "Cluster Settings",
|
||||||
|
"Description": "Pause the game when no players in session",
|
||||||
|
"Keywords": "pause when empty",
|
||||||
|
"FieldName": "pause_when_empty",
|
||||||
|
"InputType": "checkbox",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "pause_when_empty",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "true",
|
||||||
|
"EnumValues": {
|
||||||
|
"true": "True",
|
||||||
|
"false": "False"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Cluster Description",
|
||||||
|
"Category": "Cluster Settings",
|
||||||
|
"Description": "Description for this server cluster",
|
||||||
|
"Keywords": "cluster description",
|
||||||
|
"FieldName": "cluster_description",
|
||||||
|
"InputType": "text",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "cluster_description",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "AMP Powered Cluster",
|
||||||
|
"EnumValues": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Cluster Name",
|
||||||
|
"Category": "Cluster Settings",
|
||||||
|
"Description": "Name for this cluster",
|
||||||
|
"Keywords": "cluster name",
|
||||||
|
"FieldName": "cluster_name",
|
||||||
|
"InputType": "text",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "cluster_name",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "AMP Cluster",
|
||||||
|
"EnumValues": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Cluster Password",
|
||||||
|
"Category": "Cluster Settings",
|
||||||
|
"Description": "Password required for a shard server to join the cluster",
|
||||||
|
"Keywords": "shard cluster password",
|
||||||
|
"FieldName": "cluster_password",
|
||||||
|
"InputType": "password",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "cluster_password",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "Password123",
|
||||||
|
"EnumValues": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Master IP",
|
||||||
|
"Category": "Cluster Settings",
|
||||||
|
"Description": "The IP of the master server (127.0.0.1 if same machine)",
|
||||||
|
"Keywords": "master ip address",
|
||||||
|
"FieldName": "master_ip",
|
||||||
|
"InputType": "text",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "master_ip",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "127.0.0.1",
|
||||||
|
"EnumValues": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Master Port",
|
||||||
|
"Category": "Cluster Settings",
|
||||||
|
"Description": "Port of the master server (Remote Admin Port of the Master in AMP)",
|
||||||
|
"Keywords": "master server port",
|
||||||
|
"FieldName": "master_port",
|
||||||
|
"InputType": "text",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "master_port",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "",
|
||||||
|
"EnumValues": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Cluster Key",
|
||||||
|
"Category": "Cluster Settings",
|
||||||
|
"Description": "Private key to allow cluster shards to communicate",
|
||||||
|
"Keywords": "cluster key password",
|
||||||
|
"FieldName": "cluster_key",
|
||||||
|
"InputType": "password",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "cluster_key",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "Password123",
|
||||||
|
"EnumValues": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DisplayName": "Server Cluster Token (Required)",
|
||||||
|
"Category": "Server Settings",
|
||||||
|
"Description": "Obtained from [Klei's Site](https://accounts.klei.com/account/game/servers?game=DontStarveTogether)",
|
||||||
|
"Keywords": "cluster server token",
|
||||||
|
"FieldName": "cluster_token",
|
||||||
|
"InputType": "password",
|
||||||
|
"IsFlagArgument": false,
|
||||||
|
"ParamFieldName": "cluster_token",
|
||||||
|
"IncludeInCommandLine": false,
|
||||||
|
"DefaultValue": "",
|
||||||
|
"EnumValues": {}
|
||||||
|
}
|
||||||
|
]
|
88
dont-starve-togethermetaconfig.json
Normal file
88
dont-starve-togethermetaconfig.json
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"ConfigFile": "dstserver/dstserver_config/Cluster_1/shard/server.ini",
|
||||||
|
"Subsections": [
|
||||||
|
{
|
||||||
|
"Heading": "NETWORK",
|
||||||
|
"SettingMappings": {
|
||||||
|
"server_port": "$ApplicationPort1",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Heading": "SHARD",
|
||||||
|
"SettingMappings": {
|
||||||
|
"is_master": "is_master",
|
||||||
|
"name": "shard_name",
|
||||||
|
"id": "id"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Heading": "STEAM",
|
||||||
|
"SettingMappings": {
|
||||||
|
"master_server_port": "$ApplicationPort2",
|
||||||
|
"authentication_port": "$ApplicationPort3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Heading": "ACCOUNT",
|
||||||
|
"SettingMappings": {
|
||||||
|
"dedicated_lan_server": "dedicated_lan_server",
|
||||||
|
"encode_user_path": "encode_user_path"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ConfigFile": "dstserver/dstserver_config/Cluster_1/cluster.ini",
|
||||||
|
"Subsections": [
|
||||||
|
{
|
||||||
|
"Heading": "GAMEPLAY",
|
||||||
|
"SettingMappings": {
|
||||||
|
"game_mode": "game_mode",
|
||||||
|
"max_players": "max_players",
|
||||||
|
"pvp": "pvp",
|
||||||
|
"pause_when_empty": "pause_when_empty"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Heading": "NETWORK",
|
||||||
|
"SettingMappings": {
|
||||||
|
"cluster_description": "cluster_description",
|
||||||
|
"cluster_name": "cluster_name",
|
||||||
|
"cluster_intention": "cluster_intention",
|
||||||
|
"cluster_password": "cluster_password"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Heading": "MISC",
|
||||||
|
"SettingMappings": {
|
||||||
|
"console_enabled": "console_enabled"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Heading": "SHARD",
|
||||||
|
"SettingMappings": {
|
||||||
|
"shard_enabled": "shard_enabled",
|
||||||
|
"bind_ip": "$ApplicationIPBinding",
|
||||||
|
"master_ip": "master_ip",
|
||||||
|
"master_port": "master_port",
|
||||||
|
"cluster_key": "cluster_key"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ConfigFile": "dstserver/dstserver_config/Cluster_1/cluster_token.txt",
|
||||||
|
"ConfigType": "kvp",
|
||||||
|
"ConfigFormat": "{0}{1}",
|
||||||
|
"Subsections": [
|
||||||
|
{
|
||||||
|
"Heading": "$root",
|
||||||
|
"SettingMappings": {
|
||||||
|
"": "cluster_token"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
Loading…
Reference in New Issue
Block a user