diff --git a/srb2kart.kvp b/srb2kart.kvp new file mode 100644 index 000000000..329c49af0 --- /dev/null +++ b/srb2kart.kvp @@ -0,0 +1,86 @@ +Meta.DisplayName=SRB2-Kart +Meta.Description=SRB2-Kart Dedicated Server (v1.6) +Meta.Arch=x86_64 +Meta.Author=Hacksawfred3232 +Meta.URL=https://github.com/STJr/Kart-Public +Meta.MinAMPVersion=2.4.6.6 +Meta.SpecificDockerImage=ghcr.io/hacksawfred3232/custampimages/ampcust:srb2kart +Meta.DockerRequired=True +Meta.ContainerPolicy=RequiredOnLinux +Meta.ContainerPolicyReason=Sonic Team Jr/Kart Krew does not supply native Linux binaries. As such, the game needs to be compiled. +Meta.ExtraSetupStepsURI=https://github.com/Hacksawfred3232/CustAMPTemplates/issues/1 +Meta.Prerequsites=[] +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort} +Meta.ExtraContainerPackages=[] +Meta.AppConfigId=7618c209-1fb4-4207-99bc-5af337ca3254 +App.AdminMethod=STDIO +App.HasReadableConsole=true +App.HasWritableConsole=true +App.DisplayName=SRB2 Kart +App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -dedicated -nofork -serverport {{$MainGamePort}} +App.WindowsCommandLineArgs= +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.RapidStartup=false +App.ApplicationReadyMode=RegexMatch +App.ExitMethod=OS_CLOSE +App.ExitString=stop +App.ExitTimeout=30 +App.ExitFile=app_exit.lck +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.AdminPortRef=RemoteAdminPort +App.UniversalSleepApplicationUDPPortRef=GamePort1 +App.PrimaryApplicationPortRef=GamePort1 +App.UniversalSleepSteamQueryPortRef=SteamQueryPort +App.MaxUsers=8 +App.UseRandomAdminPassword=True +App.RemoteAdminPassword= +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=30 +App.RCONConnectRetrySeconds=15 +App.RCONHeartbeatCommand=ping +App.RCONHeartbeatMinutes=0 +App.TelnetLoginFormat={0} +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.TemplateMatchRegex={{(\$?[\w]+)}} +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName= +App.Compatibility=1 +App.SteamWorkshopDownloadLocation={{$FullBaseDir}}undefined +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=(WARNING|ERROR): Shader.+ +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Console.SleepMode=False +Console.SleepOnStart=False +Console.SleepDelayMinutes=5 +Console.DozeDelay=2 +Console.AutoRetryCount=5 +Console.SleepStartThresholdSeconds=25 +Console.AppReadyRegex=^Entering\smain\sgame\sloop\.\.\.$ +Console.UserJoinRegex=^\*(?.+)\shas\s(?:rejoined|joined)\sthe\sgame\s\(player\s(?.+)\)$ +Console.UserLeaveRegex=^\*(?.+)\sleft\sthe\sgame$ +Console.UserChatRegex=^(?:|\[PM\])\<(?.+)\>\s(?.+)$ +Meta.OS=Linux +Meta.ConfigManifest=srb2kart_config.json +Meta.MetaConfigManifest=srb2kart_metaconfig.json +Meta.ConfigRoot=srb2kart.kvp +App.RootDir=./srb2kart/ +Meta.DisplayImageSource=url:https://cdn2.steamgriddb.com/thumb/207aec8c41040e1243e29040c22f8bf0.png +App.BaseDirectory=./srb2kart/ +App.WorkingDir= +App.ExecutableWin= +App.ExecutableLinux=srb2kartlinux.exe +App.LinuxCommandLineArgs= +App.Ports=@IncludeJson[srb2kart_ports.json] +App.UpdateSources=@IncludeJson[srb2kart_updates.json] +App.EnvironmentVariables={"LD_LIBRARY_PATH": "{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%", "WINEPREFIX": "{{$FullRootDir}}.wine", "WINEARCH": "win64", "WINEDEBUG": "-all"} diff --git a/srb2kart_config.json b/srb2kart_config.json new file mode 100644 index 000000000..fe51488c7 --- /dev/null +++ b/srb2kart_config.json @@ -0,0 +1 @@ +[] diff --git a/srb2kart_metaconfig.json b/srb2kart_metaconfig.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/srb2kart_metaconfig.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/srb2kart_ports.json b/srb2kart_ports.json new file mode 100644 index 000000000..2f07313fa --- /dev/null +++ b/srb2kart_ports.json @@ -0,0 +1,9 @@ +[ + { + "Protocol": "UDP", + "Port": "5029", + "Name": "Main Game Port", + "Description": "Port used for main game traffic", + "Ref": "MainGamePort" + } +] \ No newline at end of file diff --git a/srb2kart_updates.json b/srb2kart_updates.json new file mode 100644 index 000000000..7c829bd1d --- /dev/null +++ b/srb2kart_updates.json @@ -0,0 +1,36 @@ +[ + { + "UpdateStageName": "Fetching Assets", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/STJr/Kart-Public/releases/download/v1.6/AssetsLinuxOnly.zip", + "UpdateSourceArgs": "", + "UpdateSourceTarget": "", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "OneShot": true + }, + { + "UpdateStageName": "Copy linux binary", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "CopyFilePath", + "UpdateSourceData": "./srb2kart/srb2kartlinux.exe", + "UpdateSourceArgs": "/srb2kartlinux.exe", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": false, + "DeleteAfterExtract": true, + "OneShot": true + }, + { + "UpdateStageName": "Make game executable", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/usr/bin/chmod", + "UpdateSourceArgs": "+x srb2kart/srb2kartlinux.exe", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": false, + "DeleteAfterExtract": true, + "OneShot": true + } +]