Additions made by Greelan

Notes by Greelan:

Some further development of the template that you can merge if appropriate to build out your PR.

Having worked with it a bit more I've concluded that it ain't a particularly AMP-friendly server.

Couple of specific comments:

    I've added AdminPassword as a command line argument, but I am not sure that is accepted. Most instructions say to put it in the ServerSettings.ini. Problem is that the default ServerSettings.ini that is created when the server is first started does not include that field. So I tried the solution of having a copy of that ini, with the AdminPassword field added, being downloaded from GitHub and copied across as update stages. But the server overwrites that on first start. And given I don't want the update stages overwriting the existing ServerSettings.ini, because it might include a lot of user configuration, I can't see a resolution for this (ie getting an AdminPassword entry into the standard ServerSettings.ini that is not overwritten by the server and that does not cause AMP to overwrite other settings).
    The Server Password manifest entry assumes that it will work with the ServerPassword field that exists by default in ServerSettings.ini. But I've also read that ServerPassword only works in Engine.ini. However, Engine.ini doesn't include that entry by default - which creates the same issue as for AdminPassword.
This commit is contained in:
IceOfWraith 2022-02-07 19:31:56 -06:00
parent 8bb6c59923
commit 9a5e51e0c9
3 changed files with 229 additions and 60 deletions

View File

@ -1,41 +1,76 @@
Meta.DisplayName=Conan Exiles
Meta.Description=Conan Exiles Dedicated Server
Meta.OS=Windows, Linux
Meta.Arch=x86_64
Meta.Author=IceOfWraith, Greelan, eNcrypt
Meta.URL=https://store.steampowered.com/app/440900/Conan_Exiles/
Meta.DisplayImageSource=steam:440900
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort3}
Meta.ConfigManifest=conan-exilesconfig.json
Meta.MetaConfigManifest=conan-exilesmetaconfig.json
Meta.ConfigRoot=conan-exiles.kvp
Meta.MinAMPVersion=2.3.2.0
Meta.SpecificDockerImage=
Meta.ContainerPolicy=Supported
Meta.Prerequsites=[]
Meta.ConfigReleaseState=NotSpecified
App.DisplayName=Conan Exiles
App.RootDir=./conan-exiles/
App.BaseDirectory=./conan-exiles/443030/
App.ExecutableWin=443030\ConanSandbox\Binaries\Win64\ConanSandboxServer-Win64-Test.exe
App.ExecutableLinux=1580130/proton
App.WorkingDir=443030/ConanSandbox/Binaries/Win64
App.LinuxCommandLineArgs=run ./ConanSandboxServer-Win64-Test.exe
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} -log -ServerName="{{ServerName}}" -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -AdminPassword="{{AdminPassword}}" {{$FormattedArgs}}
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900","STEAM_COMPAT_DATA_PATH":"{{$FullRootDir}}1580130","STEAM_COMPAT_CLIENT_INSTALL_PATH":"{{$FullRootDir}}1580130","ENABLE_VKBASALT":"1"}
App.CommandLineParameterFormat=-{0}={1}
App.CommandLineParameterDelimiter=
App.ExitMethod=String
App.ExitTimeout=30
App.ExitString=exit
App.ExitFile=app_exit.lck
App.HasWriteableConsole=True
App.HasReadableConsole=True
App.SupportsLiveSettingsChanges=False
App.LiveSettingChangeCommandFormat=set {0} "{1}"
App.ApplicationIPBinding=0.0.0.0
App.ApplicationPort1=7777
App.ApplicationPort2=7778
App.ApplicationPort3=27015
App.RemoteAdminPort=25575
App.ApplicationReadyMode=Immediate
App.BaseDirectory=./conan-exiles/443030/
App.LinuxCommandLineArgs=run ./443030/ConanSandbox/Binaries/Win64/ConanSandboxServer-Win64-Test.exe
App.CommandLineArgs={{$PlatformArgs}} -log -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconEnabled=1 -RconPort={{$RemoteAdminPort}} -RCONPassword="{{$RemoteAdminPassword}}" {{$FormattedArgs}}
App.CommandLineParameterDelimiter=
App.CommandLineParameterFormat=-{0}="{1}"
App.DisplayName=Conan Exiles
App.EnvironmentVariables={"STEAM_COMPAT_DATA_PATH":"{{$FullRootDir}}","STEAM_COMPAT_CLIENT_INSTALL_PATH":"{{$FullRootDir}}","PROTON_LOG":"1","SteamAppId":"440900"}
App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "440900"}
App.ExecutableLinux=1580130/proton
App.ExecutableWin=443030\ConanSandbox\Binaries\Win64\ConanSandboxServer-Win64-Test.exe
App.ExitMethod=OS_CLOSE
App.ExitString=stop
App.HasReadableConsole=true
App.HasWritableConsole=true
App.RapidStartup=false
App.UseRandomAdminPassword=True
App.RemoteAdminPort=25575
App.MaxUsers=40
App.UseRandomAdminPassword=False
App.RemoteAdminPassword=Password123
App.AdminMethod=SourceRCON
App.RootDir=./conan-exiles/
App.UpdateSource=Multi
App.UpdateSources=[{"UpdateStageName": "Proton Download", "UpdateSourcePlatform": "Linux", "UpdateSource": "SteamCMD", "UpdateSourceData": "1580130"}, {"UpdateStageName": "Conan Exiles Server Download", "UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "ForceDownloadPlatform": "Windows", "UpdateSourceData": "443030"}]
App.WorkingDir=443030/ConanSandbox/
Console.AppReadyRegex=^LogGameMode:Display: Match State Changed from WaitingToStart to InProgress$
App.AdminLoginTransform=None
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Proton Compatibility Layer","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1580130"}]
App.Compatibility=None
App.SteamUpdateAnonymousLogin=True
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.SupportsUniversalSleep=False
App.UniversalSleepApplicationUDPPort=27015
App.UniversalSleepSteamQueryPort=27016
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.UserChatRegex=^(?<username>.+?): (?<message>.+)$
Console.AppReadyRegex=^LogGameMode:Display: Match State Changed from WaitingToStart to InProgress$
Console.UserJoinRegex=^User (?<username>.+?) \((?<userid>-?d+)\) connected from \[::ffff:(?<endpoint>.+?)\]$
Console.UserLeaveRegex=^User (?<username>.+?) \((?<userid>-?d+)\) disconnected\. Reason: (.+?)$
Meta.Author=IceOfWraith, Greelan, eNcrypt
Meta.ConfigManifest=conan-exilesconfig.json
Meta.ConfigRoot=conan-exiles.kvp
Meta.Description=Conan Exiles Dedicated Server
Meta.DisplayImageSource=steam:440900
Meta.DisplayName=Conan Exiles
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort3}
Meta.OS=3
Meta.URL=https://store.steampowered.com/app/440900/Conan_Exiles/
Console.UserChatRegex=^(?<username>.+?): (?<message>.+)$
Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$
Console.SuppressLogAtStart=False
Console.ActivateLogRegex=
Console.UserActions={}
Limits.SleepMode=True
Limits.SleepOnStart=False
Limits.SleepDelayMinutes=5
Limits.DozeDelay=2
Limits.AutoRetryCount=5

View File

@ -1,28 +1,154 @@
[
{
"DisplayName": "Server Name",
"Category": "Server Settings",
"Description": "The Name of the server shown in the server browser",
"Keywords": "name",
"FieldName": "ServerName",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "ServerName",
"IncludeInCommandLine": true,
"DefaultValue": "Conan Exiles Server - Powered by AMP",
"EnumValues": {}
},
{
"DisplayName": "Max Players",
"Category": "Server Settings",
"Description": "The maximum amount of players that can be on the server at once",
"Keywords": "players",
"FieldName": "$MaxUsers",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "$MaxUsers",
"IncludeInCommandLine": true,
"DefaultValue": "100",
"EnumValues": {}
}
]
{
"DisplayName":"Game Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ApplicationPort1",
"InputType":"number",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"Port",
"IncludeInCommandLine":true,
"DefaultValue":"7777"
},
{
"DisplayName":"Query Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ApplicationPort3",
"InputType":"number",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"QueryPort",
"IncludeInCommandLine":true,
"DefaultValue":"27015"
},
{
"DisplayName":"RCON Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$RemoteAdminPort",
"InputType":"number",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"RconPort",
"IncludeInCommandLine":true,
"DefaultValue":"25575"
},
{
"DisplayName":"Server Name",
"Category":"Server Settings",
"Description":"Name of the server shown in the server browser",
"Keywords":"name",
"FieldName":"ServerName",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"ServerName",
"IncludeInCommandLine":false,
"DefaultValue":"Conan Exiles Server - Powered by AMP"
},
{
"DisplayName":"Player Limit",
"Category":"Server Settings",
"Description":"Maximum number of players that may connect to the server",
"Keywords":"maximum,players",
"FieldName":"$MaxUsers",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"MaxPlayers",
"IncludeInCommandLine":true,
"DefaultValue":"40",
"Suffix":"players"
},
{
"DisplayName":"Server Password",
"Category":"Server Settings",
"Description":"Password to connect to the server. Default is no password",
"Keywords":"password",
"FieldName":"ServerPassword",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"ServerSettings.ServerPassword",
"IncludeInCommandLine":false,
"DefaultValue":""
},
{
"DisplayName":"Admin Password",
"Category":"Server Settings",
"Description":"In-game \"admin\" user password (not the server password). NOTE: You must set this to allow use of the in-game admin panel",
"Keywords":"admin,password",
"FieldName":"AdminPassword",
"InputType":"RandomPassword",
"IsFlagArgument":false,
"ParamFieldName":"AdminPassword",
"IncludeInCommandLine":false,
"DefaultValue":""
},
{
"DisplayName":"RCON Password",
"Category":"Server Settings",
"Description":"Password to connect to RCON. NOTE: You should change this after first installing the server",
"Keywords":"rcon,password",
"FieldName":"$RemoteAdminPassword",
"InputType":"RandomPassword",
"IsFlagArgument":false,
"ParamFieldName":"RconPassword",
"IncludeInCommandLine":false,
"DefaultValue":"Password123"
},
{
"DisplayName":"Server Region",
"Category":"Server Settings",
"Description":"Sets the server region, which affects how the server is filtered in the server list",
"Keywords":"region",
"FieldName":"serverRegion",
"InputType":"enum",
"IsFlagArgument":false,
"ParamFieldName":"ServerSettings.serverRegion",
"IncludeInCommandLine":false,
"DefaultValue":"0",
"EnumValues":{
"0":"Europe",
"1":"North America",
"2":"Asia",
"3":"Australia",
"4":"South America",
"5":"Japan"
}
},
{
"DisplayName":"Enable BattlEye",
"Category":"Server Settings",
"Description":"If enabled, BattlEye cheat protection will apply to the server",
"Keywords":"battleye,cheats",
"FieldName":"IsBattlEyeEnabled",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"ServerSettings.IsBattlEyeEnabled",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Enable Valve Anti-cheat (Steam VAC)",
"Category":"Server Settings",
"Description":"",
"Keywords":"VAC,cheat",
"FieldName":"IsVACEnabled",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"ServerSettings.IsVACEnabled",
"IncludeInCommandLine":false,
"DefaultValue":"True",
"EnumValues":{
"True":"True",
"False":"False"
}
}
]

View File

@ -0,0 +1,8 @@
[
{
"ConfigFile": "ConanSandbox/Saved/Config/WindowsServer/ServerSettings.ini",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
}
]