Just Cause 3 Multiplayer Game Support Draft (#185)
* Necesse Game Support * Update necesse.kvp Update necesse.kvp to point the config update path to the CubeCoders repo * jc3mp Game Support Just Cause 3 Multiplayer Mod * jc3mp: fixes and enhhancements added default package automatic installation added server announce fixes fixed some accidental typos and duplicate names * updated per notes in PR 185 * Adjusted spelling. Don't skip sleep, kids! * updated config download path Co-authored-by: DavidAtRoot <dgaither@rootintegration.com>
This commit is contained in:
parent
96aa81e8c5
commit
ddea198788
87
jc3mp.kvp
Normal file
87
jc3mp.kvp
Normal file
@ -0,0 +1,87 @@
|
||||
Meta.DisplayName=Just Cause 3 Multiplayer Mod
|
||||
Meta.Description=Just Cause 3 Multiplayer Dedicated Server
|
||||
Meta.OS=Windows, Linux
|
||||
Meta.Arch=x86_64
|
||||
Meta.Author=ThisIslandEarth
|
||||
Meta.URL=https://just-cause.mp
|
||||
Meta.DisplayImageSource=steam:619910
|
||||
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$queryPort}
|
||||
Meta.ConfigManifest=jc3mpconfig.json
|
||||
Meta.MetaConfigManifest=jc3mpmetaconfig.json
|
||||
Meta.ConfigRoot=jc3mp.kvp
|
||||
Meta.MinAMPVersion=2.4.0.2
|
||||
Meta.SpecificDockerImage=
|
||||
Meta.DockerRequired=False
|
||||
Meta.ContainerPolicy=Supported
|
||||
Meta.ContainerPolicyReason=
|
||||
Meta.Prerequsites=[]
|
||||
Meta.ConfigReleaseState=NotSpecified
|
||||
Meta.NoCommercialUsage=False
|
||||
App.DisplayName=Just Cause 3 Multiplayer Mod
|
||||
App.RootDir=./jc3mp/
|
||||
App.BaseDirectory=./jc3mp/619960/
|
||||
App.ExecutableWin=619960\Server.exe
|
||||
App.ExecutableLinux=619960/Server
|
||||
App.WorkingDir=619960
|
||||
App.LinuxCommandLineArgs=
|
||||
App.WindowsCommandLineArgs=
|
||||
App.CommandLineArgs=
|
||||
App.UseLinuxIOREDIR=False
|
||||
App.AppSettings={}
|
||||
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"619960"}
|
||||
App.CommandLineParameterFormat=-{0} "{1}"
|
||||
App.CommandLineParameterDelimiter=
|
||||
App.ExitMethod=String
|
||||
App.ExitTimeout=30
|
||||
App.ExitString=quit
|
||||
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":"TCP","Port":4200,"Ref":"port","Name":"Game Port","Description":"Port for game traffic"}, {"Protocol":"Both","Port":4201,"Ref":"queryPort","Name":"Query Port","Description":"Server query port"}, {"Protocol":"Both","Port":4202,"Ref":"steamPort","Name":"Steam Port","Description":"Steam communication port"}, {"Protocol":"Both","Port":4203,"Ref":"httpPort","Name":"HTTP Port","Description":"Client mod download port"}]
|
||||
App.AdminPortRef=
|
||||
App.PrimaryApplicationPortRef=port
|
||||
App.UniversalSleepApplicationUDPPortRef=port
|
||||
App.UniversalSleepSteamQueryPortRef=queryPort
|
||||
App.MaxUsers=20
|
||||
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":"619960"},{"UpdateStageName":"Config Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/jc3mpserverconfig.json","UpdateSourceTarget":"../","OverwriteExistingFiles":"true"},{"UpdateStageName":"Packages Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}packages"},{"UpdateStageName":"Download Default Packages","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://unlimitedjc.files.wordpress.com/2022/09/jc3mp-default-packages.zip","UpdateSourceArgs":"jc3mpdefaultpackages.zip","UpdateSourceTarget":"{{$FullBaseDir}}packages","UnzipUpdateSource":"true","OverwriteExistingFiles":"true","DeleteAfterExtract":"true"},{"UpdateStageName":"chat-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u chat-master.zip'"},{"UpdateStageName":"command-hints-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u command-hints-master.zip'"},{"UpdateStageName":"command-manager-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u command-manager-master.zip'"},{"UpdateStageName":"freeroam-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u freeroam-master.zip'"},{"UpdateStageName":"spawn-menu-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u spawn-menu-master.zip'"},{"UpdateStageName":"chat-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf chat-master.zip"},{"UpdateStageName":"command-hints-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf command-hints-master.zip"},{"UpdateStageName":"command-manager-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf command-manager-master.zip"},{"UpdateStageName":"freeroam-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf freeroam-master.zip"},{"UpdateStageName":"spawn-menu-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf spawn-menu-master.zip"}]
|
||||
App.Compatibility=None
|
||||
App.SteamUpdateAnonymousLogin=True
|
||||
App.SteamForceLoginPrompt=False
|
||||
App.RapidStartup=False
|
||||
App.MonitorChildProcess=False
|
||||
App.MonitorChildProcessWaitMs=100
|
||||
App.MonitorChildProcessName=
|
||||
App.SupportsUniversalSleep=False
|
||||
App.WakeupMode=Any
|
||||
App.ApplicationReadyMode=RegexMatch
|
||||
App.TemplateMatchRegex={{(\$?[\w]+)}}
|
||||
Console.FilterMatchRegex=
|
||||
Console.FilterMatchReplacement=
|
||||
Console.ThrowawayMessageRegex=
|
||||
Console.AppReadyRegex=^\[[\d\-]+ [\d:]+\]: Server successfully started up, awaiting connects\.\.\.$
|
||||
Console.UserJoinRegex=^(?<username>.+?) has joined\.$
|
||||
Console.UserLeaveRegex=^(?<username>.+?) has left\.$
|
||||
Console.UserChatRegex=^(?<username>.+?): (?<message>.+)$
|
||||
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=True
|
||||
Limits.SleepOnStart=False
|
||||
Limits.SleepDelayMinutes=5
|
||||
Limits.DozeDelay=2
|
||||
Limits.AutoRetryCount=5
|
||||
Limits.SleepStartThresholdSeconds=25
|
165
jc3mpconfig.json
Normal file
165
jc3mpconfig.json
Normal file
@ -0,0 +1,165 @@
|
||||
[
|
||||
{
|
||||
"DisplayName": "Game Port",
|
||||
"Category": "Server Settings",
|
||||
"Description": "",
|
||||
"FieldName": "$port",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "gport",
|
||||
"IncludeInCommandLine": false,
|
||||
"Hidden": true,
|
||||
"DefaultValue": "4200",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Host IP",
|
||||
"Category": "Server Settings",
|
||||
"Description": "",
|
||||
"FieldName": "$ApplicationIPBinding",
|
||||
"InputType": "text",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "hostip",
|
||||
"IncludeInCommandLine": false,
|
||||
"Hidden": true,
|
||||
"DefaultValue": "0.0.0.0",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "HTTP Port",
|
||||
"Category": "Server Settings",
|
||||
"Description": "HTTP Port",
|
||||
"FieldName": "$httpPort",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "hport",
|
||||
"IncludeInCommandLine": false,
|
||||
"Hidden": true,
|
||||
"DefaultValue": "4203",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Query Port",
|
||||
"Category": "Server Settings",
|
||||
"Description": "Query Port",
|
||||
"FieldName": "$queryPort",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "qport",
|
||||
"IncludeInCommandLine": false,
|
||||
"Hidden": true,
|
||||
"DefaultValue": "4201",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Steam Port",
|
||||
"Category": "Server Settings",
|
||||
"Description": "Steam Port",
|
||||
"FieldName": "$steamPort",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "sport",
|
||||
"IncludeInCommandLine": false,
|
||||
"Hidden": true,
|
||||
"DefaultValue": "4202",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Players",
|
||||
"Category": "Server Settings",
|
||||
"Description": "Number of players allowed to join.",
|
||||
"Keywords": "players",
|
||||
"FieldName": "$MaxUsers",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"Required": true,
|
||||
"ParamFieldName": "maxPlayers",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "20",
|
||||
"EnumValues": {},
|
||||
"Suffix":"players"
|
||||
},
|
||||
{
|
||||
"DisplayName": "Password",
|
||||
"Category": "Server Settings",
|
||||
"Description": "Password to join the server.",
|
||||
"Keywords": "password",
|
||||
"FieldName": "password",
|
||||
"InputType": "password",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "password",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Description",
|
||||
"Category": "Server Settings",
|
||||
"Description": "Displayed in the server browser.",
|
||||
"Keywords": "description",
|
||||
"FieldName": "description",
|
||||
"InputType": "text",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "description",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Powered By Amp",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Tick Rate",
|
||||
"Category": "Server Settings",
|
||||
"Description": "Maxium FPS for the server (default is 60).",
|
||||
"Keywords": "tickrate",
|
||||
"FieldName": "tickrate",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "maxTickRate",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "60",
|
||||
"Suffix":"ticks per second",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Name",
|
||||
"Category": "Server Settings",
|
||||
"Description": "Displayed in the server browser.",
|
||||
"Keywords": "name",
|
||||
"FieldName": "name",
|
||||
"InputType": "text",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "name",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "JC3MP-AMP",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Server Announce",
|
||||
"Category": "Server Settings",
|
||||
"Description": "Add a check here if you want to announce your server on the master server browser list.",
|
||||
"Keywords": "Server Announce",
|
||||
"FieldName": "announce",
|
||||
"InputType": "checkbox",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "announce",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "false",
|
||||
"EnumValues": {
|
||||
"False": "false",
|
||||
"True": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Required DLCs",
|
||||
"Category": "Server Settings",
|
||||
"Description": "Comma separated list of owned DLC IDs required to join. [A list is available here](https://just-cause.mp/docs/general/information/Server%20Configuration) Leave this blank to not require any DLCs to join.",
|
||||
"Keywords": "dlcs",
|
||||
"FieldName": "requiredDLC",
|
||||
"InputType": "text",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "requiredDLC",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "",
|
||||
"Placeholder": "400551,400490,442051,401850,348880,388294,442050,488293,388290,388291,388292,442052",
|
||||
"EnumValues": {}
|
||||
}
|
||||
]
|
8
jc3mpmetaconfig.json
Normal file
8
jc3mpmetaconfig.json
Normal file
@ -0,0 +1,8 @@
|
||||
[
|
||||
{
|
||||
"ConfigFile": "config.json",
|
||||
"AutoMap": true,
|
||||
"ConfigType": "template",
|
||||
"ConfigFileTemplate": "jc3mpserverconfig.json"
|
||||
}
|
||||
]
|
16
jc3mpserverconfig.json
Normal file
16
jc3mpserverconfig.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"announce": {{announce}},
|
||||
"description": "{{description}}",
|
||||
"host": {{hostip}},
|
||||
"httpPort": {{hport}},
|
||||
"logLevel": 7,
|
||||
"logo": "",
|
||||
"maxPlayers": {{maxPlayers}},
|
||||
"maxTickRate": {{maxTickRate}},
|
||||
"name": "{{name}}",
|
||||
"password": "{{password}}",
|
||||
"port": {{gport}},
|
||||
"queryPort": {{qport}},
|
||||
"requiredDLC": [{{requiredDLC}}],
|
||||
"steamPort": {{sport}}
|
||||
}
|
Loading…
Reference in New Issue
Block a user