V Rising: add mod support for Windows (#423)

This commit is contained in:
Greelan 2023-07-17 08:52:24 +10:00 committed by GitHub
parent 5b0f7f233a
commit 6c303ec80f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 90 additions and 44 deletions

View File

@ -1,8 +1,8 @@
Meta.DisplayName=V Rising Meta.DisplayName=V Rising
Meta.Description=V Rising Dedicated Server Meta.Description=V Rising Dedicated Server with BepInEx Option for Windows
Meta.OS=Windows, Linux Meta.OS=Windows, Linux
Meta.Arch=x86_64 Meta.Arch=x86_64
Meta.Author=Tempus Thales, IceOfWraith Meta.Author=Greelan, IceOfWraith, Tempus Thales
Meta.URL=https://store.steampowered.com/app/1604030/V_Rising/ Meta.URL=https://store.steampowered.com/app/1604030/V_Rising/
Meta.DisplayImageSource=steam:1604030 Meta.DisplayImageSource=steam:1604030
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort2} Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort2}
@ -59,7 +59,7 @@ App.SteamForceLoginPrompt=False
App.RapidStartup=False App.RapidStartup=False
App.SupportsUniversalSleep=True App.SupportsUniversalSleep=True
App.WakeupMode=Any App.WakeupMode=Any
App.ApplicationReadyMode=Immediate App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}} App.TemplateMatchRegex={{(\$?[\w]+)}}
App.MonitorChildProcess=True App.MonitorChildProcess=True
App.MonitorChildProcessWaitMs=2000 App.MonitorChildProcessWaitMs=2000
@ -69,7 +69,7 @@ App.RCONHeartbeatCommand="announce"
Console.FilterMatchRegex= Console.FilterMatchRegex=
Console.FilterMatchReplacement= Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$
Console.AppReadyRegex=^Server is ready\.$ Console.AppReadyRegex=^\[rcon\] 127\.0\.0\.1 successfully authenticated!$
Console.UserJoinRegex=^User '{Steam (?<userid>\d+)}' '\d+', approvedUserIndex: \d+, Character: '(?<username>.+?)' connected as ID '\d+,\d+', Entity '[\d,]+'\.$ Console.UserJoinRegex=^User '{Steam (?<userid>\d+)}' '\d+', approvedUserIndex: \d+, Character: '(?<username>.+?)' connected as ID '\d+,\d+', Entity '[\d,]+'\.$
Console.UserLeaveRegex=^User '{Steam (?<userid>\d+)}' disconnected. approvedUserIndex: \d+ Reason: (.+?) (.+?)$ Console.UserLeaveRegex=^User '{Steam (?<userid>\d+)}' disconnected. approvedUserIndex: \d+ Reason: (.+?) (.+?)$
Console.UserChatRegex= Console.UserChatRegex=

View File

@ -1,4 +1,18 @@
[ [
{
"DisplayName": "Disable BepInEx Console",
"Category": "V Rising - Host Settings",
"Description": "Needed for BepInEx to function",
"Keywords": "",
"FieldName": "LoggingConsoleEnabled",
"InputType": "text",
"Hidden": true,
"IsFlagArgument": false,
"ParamFieldName": "Logging.Console.Enabled",
"IncludeInCommandLine": false,
"DefaultValue": "false",
"EnumValues": {}
},
{ {
"DisplayName": "Server Name", "DisplayName": "Server Name",
"Category": "V Rising - Host Settings", "Category": "V Rising - Host Settings",
@ -110,7 +124,7 @@
"ParamFieldName": "MaxConnectedUsers", "ParamFieldName": "MaxConnectedUsers",
"IncludeInCommandLine": false, "IncludeInCommandLine": false,
"Suffix": "players", "Suffix": "players",
"MinValue":"1" "MinValue": "1"
}, },
{ {
"DisplayName": "Max Connected Admins", "DisplayName": "Max Connected Admins",
@ -372,5 +386,21 @@
"True": "true", "True": "true",
"False": "false" "False": "false"
} }
},
{
"DisplayName": "Activate BepInEx (Windows Only)",
"Category": "SteamCMD and Updates",
"Description": "If set, BepInEx will be installed when the server is updated and enabled when the server is run, allowing the server to be modded. Mods must be installed in the BepInEx/plugins directory, which is created after BepInEx is first run. Windows only at this time",
"Keywords": "install,enable,bepinex,modded,mods",
"FieldName": "BepInExEnabled",
"InputType": "checkbox",
"IsFlagArgument": false,
"ParamFieldName": "General.enabled",
"IncludeInCommandLine": false,
"DefaultValue": "false",
"EnumValues": {
"False": "false",
"True": "true"
}
} }
] ]

View File

@ -8,5 +8,26 @@
"ConfigFile": "save-data/Settings/ServerGameSettings.json", "ConfigFile": "save-data/Settings/ServerGameSettings.json",
"AutoMap": true, "AutoMap": true,
"ConfigType": "json" "ConfigType": "json"
},
{
"ConfigFile": "doorstop_config.ini",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormat": "{0} = {1}",
"ConfigFormatRegex": "^(?<key>.+?) = (?<value>.*?)$"
},
{
"ConfigFile": "doorstop_config.ini",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormat": "{0}={1}",
"ConfigFormatRegex": "^(?<key>[^ ]+?)=(?<value>[^ ]*?)$"
},
{
"ConfigFile": "BepInEx/config/BepInEx.cfg",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormat": "{0} = {1}",
"ConfigFormatRegex": "^(?<key>.+?) = (?<value>.*?)$"
} }
] ]

View File

@ -5,7 +5,7 @@
"Offset": 0, "Offset": 0,
"Range": 1, "Range": 1,
"Ref": "ApplicationPort1", "Ref": "ApplicationPort1",
"Name": "Application Port 1", "Name": "Game Port",
"Description": "Server Game Port", "Description": "Server Game Port",
"ChildPorts": null "ChildPorts": null
}, },
@ -15,7 +15,7 @@
"Offset": 0, "Offset": 0,
"Range": 1, "Range": 1,
"Ref": "ApplicationPort2", "Ref": "ApplicationPort2",
"Name": "Application Port 2", "Name": "Steam Query Port",
"Description": "Steam Query Port", "Description": "Steam Query Port",
"ChildPorts": null "ChildPorts": null
}, },
@ -25,7 +25,7 @@
"Offset": 0, "Offset": 0,
"Range": 1, "Range": 1,
"Ref": "RemoteAdminPort", "Ref": "RemoteAdminPort",
"Name": "Remote Admin Port", "Name": "RCON Port",
"Description": "RCON Connection Port", "Description": "RCON Connection Port",
"ChildPorts": null "ChildPorts": null
} }

View File

@ -5,56 +5,51 @@
"UpdateSource":"SteamCMD", "UpdateSource":"SteamCMD",
"UpdateSourceData":"1829350", "UpdateSourceData":"1829350",
"UpdateSourceArgs":"1604030", "UpdateSourceArgs":"1604030",
"UpdateSourceVersion":null, "ForceDownloadPlatform":"Windows"
"UpdateSourceTarget":null,
"UnzipUpdateSource":false,
"OverwriteExistingFiles":false,
"ForceDownloadPlatform":"Windows",
"UpdateSourceConditionSetting":null,
"UpdateSourceConditionValue":null,
"DeleteAfterExtract":false
}, },
{ {
"UpdateStageName":"Data Directory Creation", "UpdateStageName":"Data Directory Creation",
"UpdateSourcePlatform":"All", "UpdateSourcePlatform":"All",
"UpdateSource":"CreateDirectory", "UpdateSource":"CreateDirectory",
"UpdateSourceData":null, "UpdateSourceArgs":"{{$FullBaseDir}}save-data/Settings"
"UpdateSourceArgs":"./v-rising/1829350/save-data/Settings",
"UpdateSourceVersion":null,
"UpdateSourceTarget":null,
"UnzipUpdateSource":false,
"OverwriteExistingFiles":false,
"UpdateSourceConditionSetting":null,
"UpdateSourceConditionValue":null,
"DeleteAfterExtract":false
}, },
{ {
"UpdateStageName":"Game Config File Copy", "UpdateStageName":"Game Config File Copy",
"UpdateSourcePlatform":"All", "UpdateSourcePlatform":"All",
"UpdateSource":"CopyFilePath", "UpdateSource":"CopyFilePath",
"UpdateSourceData":"./v-rising/1829350/save-data/Settings/ServerHostSettings.json", "UpdateSourceData":"{{$FullBaseDir}}save-data/Settings/ServerHostSettings.json",
"UpdateSourceArgs":"./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json", "UpdateSourceArgs":"{{$FullBaseDir}}VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json",
"UpdateSourceVersion":null, "OverwriteExistingFiles":false
"UpdateSourceTarget":null,
"UnzipUpdateSource":false,
"OverwriteExistingFiles":false,
"UpdateSourceConditionSetting":null,
"UpdateSourceConditionValue":null,
"DeleteAfterExtract":false
}, },
{ {
"UpdateStageName":"Game Config File Copy", "UpdateStageName":"Game Config File Copy",
"UpdateSourcePlatform":"All", "UpdateSourcePlatform":"All",
"UpdateSource":"CopyFilePath", "UpdateSource":"CopyFilePath",
"UpdateSourceData":"./v-rising/1829350/save-data/Settings/ServerGameSettings.json", "UpdateSourceData":"{{$FullBaseDir}}save-data/Settings/ServerGameSettings.json",
"UpdateSourceArgs":"./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json", "UpdateSourceArgs":"{{$FullBaseDir}}VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json",
"UpdateSourceVersion":null, "OverwriteExistingFiles":false
"UpdateSourceTarget":null, },
"UnzipUpdateSource":false, {
"OverwriteExistingFiles":false, "UpdateStageName":"Download BepInEx From Thunderstore",
"UpdateSourceConditionSetting":null, "UpdateSourcePlatform":"Windows",
"UpdateSourceConditionValue":null, "UpdateSource":"FetchURL",
"DeleteAfterExtract":false "UpdateSourceData":"https://v-rising.thunderstore.io/package/download/BepInEx/BepInExPack_V_Rising/1.668.5/",
"UpdateSourceArgs":"BepInEx-BepInExPack_V_Rising-1.668.5.zip",
"UpdateSourceTarget":"{{$FullBaseDir}}",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true,
"UpdateSourceConditionSetting":"BepInExEnabled",
"UpdateSourceConditionValue":"true"
},
{
"UpdateStageName":"BepInEx Copy",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"Executable",
"UpdateSourceData":"cmd.exe",
"UpdateSourceArgs":"/C xcopy /E /Y /I v-rising\\1829350\\BepInExPack_V_Rising\\* v-rising\\1829350\\ && rmdir /Q /S v-rising\\1829350\\BepInExPack_V_Rising",
"UpdateSourceConditionSetting":"BepInExEnabled",
"UpdateSourceConditionValue":"true"
}, },
{ {
"UpdateStageName":"Initialise Wine", "UpdateStageName":"Initialise Wine",