Full commit

This commit is contained in:
Greelan 2022-01-15 20:05:46 +11:00
parent 4637e7cabf
commit 2d5466f331
4 changed files with 375 additions and 0 deletions

66
pavlov-vr.kvp Executable file
View File

@ -0,0 +1,66 @@
Meta.DisplayName=Pavlov VR
Meta.Description=Pavlov VR Dedicated Server
Meta.OS=Linux
Meta.Author=Greelan
Meta.URL=https://pavlov-vr.com
Meta.DisplayImageSource=steam:555160
Meta.EndpointURIFormat=
Meta.ConfigManifest=pavlov-vrconfig.json
Meta.MetaConfigManifest=pavlov-vrmetaconfig.json
Meta.ConfigRoot=pavlov-vr.kvp
Meta.MinAMPVersion=2.3.2.0
Meta.SpecificDockerImage=
Meta.ContainerPolicy=Supported
Meta.Prerequsites=[]
App.DisplayName=Pavlov VR
App.RootDir=./pavlovserver/
App.BaseDirectory=./pavlovserver/622970/
App.ExecutableWin=
App.ExecutableLinux=622970/Pavlov/Binaries/Linux/PavlovServer
App.WorkingDir=622970
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} -PORT={{$ApplicationPort1}} {{$FormattedArgs}}
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"555160"}
App.CommandLineParameterFormat=-{0}={1}
App.CommandLineParameterDelimiter=
App.ExitMethod=SIGTERM
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.ApplicationPort1=7777
App.ApplicationPort2=8177
App.ApplicationPort3=0
App.RemoteAdminPort=9100
App.MaxUsers=10
App.UseRandomAdminPassword=False
App.RemoteAdminPassword=Password123
App.AdminMethod=TelnetRCON
App.AdminLoginTransform=MD5_Lower
App.RCONConnectDelaySeconds=0
App.RCONConnectRetrySeconds=5
App.TelnetLoginFormat={0}
App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"622970"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/pavlov-vr/pavlov-vrconfigfile.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/Logs","OverwriteExistingFiles":false},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/Config/LinuxServer","OverwriteExistingFiles":false},{"UpdateStageName":"Create Maps Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/maps","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Config File","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"./pavlovserver/622970/Pavlov/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"./pavlov-vrconfigfile.ini","OverwriteExistingFiles":false}]
App.Compatibility=None
App.SteamUpdateAnonymousLogin=True
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.AppReadyRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]LogGameState: Match State Changed from WaitingToStart to InProgress$
Console.UserJoinRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]LogNet: Join succeeded: (?<username>.+?)$
Console.UserLeaveRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]PavlovLog: Ending auth session for: (?<steamid>.+?) (?<username>.+?)$
Console.UserChatRegex=
Console.UpdateAvailableRegex=
Console.SuppressLogAtStart=False
Console.ActivateLogRegex=
Console.UserActions={}

267
pavlov-vrconfig.json Executable file
View File

@ -0,0 +1,267 @@
[
{
"DisplayName": "Server Name",
"Category": "Server Settings",
"Description": "Server name visible in the server list. Maximum 35 characters (approx)",
"Keywords": "server,name",
"FieldName": "ServerName",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "ServerName",
"IncludeInCommandLine": false,
"DefaultValue": "Pavlov VR Server - Powered by AMP"
},
{
"DisplayName": "Include in Server List",
"Category": "Server Settings",
"Description": "Requires an API key to be set",
"Keywords": "server list",
"FieldName": "bEnabled",
"InputType": "checkbox",
"IsFlagArgument": false,
"ParamFieldName": "bEnabled",
"IncludeInCommandLine": false,
"DefaultValue": "true",
"EnumValues": {
"False": "false",
"True": "true"
}
},
{
"DisplayName": "API Key",
"Category": "Server Settings",
"Description": "Unique API key to allow the server to appear in the server list. [Get your API key](https://pavlov-ms.vankrupt.com/servers/v1/key)",
"Keywords": "api,key",
"FieldName": "ApiKey",
"InputType": "password",
"IsFlagArgument": false,
"ParamFieldName": "ApiKey",
"IncludeInCommandLine": false,
"DefaultValue": ""
},
{
"DisplayName": "Server Password",
"Category": "Server Settings",
"Description": "Four digit PIN to connect to the server. NOTE: Change this after installing the server",
"Keywords": "password,PIN",
"FieldName": "Password",
"InputType": "password",
"IsFlagArgument": false,
"ParamFieldName": "Password",
"IncludeInCommandLine": false,
"DefaultValue": "0000"
},
{
"DisplayName": "RCON Password",
"Category": "Server Settings",
"Description": "Password to connect to RCON. Change this after installing the server",
"Keywords": "password,RCON",
"FieldName": "$RemoteAdminPassword",
"InputType": "RandomPassword",
"IsFlagArgument": false,
"ParamFieldName": "",
"IncludeInCommandLine": false,
"DefaultValue": "Password123"
},
{
"DisplayName": "Enable Valve Anti-Cheat (Steam VAC)",
"Category": "Server Settings",
"Description": "",
"Keywords": "anti-cheat,VAC,cheat",
"FieldName": "bSecured",
"InputType": "checkbox",
"IsFlagArgument": false,
"ParamFieldName": "bSecured",
"IncludeInCommandLine": false,
"DefaultValue": "true",
"EnumValues": {
"False": "false",
"True": "true"
}
},
{
"DisplayName": "Enable Custom Server",
"Category": "Server Settings",
"Description": "If enabled, activates new modding tools. Required for blacklist functionality",
"Keywords": "custom",
"FieldName": "bCustomServer",
"InputType": "checkbox",
"IsFlagArgument": false,
"ParamFieldName": "bCustomServer",
"IncludeInCommandLine": false,
"DefaultValue": "true",
"EnumValues": {
"False": "false",
"True": "true"
}
},
{
"DisplayName": "Enable Competitive Mode",
"Category": "Server Settings",
"Description": "If enabled, sets the server to competitive mode for SND",
"Keywords": "competitive",
"FieldName": "bCompetitive",
"InputType": "checkbox",
"IsFlagArgument": false,
"ParamFieldName": "bCompetitive",
"IncludeInCommandLine": false,
"DefaultValue": "false",
"EnumValues": {
"False": "false",
"True": "true"
}
},
{
"DisplayName": "Player Limit",
"Category": "Server Settings",
"Description": "Maximum number of players that may connect to the server. No more than 20 to 24 recommended for large maps",
"Keywords": "players,limit",
"FieldName": "$MaxUsers",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "MaxPlayers",
"IncludeInCommandLine": false,
"DefaultValue": "10",
"Suffix": "players"
},
{
"DisplayName": "Enable Whitelist",
"Category": "Server Settings",
"Description": "If enabled, only whitelisted players can join",
"Keywords": "whitelist",
"FieldName": "bWhitelist",
"InputType": "checkbox",
"IsFlagArgument": false,
"ParamFieldName": "bWhitelist",
"IncludeInCommandLine": false,
"DefaultValue": "false",
"EnumValues": {
"False": "false",
"True": "true"
}
},
{
"DisplayName": "Whitelisted Players",
"Category": "Server Settings",
"Description": "List of Steam64 IDs for whitelisted players. [Find Steam64 IDs](https://steamidfinder.com/)",
"Keywords": "whitelist",
"FieldName": "whitelist",
"InputType": "list",
"IsFlagArgument": false,
"ParamFieldName": "whitelist",
"IncludeInCommandLine": false,
"DefaultValue": "",
"Special": "listfile:./pavlovserver/622970/Pavlov/Saved/Config/whitelist.txt"
},
{
"DisplayName": "Blacklisted Players",
"Category": "Server Settings",
"Description": "List of Steam64 IDs for blacklisted players. [Find Steam64 IDs](https://steamidfinder.com/)",
"Keywords": "blacklist,banned",
"FieldName": "blacklist",
"InputType": "list",
"IsFlagArgument": false,
"ParamFieldName": "blacklist",
"IncludeInCommandLine": false,
"DefaultValue": "",
"Special": "listfile:./pavlovserver/622970/Pavlov/Saved/Config/blacklist.txt"
},
{
"DisplayName": "Server Moderators",
"Category": "Server Settings",
"Description": "List of Steam64 IDs for server moderators/admins (functionality may currently be limited). [Find Steam64 IDs](https://steamidfinder.com/)",
"Keywords": "moderators,admins",
"FieldName": "mods",
"InputType": "list",
"IsFlagArgument": false,
"ParamFieldName": "mods",
"IncludeInCommandLine": false,
"DefaultValue": "",
"Special": "listfile:./pavlovserver/622970/Pavlov/Saved/Config/mods.txt"
},
{
"DisplayName": "Refresh Interval",
"Category": "Server Settings",
"Description": "Sets how often the server checks for updates in whitelist/blacklist/modlist",
"Keywords": "refresh,list",
"FieldName": "RefreshListTime",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "RefreshListTime",
"IncludeInCommandLine": false,
"DefaultValue": "120",
"Suffix": "seconds"
},
{
"DisplayName": "Server Tick Rate",
"Category": "Server Settings",
"Description": "Sets the server tickrate. Between 50 and 120 is most stable",
"Keywords": "tick,rate",
"FieldName": "TickRate",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "TickRate",
"IncludeInCommandLine": false,
"DefaultValue": "90"
},
{
"DisplayName": "Map Time Limit",
"Category": "Server Settings",
"Description": "Sets the time limit for each map",
"Keywords": "map,time,limit",
"FieldName": "TimeLimit",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "TimeLimit",
"IncludeInCommandLine": false,
"DefaultValue": "60"
},
{
"DisplayName": "Balance Table URL",
"Category": "Server Settings",
"Description": "Reference for custom balance table on GitHub. [Follow the instructions](https://github.com/vankruptgames/BalancingTable) to create your own",
"Keywords": "balance,table,URL",
"FieldName": "BalanceTableURL",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "BalanceTableURL",
"IncludeInCommandLine": false,
"DefaultValue": "vankruptgames/BalancingTable/main"
},
{
"DisplayName": "Limited Ammo Mode",
"Category": "Server Settings",
"Description": "",
"Keywords": "limited,ammo",
"FieldName": "LimitedAmmoType",
"InputType": "enum",
"IsFlagArgument": false,
"ParamFieldName": "LimitedAmmoType",
"IncludeInCommandLine": false,
"DefaultValue": "0",
"EnumValues": {
"0": "Unlimited",
"1": "Limited Generic",
"2": "Limited Specific",
"3": "Custom (for modders)",
"4": "Limited Special",
"5": "Boxless Mode"
}
},
{
"DisplayName": "Enable Verbose Logging",
"Category": "Server Settings",
"Description": "If enabled, logging will be significantly increased, mostly with detailed statistics",
"Keywords": "verbose,logging,statistics",
"FieldName": "bVerboseLogging",
"InputType": "checkbox",
"IsFlagArgument": false,
"ParamFieldName": "bVerboseLogging",
"IncludeInCommandLine": false,
"DefaultValue": "false",
"EnumValues": {
"False": "false",
"True": "true"
}
}
]

19
pavlov-vrconfigfile.ini Executable file
View File

@ -0,0 +1,19 @@
[/Script/Pavlov.DedicatedServer]
ServerName=Pavlov VR Server - Powered by AMP
bEnabled=true
MaxPlayers=10
ApiKey=
bSecured=true
bCustomServer=true
bVerboseLogging=false
bCompetitive=false
bWhitelist=false
RefreshListTime=120
LimitedAmmoType=0
TickRate=90
TimeLimit=60
Password=0000
BalanceTableURL=vankruptgames/BalancingTable/main
#MapRotation=(MapId="UGC1758245796", GameMode="GUN")
#MapRotation=(MapId="datacenter", GameMode="SND")
#MapRotation=(MapId="sand", GameMode="DM")

23
pavlov-vrmetaconfig.json Executable file
View File

@ -0,0 +1,23 @@
[
{
"ConfigFile": "Pavlov/Saved/Config/LinuxServer/Game.ini",
"AutoMap": true,
"ConfigType": "kvp",
"ConfigFormat": "{0}={1}",
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
},
{
"ConfigFile": "Pavlov/Saved/Config/RconSettings.txt",
"ConfigType": "kvp",
"ConfigFormat": "{0}={1}",
"Subsections": [
{
"Heading": "$root",
"SettingMappings": {
"Password" : "$RemoteAdminPassword",
"Port" : "$RemoteAdminPort"
}
}
]
}
]