diff --git a/conan-exiles.kvp b/conan-exiles.kvp index 088b924..e182558 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -1,21 +1,26 @@ Meta.DisplayName=Conan Exiles Meta.Description=Conan Exiles Dedicated Server Meta.OS=Windows, Linux +Meta.AarchSupport=NotSupported Meta.Arch=x86_64 Meta.Author=IceOfWraith, Greelan, eNcrypt, rezor92 Meta.URL=https://store.steampowered.com/app/440900/Conan_Exiles/ Meta.DisplayImageSource=steam:440900 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort3} +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort3} Meta.ConfigManifest=conan-exilesconfig.json Meta.MetaConfigManifest=conan-exilesmetaconfig.json Meta.ConfigRoot=conan-exiles.kvp Meta.MinAMPVersion=2.4.3.0 Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.ExtraSetupStepsURI= Meta.DockerRequired=False Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False App.DisplayName=Conan Exiles App.RootDir=./conan-exiles/ App.BaseDirectory=./conan-exiles/443030/ @@ -25,7 +30,8 @@ App.ExecutableLinux=/usr/bin/xvfb-run App.WorkingDir=443030/ConanSandbox/Binaries/Win64 App.LinuxCommandLineArgs=-a wine "./ConanSandboxServer-Win64-Test.exe" App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{Map}}{{CustomMap}} -stdout -FullStdOutLogOutput -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} +App.CommandLineArgs={{$PlatformArgs}} {{Map}} -stdout -FullStdOutLogOutput -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} +App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}="{1}" @@ -39,28 +45,30 @@ 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.Ports=[{"Protocol":"UDP","Port":7777,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"ApplicationPort2","Name":"Pinger Port","Description":"Port for pinger traffic from server browser to determine availability"},{"Protocol":"UDP","Port":27015,"Ref":"ApplicationPort3","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":25575,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=ApplicationPort1 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=ApplicationPort3 App.MaxUsers=40 App.UseRandomAdminPassword=True +App.PersistRandomPassword=True App.RemoteAdminPassword= App.AdminMethod=SourceRCON App.AdminLoginTransform=None +App.LoginTransformPrefix= App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=3 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","UpdateSourceArgs":"440900","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"./443030/ConanSandbox/Saved/Config/WindowsServer/","UpdateSourceArgs":"ServerSettings.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","UpdateSourceArgs":"440900","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] +App.PreStartStages=[] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False App.SupportsUniversalSleep=True -App.UniversalSleepApplicationUDPPort=1 -App.UniversalSleepSteamQueryPort=3 App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} @@ -75,6 +83,7 @@ Console.UserJoinRegex=^.*LogNet: Join succeeded: (?.+?#\d+)$ Console.UserLeaveRegex=^.*LogNet: Player disconnected: (?.+?#\d+)$ Console.UserChatRegex=^.*ChatWindow: Character (?.+?) said: (?.+?)$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.MetricsRegex= Console.SuppressLogAtStart=False Console.ActivateLogRegex= Console.UserActions={} diff --git a/conan-exilesconfig.json b/conan-exilesconfig.json index fc68b94..4f1f2d7 100644 --- a/conan-exilesconfig.json +++ b/conan-exilesconfig.json @@ -10,7 +10,6 @@ "Hidden":true, "ParamFieldName":"URL.Port", "IncludeInCommandLine":false, - "DefaultValue":"7777" }, { "DisplayName":"Download Port Offset", @@ -36,7 +35,6 @@ "Hidden":true, "ParamFieldName":"OnlineSubsystemNull.GameServerQueryPort", "IncludeInCommandLine":false, - "DefaultValue":"27015" }, { "DisplayName":"RCON Port", @@ -49,8 +47,8 @@ "Hidden":true, "ParamFieldName":"RconPlugin.RconPort", "IncludeInCommandLine":false, - "DefaultValue":"25575" - },{ + }, + { "DisplayName":"Server Name", "Category":"Server Settings", "Description":"Name of the server shown in the server browser.", @@ -75,8 +73,8 @@ "IncludeInCommandLine":false, "DefaultValue":"/Game/Maps/ConanSandbox/ConanSandbox", "EnumValues":{ - "":"Custom", - "/Game/Maps/ConanSandbox/ConanSandbox":"Exiled Lands", + "{{CustomMap}}":"Custom", + "/Game/Maps/ConanSandbox/ConanSandbox":"Exiled Lands (default)", "/Game/DLC_EXT/DLC_Siptah/Maps/DLC_Isle_of_Siptah":"Isle of Siptah" } }, @@ -126,15 +124,14 @@ { "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. Change this after installing the server!", + "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", + "InputType":"password", "IsFlagArgument":false, - "ParamFieldName":"ServerSettings.AdminPassword", - "IncludeInCommandLine":false, - "DefaultValue":"Password123", - "Required": true, + "ParamFieldName":"ini:ServerSettings:[ServerSettings]:AdminPassword", + "IncludeInCommandLine":true, + "DefaultValue":"{{newguid()}}", "EnumValues":{} }, {