Add Day of Dragons (#195)

This commit is contained in:
Greelan 2022-10-04 11:51:03 +11:00 committed by GitHub
parent 1afafb3b3c
commit 10437ebeec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 450 additions and 0 deletions

88
day-of-dragons.kvp Normal file
View File

@ -0,0 +1,88 @@
Meta.DisplayName=Day of Dragons
Meta.Description=Day of Dragons Dedicated Server
Meta.OS=Windows, Linux
Meta.Arch=x86_64
Meta.Author=Greelan
Meta.URL=https://dayofdragons.com/
Meta.DisplayImageSource=steam:1088090
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort}
Meta.ConfigManifest=day-of-dragonsconfig.json
Meta.MetaConfigManifest=day-of-dragonsmetaconfig.json
Meta.ConfigRoot=day-of-dragons.kvp
Meta.MinAMPVersion=2.4.0.2
Meta.SpecificDockerImage=
Meta.DockerRequired=False
Meta.ContainerPolicy=Supported
Meta.ContainerPolicyReason=
Meta.Prerequsites=[]
Meta.ExtraContainerPackages=[]
Meta.ConfigReleaseState=NotSpecified
Meta.NoCommercialUsage=False
App.DisplayName=Day of Dragons
App.RootDir=./day-of-dragons/
App.BaseDirectory=./day-of-dragons/1088320/
App.ExecutableWin=1088320\Dragons\Binaries\Win64\DragonsServer-Win64-Shipping.exe
App.ExecutableLinux=1088320/Dragons/Binaries/Linux/DragonsServer-Linux-Shipping
App.WorkingDir=1088320
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs=Dragons {{$PlatformArgs}} -log -Port={{$GamePort}} -QueryPort={{$QueryPort}} -SteamServerName="{{SteamServerName}}" {{$FormattedArgs}}
App.UseLinuxIOREDIR=False
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1088090"}
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.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 query traffic"}]
App.AdminPortRef=0
App.PrimaryApplicationPortRef=GamePort
App.UniversalSleepApplicationUDPPortRef=GamePort
App.UniversalSleepSteamQueryPortRef=QueryPort
App.MaxUsers=100
App.UseRandomAdminPassword=False
App.RemoteAdminPassword=Password123
App.AdminMethod=STDIO
App.AdminLoginTransform=None
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.RCONHeartbeatMinutes=0
App.RCONHeartbeatCommand=ping
App.TelnetLoginFormat={0}
App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1088320"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Binaries/Win64/"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer/","OverwriteExistingFiles":false}]
App.Compatibility=None
App.SteamUpdateAnonymousLogin=True
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.MonitorChildProcess=False
App.MonitorChildProcessWaitMs=100
App.MonitorChildProcessName=
App.SupportsUniversalSleep=True
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.AppReadyRegex=^(?:\[[\d\.]+-[\d\.:]+\]\[[\d ]+\])?LogGameMode: Display: Match State Changed from WaitingToStart to InProgress$
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=5
Limits.SleepStartThresholdSeconds=25

327
day-of-dragonsconfig.json Normal file
View File

@ -0,0 +1,327 @@
[
{
"DisplayName":"Server Name",
"Category":"Server Settings",
"Description":"Name of the server as it appears publicly",
"Keywords":"name",
"FieldName":"SteamServerName",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"SteamServerName",
"IncludeInCommandLine":false,
"DefaultValue":"AMP Powered Day of Dragons Server",
"EnumValues":{}
},
{
"DisplayName":"Welcome Message",
"Category":"Server Settings",
"Description":"Welcome message when players join the server",
"Keywords":"welcome,message,motd",
"FieldName":"sServerMOTD",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.sServerMOTD",
"IncludeInCommandLine":false,
"DefaultValue":"Welcome to this Day of Dragons server - powered by AMP!",
"EnumValues":{}
},
{
"DisplayName":"Admin Password",
"Category":"Server Settings",
"Description":"Sets the password for admins to access the admin panel. Default is no password",
"Keywords":"admin,password",
"FieldName":"sServerPassword",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.sServerPassword",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Player Limit",
"Category":"Server Settings",
"Description":"Maximum number of players that may connect to the server",
"Keywords":"players,limit",
"FieldName":"$MaxUsers",
"InputType":"number",
"MinValue":"1",
"MaxValue":"200",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxPlayers",
"IncludeInCommandLine":false,
"DefaultValue":"100",
"Suffix":"players",
"EnumValues":{}
},
{
"DisplayName":"Enable Friends List",
"Category":"Server Settings",
"Description":"If enabled, only players with Steam IDs listed in Game.ini using \"sServerFriends\" can join the server. Other players will be kicked automatically",
"Keywords":"friends,list,whitelist",
"FieldName":"bUseFriendsList",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bUseFriendsList",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Clan Size Limit",
"Category":"Server Settings",
"Description":"Maximum number of members of a clan",
"Keywords":"clan,size,limit",
"FieldName":"iMaxClanMembers",
"InputType":"number",
"MinValue":"8",
"MaxValue":"1024",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxClanMembers",
"IncludeInCommandLine":false,
"DefaultValue":"1024",
"Suffix":"members",
"EnumValues":{}
},
{
"DisplayName":"Clan Number Limit",
"Category":"Server Settings",
"Description":"Maximum number of clans that can be created. Set to 0 to disable clan creation",
"Keywords":"clan,number,limit",
"FieldName":"iMaxClans",
"InputType":"number",
"MinValue":"0",
"MaxValue":"255",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxClans",
"IncludeInCommandLine":false,
"DefaultValue":"255",
"Suffix":"clans",
"EnumValues":{}
},
{
"DisplayName":"Disable PvP",
"Category":"Server Settings",
"Description":"If enabled, server will be a PvE server and player on player fighting will be disabled",
"Keywords":"disable,pvp,pve",
"FieldName":"bDisablePVP",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bDisablePVP",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Disable AI",
"Category":"Server Settings",
"Description":"If enabled, server will not spawn AI, allowing for a PvP only survival experience",
"Keywords":"disable,ai,pvp",
"FieldName":"bDisableAI",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bDisableAI",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Corpse Despawn Time",
"Category":"Server Settings",
"Description":"Sets how long corpses remain before despawning. Recommended to keep this low to free up resources",
"Keywords":"corpse,despawn,time",
"FieldName":"iCorpseDespawnTime",
"InputType":"number",
"MinValue":"60",
"MaxValue":"86400",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iCorpseDespawnTime",
"IncludeInCommandLine":false,
"DefaultValue":"300",
"Suffix":"seconds",
"EnumValues":{}
},
{
"DisplayName":"Enable Roleplay Features",
"Category":"Server Settings",
"Description":"If enabled, the server browser type will be appended with the RP tag and roleplay features will be enabled, if available",
"Keywords":"roleplay",
"FieldName":"bRoleplay",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bRoleplay",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Enable Group Damage",
"Category":"Server Settings",
"Description":"If enabled, group members will be allowed to damage each other when grouped",
"Keywords":"group,damage",
"FieldName":"bEnableGroupDamage",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bEnableGroupDamage",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Show Admin Tags",
"Category":"Server Settings",
"Description":"If enabled, admin tags will always show to all players on the server. Recommended for servers that want people to easily identify the admins",
"Keywords":"admin,tags",
"FieldName":"bAlwaysShowAdminTags",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bAlwaysShowAdminTags",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Show Player Tags",
"Category":"Server Settings",
"Description":"If enabled, player nametags will always show regardless if grouped or clanned. By default, nametags only show up on grouped or clanned players",
"Keywords":"player,tags,names",
"FieldName":"bAlwaysShowPlayerTags",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bAlwaysShowPlayerTags",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Show Clan Tags",
"Category":"Server Settings",
"Description":"If enabled, clan tags will show in the chat box",
"Keywords":"clan,tags",
"FieldName":"bChatShowClanTags",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bChatShowClanTags",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Flag Hatchling Killers",
"Category":"Server Settings",
"Description":"If enabled, adult or elder dragons that kill hatchlings will be flagged with red glowing eyes for 20 minutes. Safelog will be unavailable to them while flagged",
"Keywords":"flag,hatchling,killers",
"FieldName":"bFlagHatchlingKillers",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bFlagHatchlingKillers",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Disable Desync/Hack Checks",
"Category":"Server Settings",
"Description":"If enabled, the server will not check for client desyncs or hacks. May be useful for personal servers, private servers experiencing frequent disconnects, or servers that allow cheating",
"Keywords":"disable,dd,desyncs,hacks,checks",
"FieldName":"bDisableDD",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bDisableDD",
"IncludeInCommandLine":false,
"DefaultValue":"True",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Autosave Interval",
"Category":"Server Settings",
"Description":"Sets the time interval between each automatic save",
"Keywords":"save,interval",
"FieldName":"iAutoSaveSeconds",
"InputType":"number",
"MinValue":"60",
"MaxValue":"3600",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iAutoSaveSeconds",
"IncludeInCommandLine":false,
"DefaultValue":"300",
"Suffix":"seconds",
"EnumValues":{}
},
{
"DisplayName":"Maximum Latency",
"Category":"Server Settings",
"Description":"Sets the maximum allowed latency on the server. Players who exceed this will be auto-kicked. Requires Desync/Hack Checks to be disabled",
"Keywords":"max,latency,ping",
"FieldName":"iMaxLatencyMS",
"InputType":"number",
"MinValue":"100",
"MaxValue":"800",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxLatencyMS",
"IncludeInCommandLine":false,
"DefaultValue":"800",
"Suffix":"milliseconds",
"EnumValues":{}
},
{
"DisplayName":"Use Latency Hard Cap",
"Category":"Server Settings",
"Description":"If enabled, server will kick players who exceed the Maximum Latency. Otherwise, the server will use a soft cap and kick players only if the Maximum Latency is exceeded due to a lag spike. Requires Desync/Hack Checks to be disabled",
"Keywords":"latency,hard,cap",
"FieldName":"bUseLatencyHardCap",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bUseLatencyHardCap",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"True":"True",
"False":"False"
}
},
{
"DisplayName":"Discord Server",
"Category":"Server Settings",
"Description":"Sets the link to a Discord server. Include the full URL",
"Keywords":"discord",
"FieldName":"sServerDiscord",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.sServerDiscord",
"IncludeInCommandLine":false,
"DefaultValue":"",
"Placeholder":"https://discord.gg/mW2p4kr",
"EnumValues":{}
}
]

21
day-of-dragonsgame.ini Normal file
View File

@ -0,0 +1,21 @@
[/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C]
iMaxPlayers=100
iCorpseDespawnTime=300
iAutoSaveSeconds=300
iMaxClanMembers=1024
iMaxClans=255
iMaxLatencyMS=800
bDisablePVP=False
bRoleplay=False
bEnableGroupDamage=False
bAlwaysShowAdminTags=False
bAlwaysShowPlayerTags=False
bChatShowClanTags=False
bUseFriendsList=False
bFlagHatchlingKillers=False
bDisableDD=True
bDisableAI=False
bUseLatencyHardCap=False
sServerMOTD=Welcome to this Day of Dragons server - powered by AMP!
sServerDiscord=
sServerPassword=

View File

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