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>
This commit is contained in:
rezor92 2023-03-26 04:45:59 +02:00 committed by GitHub
parent 827dee2570
commit d8364858bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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: (?<username>.+?#\d+)$
Console.UserLeaveRegex=^.*LogNet: Player disconnected: (?<username>.+?#\d+)$
Console.UserChatRegex=^.*ChatWindow: Character (?<username>.+?) said: (?<message>.+?)$
Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$
Console.SuppressLogAtStart=False
Console.ActivateLogRegex=