Add Swords 'n Magic and Stuff (#490)

This commit is contained in:
Greelan 2023-10-22 12:40:57 +11:00 committed by GitHub
parent e3a324b332
commit 89dd94f0d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 246 additions and 0 deletions

View File

@ -0,0 +1,100 @@
Meta.DisplayName=Swords 'n Magic and Stuff
Meta.Description=Swords 'n Magic and Stuff Dedicated Server
Meta.OS=Windows, Linux
Meta.AarchSupport=Unknown
Meta.Arch=x86_64
Meta.Author=Greelan
Meta.URL=https://www.playswordsandmagic.com/
Meta.DisplayImageSource=steam:810040
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort}
Meta.ConfigManifest=swords-n-magic-and-stuffconfig.json
Meta.MetaConfigManifest=swords-n-magic-and-stuffmetaconfig.json
Meta.ConfigRoot=swords-n-magic-and-stuff.kvp
Meta.MinAMPVersion=2.4.6.6
Meta.SpecificDockerImage=cubecoders/ampbase:wine8
Meta.DockerRequired=False
Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux
Meta.ContainerPolicyReason=The server requires Wine 8 to run on Linux. Using a container avoids the need to install this dependency on the host.
Meta.ExtraSetupStepsURI=
Meta.Prerequsites=[]
Meta.ExtraContainerPackages=[]
Meta.ConfigReleaseState=NotSpecified
Meta.NoCommercialUsage=False
Meta.ConfigVersion=0.0.0.0
Meta.ReleaseNotes=
Meta.BreakingReleaseNotes=
App.DisplayName=Swords 'n Magic and Stuff
App.RootDir=./swords-n-magic-and-stuff/
App.BaseDirectory=./swords-n-magic-and-stuff/2058450/
App.SteamWorkshopDownloadLocation=
App.ExecutableWin=2058450\SNM2020\Binaries\Win64\SNMASServer-Win64-Shipping.exe
App.ExecutableLinux=/usr/bin/wine
App.WorkingDir=2058450
App.LinuxCommandLineArgs="./SNM2020/Binaries/Win64/SNMASServer-Win64-Shipping.exe"
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} SNM2020 -Port={{$GamePort}} -QueryPort={{$QueryPort}} -stdout -FullStdOutLogOutput
App.UseLinuxIOREDIR=False
App.AppSettings={}
App.EnvironmentVariables={"SteamAppId":"810040","SNM_OWNER_STEAM_ID":"{{DedSrv_OwnerSteamID}}","SNM_NAME":"{{DedSrv_Name}}","SNM_PASSWORD":"{{DedSrv_Password}}","SNM_MAX_PLAYERS":"{{$MaxUsers}}","SNM_DAYS_UNTIL_RESET":"{{DedSrv_DaysUntilReset}}","SNM_RESET_TIME_OF_DAY":"{{DedSrv_ResetTimeOfDay}}","SNM_RESET_WARNINGS_IN_MINUTES":"{{DedSrv_ResetWarningsInMinutes}}","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"}
App.CommandLineParameterFormat=-{0}="{1}"
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE
App.ExitTimeout=30
App.ExitString=stop
App.ExitFile=app_exit.lck
App.HasWriteableConsole=False
App.HasReadableConsole=True
App.SupportsLiveSettingsChanges=False
App.LiveSettingChangeCommandFormat=set {0} "{1}"
App.ApplicationIPBinding=0.0.0.0
App.Ports=[{"Protocol":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}]
App.AdminPortRef=0
App.PrimaryApplicationPortRef=GamePort
App.UniversalSleepApplicationUDPPortRef=GamePort
App.UniversalSleepSteamQueryPortRef=QueryPort
App.MaxUsers=16
App.UseRandomAdminPassword=True
App.PersistRandomPassword=True
App.RemoteAdminPassword=
App.AdminMethod=STDIO
App.AdminLoginTransform=None
App.LoginTransformPrefix=
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.RCONHeartbeatMinutes=0
App.RCONHeartbeatCommand=ping
App.TelnetLoginFormat={0}
App.UpdateSources=@IncludeJson[swords-n-magic-and-stuffupdates.json]
App.PreStartStages=[]
App.ForceUpdate=False
App.ForceUpdateReason=
App.Compatibility=None
App.SteamUpdateAnonymousLogin=True
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.MonitorChildProcess=True
App.DumpFullChildProcessTree=False
App.MonitorChildProcessWaitMs=100
App.MonitorChildProcessName=SNMASServer-Win64-Shipping.exe
App.SupportsUniversalSleep=False
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.AppReadyRegex=^\[[\d.]+-[\d.:]+\]\[[\d ]+\]LogSnMDedicatedServer: Succeeded to create Steam session with ID: .*$
Console.UserJoinRegex=^$
Console.UserLeaveRegex=^$
Console.UserChatRegex=^$
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={}
Limits.SleepMode=False
Limits.SleepOnStart=False
Limits.SleepDelayMinutes=5
Limits.DozeDelay=2
Limits.AutoRetryCount=0
Limits.SleepStartThresholdSeconds=25

View File

@ -0,0 +1,113 @@
[
{
"DisplayName":"Game Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$GamePort",
"InputType":"number",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"URL.Port",
"EnumValues":{}
},
{
"DisplayName":"Query Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$QueryPort",
"InputType":"number",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"OnlineSubsystemSteam.GameServerQueryPort",
"EnumValues":{}
},
{
"DisplayName":"Server Owner/Admin",
"Category":"Server Settings",
"Description":"Sets the [Steam64 ID](https://www.steamidfinder.com/) of the server owner/admin",
"Keywords":"owner,steamid,DedSrv_OwnerSteamID",
"FieldName":"DedSrv_OwnerSteamID",
"InputType":"text",
"ParamFieldName":"/Game/Blueprints/GameModes/BP_GameInstance.BP_GameInstance_C.DedSrv_OwnerSteamID",
"DefaultValue":"",
"Required":true,
"EnumValues":{}
},
{
"DisplayName":"Server Name",
"Category":"Server Settings",
"Description":"Sets the name of the server. Must be between 2 and 5 UNIQUE words (no duplicates, case insensitive). See 'SNM2020/Saved/Logs/Allowed-Words.txt' for approved words. Leave blank for a random name on each start",
"Keywords":"name,DedSrv_Name",
"FieldName":"DedSrv_Name",
"InputType":"text",
"ParamFieldName":"/Game/Blueprints/GameModes/BP_GameInstance.BP_GameInstance_C.DedSrv_Name",
"DefaultValue":"Swords 'n Magic Server",
"EnumValues":{}
},
{
"DisplayName":"Server Password",
"Category":"Server Settings",
"Description":"Sets the password for players to join the server. Default is no password",
"Keywords":"server,password,DedSrv_Password",
"FieldName":"DedSrv_Password",
"InputType":"password",
"ParamFieldName":"/Game/Blueprints/GameModes/BP_GameInstance.BP_GameInstance_C.DedSrv_Password",
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Player Limit",
"Category":"Server Settings",
"Description":"Sets the maximum number of players that may connect to the server at one time",
"Keywords":"maximum,players,limit,DedSrv_MaxPlayers",
"FieldName":"$MaxUsers",
"InputType":"number",
"MinValue":"1",
"ParamFieldName":"/Game/Blueprints/GameModes/BP_GameInstance.BP_GameInstance_C.DedSrv_MaxPlayers",
"DefaultValue":"16",
"Placeholder":"16",
"Suffix":"players",
"EnumValues":{}
},
{
"DisplayName":"Days Until Reset",
"Category":"Server Settings",
"Description":"Sets the number of days between resets. 1 = HIGHLY recommended (otherwise strange errors may occur). If 1, and the server is started less than 3 hours before the Reset Time Of Day, it will reset on the next day (ie up to 27 hours later)",
"Keywords":"days,period,reset,DedSrv_DaysUntilReset",
"FieldName":"DedSrv_DaysUntilReset",
"InputType":"number",
"MinValue":"1",
"ParamFieldName":"/Game/Blueprints/GameModes/BP_GameInstance.BP_GameInstance_C.DedSrv_DaysUntilReset",
"DefaultValue":"1",
"Placeholder":"1",
"Suffix":"days",
"EnumValues":{}
},
{
"DisplayName":"Reset Time Of Day",
"Category":"Server Settings",
"Description":"Sets the local time of day when the server will reset. Format: HH:MM (in 24 hours format). Example: midnight = 00:00",
"Keywords":"reset,time,day,DedSrv_ResetTimeOfDay",
"FieldName":"DedSrv_ResetTimeOfDay",
"InputType":"text",
"ParamFieldName":"/Game/Blueprints/GameModes/BP_GameInstance.BP_GameInstance_C.DedSrv_ResetTimeOfDay",
"DefaultValue":"00:00",
"Placeholder":"00:00",
"EnumValues":{}
},
{
"DisplayName":"Reset Warnings",
"Category":"Server Settings",
"Description":"Sets an array of when the server will warn players before reset. The array must be in descending order. Example: 60,30,5,1 (will give warnings 60, 30, 5 and 1 minutes before reset). Blank = default",
"Keywords":"warnings,reset,DedSrv_ResetWarningsInMinutes",
"FieldName":"DedSrv_ResetWarningsInMinutes",
"InputType":"text",
"ParamFieldName":"DedSrv_ResetWarningsInMinutes",
"DefaultValue":"60,30,5,1",
"Placeholder":"60,30,5,1",
"Suffix":"minutes",
"EnumValues":{}
}
]

View File

@ -0,0 +1,16 @@
[
{
"ConfigFile":"SNM2020/Saved/Config/WindowsServer/Game.ini",
"AutoMap":true,
"ConfigType":"ini",
"ConfigFormat":"{0}={1}",
"ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$"
},
{
"ConfigFile":"SNM2020/Saved/Config/WindowsServer/Engine.ini",
"AutoMap":true,
"ConfigType":"ini",
"ConfigFormat":"{0}={1}",
"ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$"
}
]

View File

@ -0,0 +1,17 @@
[
{
"UpdateStageName":"SteamCMD Server Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"SteamCMD",
"UpdateSourceData":"2058450",
"UpdateSourceArgs":"810040",
"ForceDownloadPlatform":"Windows"
},
{
"UpdateStageName":"Initialise Wine",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"
}
]