Add 7 Days to Die Generic (#112)

* Add 7 Days to Die Generic

This is the draft of the 7 Days to Die generic config. This is not thoroughly tested yet, and not tried on Linux at all. I believe most everything works as expected including UMOD in Windows though.

Known Issues:
1. No Telnet connection due to related feature request: https://github.com/CubeCoders/AMP/issues/623
2. No FPS Status - This is not currently possible with Generic

* Multiple changes

-Fix Telnet
-Move Update Stages to separate file
-Setup for pre-20.4 config file option

* Fix my dummy mistakes

It's better now. It's much better now.

* Update Join Regex

This accounts for the old or new version's regex so it should work on any version.

* Move Update Settings

Moved the Release Stream and UMOD to the SteamCMD and Updates tab.
This commit is contained in:
IceOfWraith 2022-06-06 01:14:53 +00:00 committed by GitHub
parent 1664b5d510
commit a7f8663ff0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 1263 additions and 0 deletions

79
seven-days-to-die.kvp Normal file
View File

@ -0,0 +1,79 @@
Meta.DisplayName=Seven Days To Die
Meta.Description=Seven Days to Die Dedicated Server
Meta.OS=Windows, Linux
Meta.Arch=x86_64
Meta.Author=IceOfWraith, Shinynecrid
Meta.URL=https://steamdb.info/app/251570/
Meta.DisplayImageSource=steam:251570
Meta.EndpointURIFormat=steam://connect/{0}
Meta.ConfigManifest=seven-days-to-dieconfig.json
Meta.MetaConfigManifest=seven-days-to-diemetaconfig.json
Meta.ConfigRoot=seven-days-to-die.kvp
Meta.MinAMPVersion=
Meta.SpecificDockerImage=
Meta.DockerRequired=False
Meta.ContainerPolicy=Supported
Meta.Prerequsites=[]
Meta.ConfigReleaseState=NotSpecified
App.DisplayName=Seven Days To Die
App.RootDir=./seven-days-to-die/
App.BaseDirectory=./seven-days-to-die/294420/
App.ExecutableWin=294420\7DaysToDieServer.exe
App.ExecutableLinux=294420/7DaysToDieServer.x86_64
App.WorkingDir=294420
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs=-quit -batchmode -nographics -configfile=serverconfig.xml {{$FormattedArgs}} -dedicated
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"251570"}
App.CommandLineParameterFormat=-{0} "{1}"
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE
App.ExitTimeout=30
App.ExitString=stop
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=26900
App.ApplicationPort2=26901
App.ApplicationPort3=26902
App.RemoteAdminPort=27020
App.MaxUsers=8
App.UseRandomAdminPassword=True
App.RemoteAdminPassword=
App.AdminMethod=TelnetRCON
App.AdminLoginTransform=None
App.RCONConnectDelaySeconds=30
App.RCONConnectRetrySeconds=30
App.TelnetLoginFormat={0}
App.UpdateSources=@IncludeJSON[seven-days-to-dieupdates.json]
App.Compatibility=None
App.SteamUpdateAnonymousLogin=True
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.SupportsUniversalSleep=False
App.UniversalSleepApplicationUDPPort=1
App.UniversalSleepSteamQueryPort=3
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.AppReadyRegex=^.*INF StartGame done$
Console.UserJoinRegex=^.*INF PlayerSpawnedInWorld \(reason: JoinMultiplayer.*OwnerID='(?<userid>-?.*)'.*PlayerName='(?<username>.+?)'.*$|^.*INF PlayerSpawnedInWorld \(reason: EnterMultiplayer.*OwnerID='(?<userid>-?.*)'.*PlayerName='(?<username>.+?)'.*$
Console.UserLeaveRegex=^.*INF Player (?<username>.+?) disconnected after.*$
Console.UserChatRegex=^.*INF Chat \(from '(?<userid>-?.*)', entity id '.*', to '.*'\): .*'(?<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
Limits.SleepStartThresholdSeconds=25

1137
seven-days-to-dieconfig.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
[
{
"ConfigFile": "./serverconfig.xml",
"AutoMap": true,
"ConfigType": "xml"
},
{
"ConfigFile": "./serverconfigpre204.xml",
"AutoMap": true,
"ConfigType": "xml"
}
]

View File

@ -0,0 +1,35 @@
[
{
"UpdateStageName": "SteamCMD Download",
"UpdateSourcePlatform": "All",
"UpdateSource": "SteamCMD",
"UpdateSourceData": "294420",
"UpdateSourceVersion": "{{Stream}}"
},
{
"UpdateStageName": "UMOD Windows",
"UpdateSourcePlatform": "Windows",
"UpdateSource": "FetchURLFromJQ",
"UpdateSourceData": "https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest",
"UpdateSourceArgs": "$.assets[1].browser_download_url",
"UpdateSourceTarget": "{{$FullBaseDir}}",
"UnzipUpdateSource": true,
"OverwriteExistingFiles": true,
"UpdateSourceConditionSetting": "UMOD",
"UpdateSourceConditionValue": "true",
"DeleteAfterExtract":true
},
{
"UpdateStageName": "UMOD Linux",
"UpdateSourcePlatform": "Linux",
"UpdateSource": "FetchURLFromJQ",
"UpdateSourceData": "https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest",
"UpdateSourceArgs": "$.assets[0].browser_download_url",
"UpdateSourceTarget": "{{$FullBaseDir}}",
"UnzipUpdateSource": true,
"OverwriteExistingFiles": true,
"UpdateSourceConditionSetting": "UMOD",
"UpdateSourceConditionValue": "true",
"DeleteAfterExtract":true
}
]