From d8364858bd19cd10eeade7a4d5a1d64b9994b7a5 Mon Sep 17 00:00:00 2001 From: rezor92 Date: Sun, 26 Mar 2023 04:45:59 +0200 Subject: [PATCH] Conan Exiles Regex and Exit (#279) * Regex and Exit Changed commandline args as suggested by @Greelan which makes it possible to search for regex Added regex for join leave and chat. Modified regex for ready. Modified exit mode to string and set timeout to 60s so that the server can properply shutdown * keep rcon alive * tune rcon keepalive and ready regex * Update launch args, "-log" isn't needed * Update conan-exiles.kvp Filtering ping errors for RCON keepalive * Update conan-exiles.kvp Streamlined the regex thanks to Greelan! --------- Co-authored-by: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> --- conan-exiles.kvp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/conan-exiles.kvp b/conan-exiles.kvp index 97131b8..48b3d0c 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -2,7 +2,7 @@ Meta.DisplayName=Conan Exiles Meta.Description=Conan Exiles Dedicated Server Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=IceOfWraith, Greelan, eNcrypt +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} @@ -24,13 +24,13 @@ 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}} -log -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} +App.CommandLineArgs={{$PlatformArgs}} {{Map}}{{CustomMap}} -stdout -FullStdOutLogOutput -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900"} App.CommandLineParameterFormat=-{0}="{1}" App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 +App.ExitMethod=String +App.ExitTimeout=60 App.ExitString=exit App.ExitFile=app_exit.lck App.HasWriteableConsole=True @@ -49,6 +49,8 @@ App.AdminMethod=SourceRCON App.AdminLoginTransform=None 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}] App.Compatibility=None @@ -66,11 +68,11 @@ App.MonitorChildProcessWaitMs=3000 App.MonitorChildProcessName=wine64 Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^LogGameMode:Display: Match State Changed from WaitingToStart to InProgress$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)|.*LogRcon:Warning: Received Rcon: ping, from PeerAddr: [\d\.:]+|.*Couldn't find the command: ping\. Try "help"$ +Console.AppReadyRegex=^.*LogGameState: Match State Changed from WaitingToStart to InProgress$ +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.SuppressLogAtStart=False Console.ActivateLogRegex=