diff --git a/conan-exiles.kvp b/conan-exiles.kvp new file mode 100644 index 0000000..cf7ef1e --- /dev/null +++ b/conan-exiles.kvp @@ -0,0 +1,79 @@ +Meta.DisplayName=Conan Exiles +Meta.Description=Conan Exiles Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=IceOfWraith, Greelan, eNcrypt +Meta.URL=https://store.steampowered.com/app/440900/Conan_Exiles/ +Meta.DisplayImageSource=steam:440900 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort3} +Meta.ConfigManifest=conan-exilesconfig.json +Meta.MetaConfigManifest=conan-exilesmetaconfig.json +Meta.ConfigRoot=conan-exiles.kvp +Meta.MinAMPVersion=2.3.2.8 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Conan Exiles +App.RootDir=./conan-exiles/ +App.BaseDirectory=./conan-exiles/443030/ +App.ExecutableWin=443030\ConanSandbox\Binaries\Win64\ConanSandboxServer-Win64-Test.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=443030/ConanSandbox/Binaries/Win64 +App.LinuxCommandLineArgs=-a "{{$FullRootDir}}1493710/proton" run "./ConanSandboxServer-Win64-Test.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{Map}}{{CustomMap}} -log -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900","STEAM_COMPAT_DATA_PATH":"{{$FullRootDir}}1493710","STEAM_COMPAT_CLIENT_INSTALL_PATH":"{{$FullRootDir}}1493710"} +App.CommandLineParameterFormat=-{0}="{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=exit +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.ApplicationPort1=7777 +App.ApplicationPort2=7778 +App.ApplicationPort3=27015 +App.RemoteAdminPort=25575 +App.MaxUsers=40 +App.UseRandomAdminPassword=True +App.RemoteAdminPassword= +App.AdminMethod=SourceRCON +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Proton Compatibility Layer","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1493710"},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer/ServerSettings.ini","UpdateSourceArgs":"./conan-exilesconfigsettings.ini","OverwriteExistingFiles":false}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.SupportsUniversalSleep=True +App.UniversalSleepApplicationUDPPort=1 +App.UniversalSleepSteamQueryPort=3 +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^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.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=True +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=60 \ No newline at end of file diff --git a/conan-exilesconfig.json b/conan-exilesconfig.json new file mode 100644 index 0000000..f0fbf69 --- /dev/null +++ b/conan-exilesconfig.json @@ -0,0 +1,204 @@ +[ + { + "DisplayName":"Game Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ApplicationPort1", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"URL.Port", + "IncludeInCommandLine":false, + "DefaultValue":"7777" + }, + { + "DisplayName":"Download Port Offset", + "Category":"Server Settings", + "Description":"Mod download port matches the Game Port.", + "Keywords":"", + "FieldName":"DownloadPortOffset", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"/Script/ConanSandbox.SystemSettings.ModFileDownload.DownloadPortOffset", + "IncludeInCommandLine":false, + "DefaultValue":"0" + }, + { + "DisplayName":"Query Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ApplicationPort3", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"OnlineSubsystemNull.GameServerQueryPort", + "IncludeInCommandLine":false, + "DefaultValue":"27015" + }, + { + "DisplayName":"RCON Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$RemoteAdminPort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"RconPlugin.RconPort", + "IncludeInCommandLine":false, + "DefaultValue":"25575" + },{ + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Name of the server shown in the server browser.", + "Keywords":"name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerName", + "IncludeInCommandLine":true, + "DefaultValue":"Conan Exiles Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Map", + "Category":"Server Settings", + "Description":"Sets the map to load on startup.", + "Keywords":"map", + "FieldName":"Map", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Map", + "IncludeInCommandLine":false, + "DefaultValue":"/Game/Maps/ConanSandbox/ConanSandbox", + "EnumValues":{ + "":"Custom", + "/Game/Maps/ConanSandbox/ConanSandbox":"Exiled Lands", + "/Game/DLC_EXT/DLC_Siptah/Maps/DLC_Isle_of_Siptah":"Isle of Siptah" + } + }, + { + "DisplayName":"Custom Map", + "Category":"Server Settings", + "Description":"If using a custom map, enter it here. Choose Custom from the Map option.", + "Keywords":"custom,map", + "FieldName":"CustomMap", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomMap", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"/Game/Mods/Savage_Wilds/Savage_Wilds", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that may connect to the server.", + "Keywords":"maximum,players", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"40", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Password to connect to the server. Default is no password.", + "Keywords":"password", + "FieldName":"ServerPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"ServerPassword", + "IncludeInCommandLine":true, + "DefaultValue":"", + "SkipIfEmpty": true, + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"Server Settings", + "Description":"In-game \"admin\" user password (not the server password). NOTE: You must set this to allow use of the in-game admin panel. Change this after installing the server!", + "Keywords":"admin,password", + "FieldName":"AdminPassword", + "InputType":"RandomPassword", + "IsFlagArgument":false, + "ParamFieldName":"ServerSettings.AdminPassword", + "IncludeInCommandLine":false, + "DefaultValue":"Password123", + "Required": true, + "EnumValues":{} + }, + { + "DisplayName":"RCON Password", + "Category":"Server Settings", + "Description":"Password to connect to RCON.", + "Keywords":"rcon,password", + "FieldName":"$RemoteAdminPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"RconPlugin.RconPassword", + "IncludeInCommandLine":false, + "EnumValues":{}, + "Hidden": true + }, + { + "DisplayName":"Server Region", + "Category":"Server Settings", + "Description":"Sets the server region, which affects how the server is filtered in the server list.", + "Keywords":"region", + "FieldName":"serverRegion", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ServerSettings.serverRegion", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Europe", + "1":"North America", + "2":"Asia", + "3":"Australia", + "4":"South America", + "5":"Japan" + } + }, + { + "DisplayName":"Enable BattlEye", + "Category":"Server Settings", + "Description":"If enabled, BattlEye cheat protection will apply to the server.", + "Keywords":"battleye,cheats", + "FieldName":"IsBattlEyeEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ServerSettings.IsBattlEyeEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Enable Valve Anti-cheat (Steam VAC).", + "Category":"Server Settings", + "Description":"", + "Keywords":"VAC,cheat", + "FieldName":"IsVACEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ServerSettings.IsVACEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "True":"True", + "False":"False" + } + } + ] \ No newline at end of file diff --git a/conan-exilesconfigsettings.ini b/conan-exilesconfigsettings.ini new file mode 100644 index 0000000..514971a --- /dev/null +++ b/conan-exilesconfigsettings.ini @@ -0,0 +1,203 @@ +[ServerSettings] +NPCMindReadingMode=0 +MaxNudity=0 +ServerCommunity=0 +ConfigVersion=10 +BlueprintConfigVersion=24 +PurgeNPCBuildingDamageMultiplier=(5.000000,5.000000,10.000000,15.000000,20.000000,25.000000) +BuildingPVPWhitelist=("80901","80111","80112","80915","80912") +PlayerKnockbackMultiplier=1.000000 +NPCKnockbackMultiplier=1.000000 +StructureDamageMultiplier=1.000000 +StructureHealthMultiplier=1.000000 +NPCRespawnMultiplier=1.000000 +NPCHealthMultiplier=1.000000 +PlayerDamageMultiplier=1.000000 +PlayerDamageTakenMultiplier=1.000000 +MinionDamageMultiplier=1.000000 +MinionDamageTakenMultiplier=1.000000 +NPCDamageMultiplier=1.000000 +NPCDamageTakenMultiplier=1.000000 +PlayerEncumbranceMultiplier=1.000000 +PlayerEncumbrancePenaltyMultiplier=1.000000 +PlayerMovementSpeedScale=1.000000 +PlayerStaminaCostSprintMultiplier=1.000000 +PlayerSprintSpeedScale=1.000000 +PlayerStaminaCostMultiplier=1.000000 +PlayerHealthRegenSpeedScale=1.000000 +PlayerXPRateMultiplier=1.000000 +PlayerXPKillMultiplier=1.000000 +PlayerXPHarvestMultiplier=1.000000 +PlayerXPCraftMultiplier=1.000000 +PlayerXPTimeMultiplier=1.000000 +DogsOfTheDesertSpawnWithDogs=False +CrossDesertOnce=True +ThrallExclusionRadius=500.000000 +MaxAggroRange=9000.000000 +FriendlyFireDamageMultiplier=0.250000 +CampsIgnoreLandclaim=True +AvatarDomeDurationMultiplier=1.000000 +AvatarDomeDamageMultiplier=1.000000 +NPCMaxSpawnCapMultiplier=1.000000 +serverRegion=0 +PVPEnabled=False +RestrictPVPTime=False +RestrictPVPBuildingDamageTime=False +PVPTimeMondayStart=0 +PVPTimeTuesdayStart=0 +PVPTimeWednesdayStart=0 +PVPTimeThursdayStart=0 +PVPTimeFridayStart=0 +PVPTimeSaturdayStart=0 +PVPTimeSundayStart=0 +PVPTimeMondayEnd=0 +PVPTimeTuesdayEnd=0 +PVPTimeWednesdayEnd=0 +PVPTimeThursdayEnd=0 +PVPTimeFridayEnd=0 +PVPTimeSaturdayEnd=0 +PVPTimeSundayEnd=0 +PVPEnabledMonday=False +PVPEnabledTuesday=False +PVPEnabledWednesday=False +PVPEnabledThursday=False +PVPEnabledFriday=False +PVPEnabledSaturday=False +PVPEnabledSunday=False +PVPBuildingDamageTimeMondayStart=0 +PVPBuildingDamageTimeTuesdayStart=0 +PVPBuildingDamageTimeWednesdayStart=0 +PVPBuildingDamageTimeThursdayStart=0 +PVPBuildingDamageTimeFridayStart=0 +PVPBuildingDamageTimeSaturdayStart=0 +PVPBuildingDamageTimeSundayStart=0 +PVPBuildingDamageTimeMondayEnd=0 +PVPBuildingDamageTimeTuesdayEnd=0 +PVPBuildingDamageTimeWednesdayEnd=0 +PVPBuildingDamageTimeThursdayEnd=0 +PVPBuildingDamageTimeFridayEnd=0 +PVPBuildingDamageTimeSaturdayEnd=0 +PVPBuildingDamageTimeSundayEnd=0 +PVPBuildingDamageEnabledMonday=False +PVPBuildingDamageEnabledTuesday=False +PVPBuildingDamageEnabledWednesday=False +PVPBuildingDamageEnabledThursday=False +PVPBuildingDamageEnabledFriday=False +PVPBuildingDamageEnabledSaturday=False +PVPBuildingDamageEnabledSunday=False +DisableBuildingDuringTimeRestrictedPVP=False +VocalVisibilityDurationInMinutes=5 +CombatModeModifier=0 +ContainersIgnoreOwnership=True +LandClaimRadiusMultiplier=1.000000 +DisableLandclaimNotifications=True +BuildingPreloadRadius=80.000000 +CanDamagePlayerOwnedStructures=False +DynamicBuildingDamage=False +DynamicBuildingDamagePeriod=1800 +ServerPassword= +ServerMessageOfTheDay= +KickAFKPercentage=80 +KickAFKTime=2700 +OfflinePlayersUnconsciousBodiesHours=168 +CorpsesPerPlayer=10 +PlayerCorpseLifeTime=1800.000000 +NPCCorpseLifeTime=600.000000 +ItemConvertionMultiplier=1.000000 +ThrallConversionMultiplier=1.000000 +FuelBurnTimeMultiplier=1.000000 +CraftingCostMultiplier=1.000000 +StaminaRegenerationTime=3.750000 +StaminaExhaustionTime=3.750000 +StaminaStaticRegenRateMultiplier=1.000000 +StaminaMovingRegenRateMultiplier=1.000000 +PlayerStaminaRegenSpeedScale=1.000000 +StaminaOnConsumeRegenPause=1.500000 +StaminaOnExhaustionRegenPause=2.750000 +ThrallScoutingTimeMinutes=10.000000 +ThrallMinDistanceAwayFromHome=5000.000000 +ThrallTeleportingCooldown=10.000000 +MinionPopulationBaseValue=50 +MinionPopulationPerPlayer=5 +MinionOverpopulationCleanup=60 +MinionOverpopulationAllowed=10 +UseMinionPopulationLimit=False +EnableFollowerRescueOnLandClaimOnly=True +EnableFollowerRescueInBuildExclusionZone=False +FollowerRescueCooldown=3600 +DamageCooldownBeforeRescue=600 +ThrallCorruptionRemovalMultiplier=1.000000 +PlayerCorruptionGainMultiplier=1.000000 +AnimalPenCraftingTimeMultiplier=1.000000 +FeedBoxRangeMultiplier=1.000000 +BuildingDamageMultiplier=1.000000 +PathFollowingSendsAngularVelocity=False +UnconsciousTimeSeconds=1800.000000 +ConciousnessDamageMultiplier=1.000000 +ThrallDamageToPlayersMultiplier=1.000000 +MaxBuildingDecayTime=1296000.000000 +MaxDecayTimeToAutoDemolish=604800.000000 +ThrallDecayTime=1296000.000000 +DisableThrallDecay=False +BuildingDecayTimePerScore=5400.000000 +BuildingDecayTimeMultiplier=1.000000 +DecayCleanupTimeMultiplier=2.000000 +DecayBonusTimeRate=600.000000 +DecayShowBuildingScore=False +EnableAutoFacingOnAttack=True +EnableTargetLock=True +CachedLandClaimRadiusMultiplier=1.000000 +ValidatePhysNavWalkWithRaycast=True +LocalNavMeshVisualizationFrequency=-1.000000 +LocalLandClaimVisualizationFrequency=-1.000000 +LocalLandClaimVisualizationRadius=3000 +LocalLandClaimVisualizationChannel=0 +UseLocalQuadraticAngularVelocityPrediction=False +LQAVPUseTime=0.150000 +LQAVPFadeTime=0.100000 +LQAVPMethod=2 +NetworkSimulatedSmoothRotationTimeWithLQAVP=0.100000 +EnableClanMarkers=True +ValidatePlayerStats=False +AllowedTimeUndermesh=-1.000000 +AllowedDistanceUndermeshSquared=490000.000000 +CapCharacterLayoutScalarParams=False +EventLogCauserPrivacy=1 +serverVoiceChat=1 +AvatarsDisabled=False +RestrictAvatarSummoningTime=False +AvatarSummoningTimeWeekdayStart=0 +AvatarSummoningTimeWeekdayEnd=0 +AvatarSummoningTimeWeekendStart=0 +AvatarSummoningTimeWeekendEnd=0 +AvatarLifetime=60.000000 +AvatarSummonTime=60.000000 +MaxDeathMapMarkers=3 +IsBattlEyeEnabled=False +IsVACEnabled=True +CanImportDirectlyFromSameServer=False +ServerTransferServersWhitelist= +MaxAllowedPing=0 +AllowFamilySharedAccount=True +RegionAllowAfrica=True +RegionAllowAsia=True +RegionAllowCentralEurope=True +RegionAllowEasternEurope=True +RegionAllowWesternEurope=True +RegionAllowNorthAmerica=True +RegionAllowOceania=True +RegionAllowSouthAmerica=True +RegionBlockList= +ServerModList= +InitialPurgeDelay=15.000000 +BuildingPickupEnabled=True +PoiProtectionEnabled=False +EventSystemEnabled=True +ServerMergeOutgoingTime=0 +ServerMergeDestination= +DisableChatFormatting=False +EnableLoginQueue=True +DisconnectionGraceTime=180 +bCanBeDamaged=True +AdminPassword=Password123 + diff --git a/conan-exilesmetaconfig.json b/conan-exilesmetaconfig.json new file mode 100644 index 0000000..09893f1 --- /dev/null +++ b/conan-exilesmetaconfig.json @@ -0,0 +1,18 @@ +[ + { + "ConfigFile": "ConanSandbox/Saved/Config/WindowsServer/ServerSettings.ini", + "AutoMap": true, + "ConfigType": "ini", + "ConfigFormatRegex": "^(?.+?)=(?.*?)$" + },{ + "ConfigFile": "ConanSandbox/Saved/Config/WindowsServer/Game.ini", + "AutoMap": true, + "ConfigType": "ini", + "ConfigFormatRegex": "^(?.+?)=(?.*?)$" + },{ + "ConfigFile": "ConanSandbox/Saved/Config/WindowsServer/Engine.ini", + "AutoMap": true, + "ConfigType": "ini", + "ConfigFormatRegex": "^(?.+?)=(?.*?)$" + } +] \ No newline at end of file diff --git a/eco.kvp b/eco.kvp index 2000dca..0b36837 100644 --- a/eco.kvp +++ b/eco.kvp @@ -47,7 +47,7 @@ App.AdminMethod=SourceRCON App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceVersion":"{{ServerVersion}}"},{"UpdateStageName":"Network Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Network.eco","UpdateSourceArgs":"./eco/739590/Configs/Network.eco.template","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"},{"UpdateStageName":"Network Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Network.eco","UpdateSourceArgs":"./eco/739590/Configs/Network.eco.template","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/ecoconfig.json b/ecoconfig.json index f812269..354a192 100644 --- a/ecoconfig.json +++ b/ecoconfig.json @@ -51,20 +51,6 @@ "IncludeInCommandLine":false, "EnumValues":{} }, - { - "DisplayName":"Server Version", - "Category":"Server Settings", - "Description":"[Server version](https://steamdb.info/app/739590/depots/) to install. Default is \"public\". Set any required password under SteamCMD and Updates. NOTE: Update the server after changing this setting!", - "Keywords":"server,version,beta", - "FieldName":"ServerVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "DefaultValue":"public", - "Placeholder":"public", - "EnumValues":{} - }, { "DisplayName":"Server Name", "Category":"Server Settings", @@ -208,5 +194,35 @@ "False":"false", "True":"true" } - } + }, + { + "DisplayName":"Enable Beta Branch", + "Category":"SteamCMD and Updates", + "Description":"If enabled, allows beta branches (branches other than \"public\") to be installed. Specify the branch under \"Selected Beta Branch\". NOTE: Update the server after switching branches!", + "Keywords":"enable,beta", + "FieldName":"EnableBeta", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Selected Beta Branch", + "Category":"SteamCMD and Updates", + "Description":"[Beta branch](https://steamdb.info/app/739590/depots/) to install. Requires \"Enable Beta Branch\" to be enabled. Set any required password under \"Beta Password\". NOTE: Update the server after switching branches!", + "Keywords":"beta,branch", + "FieldName":"BetaBranch", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"", + "EnumValues":{} + } ] \ No newline at end of file diff --git a/risk-of-rain-2.kvp b/risk-of-rain-2.kvp index 2ce47a2..ca155cd 100644 --- a/risk-of-rain-2.kvp +++ b/risk-of-rain-2.kvp @@ -30,8 +30,8 @@ App.UniversalSleepSteamQueryPort=2 App.WakeupMode=Any Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+)|((Filename:.*))$ Console.AppReadyRegex=^.*Press Enter to chat.*$ -Console.UserJoinRegex=^.*GameNetworkManager.AddPlayerInternal.*$ -Console.UserLeaveRegex=^.*(.*Log: connection .* has been disconnected by timeout.*).*|.*(.*Kicking client on connection.*).*$ +Console.UserJoinRegex=^.*SteamworksServerManager.OnAuthChange.steamId=(?\d+),.*$ +Console.UserLeaveRegex=^.*Log: connection .* has been disconnected by timeout.* Console.UserChatRegex=^.*\[\d\d:\d\d:\d\d\] \[CHAT\] <(?.+?)> (?.+)$ Meta.Author=IceOfWraith Meta.ConfigManifest=risk-of-rain-2config.json @@ -42,4 +42,4 @@ Meta.DisplayImageSource=steam:632360 Meta.DisplayName=Risk of Rain 2 Meta.EndpointURIFormat=steam://connect/{ip}/{GenericModule.App.ApplicationPort2} Meta.OS=3 -Meta.URL=https://store.steampowered.com/app/632360/Risk_of_Rain_2/ \ No newline at end of file +Meta.URL=https://store.steampowered.com/app/632360/Risk_of_Rain_2/ diff --git a/v-rising.kvp b/v-rising.kvp index deaa64a..a9d2514 100644 --- a/v-rising.kvp +++ b/v-rising.kvp @@ -1,8 +1,8 @@ Meta.DisplayName=V Rising Meta.Description=V Rising Dedicated Server -Meta.OS=Windows +Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=Tempus Thales +Meta.Author=Tempus Thales, IceOfWraith Meta.URL=https://store.steampowered.com/app/1604030/V_Rising/ Meta.DisplayImageSource=steam:1604030 Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} @@ -19,13 +19,14 @@ App.DisplayName=V Rising App.RootDir=./v-rising/ App.BaseDirectory=./v-rising/1829350/ App.ExecutableWin=1829350\VRisingServer.exe -App.ExecutableLinux=1829350/ +App.ExecutableLinux=/usr/bin/xvfb-run App.WorkingDir=1829350 -App.LinuxCommandLineArgs= +App.LinuxCommandLineArgs=-a "{{$FullRootDir}}1493710/proton" run "./VRisingServer.exe" App.WindowsCommandLineArgs= -App.CommandLineArgs=-persistentDataPath ./save-data +App.CommandLineArgs={{$PlatformArgs}} -persistentDataPath ./save-data +App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"1604030"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"1604030","STEAM_COMPAT_DATA_PATH":"{{$FullRootDir}}1493710","STEAM_COMPAT_CLIENT_INSTALL_PATH":"{{$FullRootDir}}1493710"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=CtrlC @@ -37,10 +38,11 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=9876 -App.ApplicationPort2=9877 -App.ApplicationPort3=0 -App.RemoteAdminPort=0 +App.Ports=[{"Protocol":2,"Port":9876,"Offset":0,"Range":1,"Ref":"ApplicationPort1","Name":"Application Port 1","Description":"","ChildPorts":null},{"Protocol":2,"Port":9877,"Offset":0,"Range":1,"Ref":"ApplicationPort2","Name":"Application Port 2","Description":"","ChildPorts":null}] +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=ApplicationPort1 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=ApplicationPort2 App.MaxUsers=40 App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 @@ -49,14 +51,12 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "1829350"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1829350"},{"UpdateStageName":"Proton Compatibility Layer","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1493710","UpdateSourceVersion":"bleeding-edge"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False -App.SupportsUniversalSleep=False -App.UniversalSleepApplicationUDPPort=27015 -App.UniversalSleepSteamQueryPort=27016 +App.SupportsUniversalSleep=True App.WakeupMode=Any App.ApplicationReadyMode=Immediate App.TemplateMatchRegex={{(\$?[\w]+)}} @@ -68,6 +68,7 @@ Console.UserJoinRegex=^User '{Steam (?\d+)}' '\d+', approvedUserIndex: \ Console.UserLeaveRegex=^User '{Steam (?\d+)}' disconnected. approvedUserIndex: \d+ Reason: (.+?) (.+?)$ 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={} diff --git a/v-risingconfig.json b/v-risingconfig.json index 97194b3..0649164 100644 --- a/v-risingconfig.json +++ b/v-risingconfig.json @@ -98,12 +98,12 @@ "Special": "listfile:./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/adminlist.txt" }, { - "DisplayName": "Banned List", + "DisplayName": "Ban List", "Description": "A list of Steam64 IDs for players that are banned [Find a Steam64 ID](https://steamid.io/lookup/)", "FieldName": "BanList", "Category": "Game Settings", "InputType": "list", - "Special": "listfile:./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/bannedlist.txt" + "Special": "listfile:./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/banlist.txt" }, { "DisplayName":"Server FPS", @@ -275,6 +275,272 @@ "EnumValues":{ "True": "true", "False": "false" - } + }, + { + "DisplayName": "Server Name", + "Category": "Host Settings", + "Description": "Whatever you want to name your server as", + "Keywords": "Server, name", + "FieldName": "Name", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "Name", + "IncludeInCommandLine": false, + "DefaultValue": "AMP V Rising Server", + "EnumValues": {} + }, + { + "DisplayName": "Description", + "Category": "Host Settings", + "Description": "Short description of server purpose, rules, message of the day", + "Keywords": "Server, description", + "FieldName": "Description", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "Description", + "IncludeInCommandLine": false, + "DefaultValue": "AMP V Rising Server", + "Placeholder": "My V Rising Server" + }, + { + "DisplayName": "Port", + "Category": "Host Settings", + "Description": "UDP port for game traffic", + "Keywords": "game,port", + "FieldName": "$ApplicationPort1", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "Port", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Query Port", + "Category": "Host Settings", + "Description": "UDP port for Steam server list features", + "Keywords": "query,port", + "FieldName": "$ApplicationPort2", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "QueryPort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Max Connected Users", + "Category": "Host Settings", + "Description": "Max number of concurrent players on server", + "Keywords": "max, users", + "FieldName": "$MaxUsers", + "InputType": "number", + "DefaultValue": "40", + "IsFlagArgument": false, + "ParamFieldName": "MaxConnectedUsers", + "IncludeInCommandLine": false, + "Suffix": "players" + }, + { + "DisplayName": "Max Connected Admins", + "Category": "Host Settings", + "Description": "Max number of admins to allow connect even when server is full", + "Keywords": "max, admins", + "FieldName": "MaxConnectedAdmins", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MaxConnectedAdmins", + "DefaultValue": "4", + "IncludeInCommandLine": false, + "Suffix": "players" + }, + { + "DisplayName": "Clan Size", + "Category": "Game Settings", + "Description": "Maximum amount of players per Clan", + "Keywords": "clan, Size", + "FieldName": "ClanSize", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ClanSize", + "DefaultValue": "4", + "IncludeInCommandLine": false, + "Suffix": "players" + }, + { + "DisplayName": "Server FPS", + "Category": "Host Settings", + "Description": "Maximum Server FPS when idle", + "Keywords": "server, fps", + "FieldName": "ServerFps", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerFps", + "DefaultValue": "30", + "IncludeInCommandLine": false, + "Suffix": "FPS" + }, + { + "DisplayName": "Save Name", + "Category": "Host Settings", + "Description": "Name of save file/directory", + "Keywords": "save, name", + "FieldName": "SaveName", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "SaveName", + "DefaultValue": "world1", + "IncludeInCommandLine": false + }, + { + "DisplayName": "Password", + "Category": "Host Settings", + "Description": "Set a password or leave empty", + "Keywords": "server, password", + "FieldName": "Password", + "DefaultValue": "", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "Password", + "IncludeInCommandLine": false + }, + { + "DisplayName": "VAC Secure", + "Category": "Host Settings", + "Description": "Choose if you want your server to use VAC or not.", + "Keywords": "server, secure", + "FieldName": "Secure", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "Secure", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + }, + { + "DisplayName": "List on Master Server", + "Category": "Host Settings", + "Description": "Set to true to list on server list, else set to false", + "Keywords": "master,server", + "FieldName": "ListOnMasterServer", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "ListOnMasterServer", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" } -] + }, + { + "DisplayName": "Auto Save Count", + "Category": "Host Settings", + "Description": "Number of autosaves to keep", + "Keywords": "autosave, interval", + "FieldName": "AutoSaveCount", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "AutoSaveCount", + "IncludeInCommandLine": false, + "DefaultValue": "25", + "EnumValues": {}, + "Suffix": "saves" + }, + { + "DisplayName": "Auto Save Interval", + "Category": "Host Settings", + "Description": "Interval in seconds between each auto save", + "Keywords": "AutoSave, interval", + "FieldName": "AutoSaveInterval", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "AutoSaveInterval", + "IncludeInCommandLine": false, + "DefaultValue": "120", + "EnumValues": {}, + "Suffix": "seconds" + }, + { + "DisplayName": "Game Mode Type", + "Category": "Game Settings", + "Description": "Set Game Mode Type as PVE or PVP.", + "Keywords": "Game, Mode, Type", + "FieldName": "GameModeType", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "GameModeType", + "IncludeInCommandLine": false, + "DefaultValue": "PvP", + "EnumValues": { + "PvE": "PvE", + "PvP": "PvP" + } + }, + { + "DisplayName": "Game Settings Ruleset", + "Category": "Host Settings", + "Description": "Change Game Mode Ruleset. Must Match Game Mode Type", + "Keywords": "Game, Ruleset", + "FieldName": "GameSettingsPreset", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "GameSettingsPreset", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "DuoPvP": "Duo PvP", + "HardcorePvP": "Full Loot PvP Rules", + "Level30PvP": "PvP Dawn - Level 30", + "Level50PvP": "PvP Noon - Level 50", + "Level70PvP": "PvP Dusk - Level 50", + "SoloPvP": "Solo PvP", + "StandardPvP": "Standard PvP Rules", + "StandardPvP_Easy": "Standard PvP Easy", + "StandardPvP_Hard": "Standard PvP Hard", + "Level30PvE": "PvE Dawn - Level 30", + "Level50PvE": "PvE Noon - Level 50", + "Level70PvE": "PvE Dusk - Level 50", + "StandardPvE": "Standard PvE Rules", + "StandardPvE_Easy": "Standard PvE Easy", + "StandardPvE_Hard": "Standard PvE Hard", + "": "Custom" + } + }, + { + "DisplayName": "Admin Only Debug Events", + "Category": "Host Settings", + "Description": "Show debug events only to admins", + "Keywords": "admin, debug, events", + "FieldName": "AdminOnlyDebugEvents", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "AdminOnlyDebugEvents", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Disable Debug Events", + "Category": "Host Settings", + "Description": "Disable Debug Events from appearing at all", + "Keywords": "disable, debug, events", + "FieldName": "DisableDebugEvents", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "DisableDebugEvents", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + } +]