From 0c18b60501504d42810c8be928a82d410e86dc2b Mon Sep 17 00:00:00 2001 From: Lacoi Date: Wed, 2 Aug 2023 16:25:31 +0200 Subject: [PATCH 1/9] asm & csm: add file size to WorldSaveRestoreWindow --- .../Globalization/en-US/en-US.xaml | 1 + .../Windows/WorldSaveRestoreWindow.xaml | 13 +++++++ .../Windows/WorldSaveRestoreWindow.xaml.cs | 11 +++++- .../Globalization/en-US/en-US.xaml | 1 + .../Windows/MainWindow.xaml | 4 ++ .../Windows/WorldSaveRestoreWindow.xaml | 13 +++++++ .../Windows/WorldSaveRestoreWindow.xaml.cs | 13 +++++-- .../Converters/FileSizeConverter.cs | 39 +++++++++++++++++++ 8 files changed, 90 insertions(+), 5 deletions(-) create mode 100644 src/ServerManager.Common/Converters/FileSizeConverter.cs diff --git a/src/ARKServerManager/Globalization/en-US/en-US.xaml b/src/ARKServerManager/Globalization/en-US/en-US.xaml index 0b9d7d4b..41f0a832 100644 --- a/src/ARKServerManager/Globalization/en-US/en-US.xaml +++ b/src/ARKServerManager/Globalization/en-US/en-US.xaml @@ -319,6 +319,7 @@ Refresh Backup Files Error Name + Size Created Last Updated diff --git a/src/ARKServerManager/Windows/WorldSaveRestoreWindow.xaml b/src/ARKServerManager/Windows/WorldSaveRestoreWindow.xaml index fe28e951..7f591631 100644 --- a/src/ARKServerManager/Windows/WorldSaveRestoreWindow.xaml +++ b/src/ARKServerManager/Windows/WorldSaveRestoreWindow.xaml @@ -2,6 +2,7 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common" + xmlns:cc="clr-namespace:ServerManagerTool.Common.Converters;assembly=ServerManager.Common" MinWidth="700" MinHeight="480" Width="800" Height="480" ResizeMode="CanResize" WindowStyle="ToolWindow" WindowStartupLocation="CenterOwner" ShowInTaskbar="False" Loaded="Window_Loaded" Icon="../Art/favicon.ico" Title="{DynamicResource WorldSaveRestore_Title}"> @@ -55,6 +56,18 @@ + + + + + + + + + + + + diff --git a/src/ConanServerManager/Windows/WorldSaveRestoreWindow.xaml b/src/ConanServerManager/Windows/WorldSaveRestoreWindow.xaml index 4f6f9332..0abc7622 100644 --- a/src/ConanServerManager/Windows/WorldSaveRestoreWindow.xaml +++ b/src/ConanServerManager/Windows/WorldSaveRestoreWindow.xaml @@ -2,6 +2,7 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common" + xmlns:cc="clr-namespace:ServerManagerTool.Common.Converters;assembly=ServerManager.Common" MinWidth="700" MinHeight="480" Width="800" Height="480" ResizeMode="CanResize" WindowStyle="ToolWindow" WindowStartupLocation="CenterOwner" ShowInTaskbar="False" Loaded="Window_Loaded" Icon="../Art/favicon.ico" Title="{DynamicResource WorldSaveRestore_Title}"> @@ -56,6 +57,18 @@ + + + + + + + + + + + + diff --git a/src/ARKServerManager/Windows/MainWindow.xaml.cs b/src/ARKServerManager/Windows/MainWindow.xaml.cs index 5a29752b..5f232bab 100644 --- a/src/ARKServerManager/Windows/MainWindow.xaml.cs +++ b/src/ARKServerManager/Windows/MainWindow.xaml.cs @@ -1,5 +1,6 @@ using EO.Wpf; using NLog; +using ServerManagerTool.Common; using ServerManagerTool.Common.Enums; using ServerManagerTool.Common.Lib; using ServerManagerTool.Common.Utils; @@ -35,6 +36,7 @@ namespace ServerManagerTool public static readonly DependencyProperty AppInstanceProperty = DependencyProperty.Register(nameof(AppInstance), typeof(App), typeof(MainWindow), new PropertyMetadata(null)); public static readonly DependencyProperty ConfigProperty = DependencyProperty.Register(nameof(Config), typeof(Config), typeof(MainWindow), new PropertyMetadata(null)); + public static readonly DependencyProperty CommonConfigProperty = DependencyProperty.Register(nameof(CommonConfig), typeof(CommonConfig), typeof(MainWindow), new PropertyMetadata(null)); public static readonly DependencyProperty ServerManagerProperty = DependencyProperty.Register(nameof(ServerManager), typeof(ServerManager), typeof(MainWindow), new PropertyMetadata(null)); public static readonly DependencyProperty AutoBackupStateProperty = DependencyProperty.Register(nameof(AutoBackupState), typeof(Microsoft.Win32.TaskScheduler.TaskState), typeof(MainWindow), new PropertyMetadata(Microsoft.Win32.TaskScheduler.TaskState.Unknown)); public static readonly DependencyProperty AutoBackupStateStringProperty = DependencyProperty.Register(nameof(AutoBackupStateString), typeof(string), typeof(MainWindow), new PropertyMetadata(string.Empty)); @@ -52,6 +54,7 @@ namespace ServerManagerTool { this.AppInstance = App.Instance; this.Config = Config.Default; + this.CommonConfig = CommonConfig.Default; InitializeComponent(); WindowUtils.RemoveDefaultResourceDictionary(this, Config.Default.DefaultGlobalizationFile); @@ -102,6 +105,12 @@ namespace ServerManagerTool set { SetValue(ConfigProperty, value); } } + public CommonConfig CommonConfig + { + get { return GetValue(CommonConfigProperty) as CommonConfig; } + set { SetValue(CommonConfigProperty, value); } + } + public ServerManager ServerManager { get { return (ServerManager)GetValue(ServerManagerProperty); } diff --git a/src/ConanServerManager/Globalization/en-US/en-US.xaml b/src/ConanServerManager/Globalization/en-US/en-US.xaml index 4504a934..132884a3 100644 --- a/src/ConanServerManager/Globalization/en-US/en-US.xaml +++ b/src/ConanServerManager/Globalization/en-US/en-US.xaml @@ -696,6 +696,7 @@ If you proceed the entire SteamCMD folder will be removed including all mod cache downloads.\r\nAre you sure you want to reinstall SteamCMD? Reinstall SteamCMD Error An error occured while trying to reinstall SteamCMD. This has left SteamCmd in an unstable state, try reinstalling again or please report this.\r\nException: {0} + Steam WebAPI Key missing! Updates, downloads and installation of profiles could fail. Enter your Steam WebApiKey in the global settings Discord Bot Running Commands The discord bot has one or more running commands, do you want to continue shutting down the server manager? diff --git a/src/ConanServerManager/Styles/Default.xaml b/src/ConanServerManager/Styles/Default.xaml index 62d5c42a..4d98998e 100644 --- a/src/ConanServerManager/Styles/Default.xaml +++ b/src/ConanServerManager/Styles/Default.xaml @@ -24,6 +24,8 @@ + + diff --git a/src/ConanServerManager/Windows/MainWindow.xaml.cs b/src/ConanServerManager/Windows/MainWindow.xaml.cs index d9ec8a10..56b28f8a 100644 --- a/src/ConanServerManager/Windows/MainWindow.xaml.cs +++ b/src/ConanServerManager/Windows/MainWindow.xaml.cs @@ -1,5 +1,6 @@ using EO.Wpf; using NLog; +using ServerManagerTool.Common; using ServerManagerTool.Common.Enums; using ServerManagerTool.Common.Lib; using ServerManagerTool.Common.Utils; @@ -35,6 +36,7 @@ namespace ServerManagerTool public static readonly DependencyProperty AppInstanceProperty = DependencyProperty.Register(nameof(AppInstance), typeof(App), typeof(MainWindow), new PropertyMetadata(null)); public static readonly DependencyProperty ConfigProperty = DependencyProperty.Register(nameof(Config), typeof(Config), typeof(MainWindow), new PropertyMetadata(null)); + public static readonly DependencyProperty CommonConfigProperty = DependencyProperty.Register(nameof(CommonConfig), typeof(CommonConfig), typeof(MainWindow), new PropertyMetadata(null)); public static readonly DependencyProperty ServerManagerProperty = DependencyProperty.Register(nameof(ServerManager), typeof(ServerManager), typeof(MainWindow), new PropertyMetadata(null)); public static readonly DependencyProperty AutoBackupStateProperty = DependencyProperty.Register(nameof(AutoBackupState), typeof(Microsoft.Win32.TaskScheduler.TaskState), typeof(MainWindow), new PropertyMetadata(Microsoft.Win32.TaskScheduler.TaskState.Unknown)); public static readonly DependencyProperty AutoBackupStateStringProperty = DependencyProperty.Register(nameof(AutoBackupStateString), typeof(string), typeof(MainWindow), new PropertyMetadata(string.Empty)); @@ -52,6 +54,7 @@ namespace ServerManagerTool { this.AppInstance = App.Instance; this.Config = Config.Default; + this.CommonConfig = CommonConfig.Default; InitializeComponent(); WindowUtils.RemoveDefaultResourceDictionary(this, Config.Default.DefaultGlobalizationFile); @@ -102,6 +105,12 @@ namespace ServerManagerTool set { SetValue(ConfigProperty, value); } } + public CommonConfig CommonConfig + { + get { return GetValue(CommonConfigProperty) as CommonConfig; } + set { SetValue(CommonConfigProperty, value); } + } + public ServerManager ServerManager { get { return (ServerManager)GetValue(ServerManagerProperty); } diff --git a/src/ServerManager.Common/Converters/InvertStringNullOrEmptyToVisibilityConverter.cs b/src/ServerManager.Common/Converters/InvertStringNullOrEmptyToVisibilityConverter.cs new file mode 100644 index 00000000..74ed7904 --- /dev/null +++ b/src/ServerManager.Common/Converters/InvertStringNullOrEmptyToVisibilityConverter.cs @@ -0,0 +1,20 @@ +using System; +using System.Globalization; +using System.Windows; +using System.Windows.Data; + +namespace ServerManagerTool.Common.Converters +{ + public class InvertStringNullOrEmptyToVisibilityConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + return string.IsNullOrEmpty(value as string) ? Visibility.Visible : Visibility.Collapsed; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotSupportedException("InvertStringNullOrEmptyToVisibilityConverter is a OneWay converter."); + } + } +} diff --git a/src/ServerManager.Common/Converters/StringNullOrEmptyToVisibilityConverter.cs b/src/ServerManager.Common/Converters/StringNullOrEmptyToVisibilityConverter.cs new file mode 100644 index 00000000..2fc756c6 --- /dev/null +++ b/src/ServerManager.Common/Converters/StringNullOrEmptyToVisibilityConverter.cs @@ -0,0 +1,20 @@ +using System; +using System.Globalization; +using System.Windows; +using System.Windows.Data; + +namespace ServerManagerTool.Common.Converters +{ + public class StringNullOrEmptyToVisibilityConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + return string.IsNullOrEmpty(value as string) ? Visibility.Collapsed : Visibility.Visible; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotSupportedException("StringNullOrEmptyToVisibilityConverter is a OneWay converter."); + } + } +} From 8cb856b915eb8956797482e98ad24eb20b44c1d8 Mon Sep 17 00:00:00 2001 From: Lacoi Date: Wed, 2 Aug 2023 16:50:16 +0200 Subject: [PATCH 3/9] asm remove deprecated options --- .../Globalization/de-DE/de-DE.xaml | 6 --- .../Globalization/en-US/en-US.xaml | 6 --- .../Globalization/es-ES/es-ES.xaml | 6 --- .../Globalization/fr-FR/fr-FR.xaml | 6 --- .../Globalization/pt-BR/pt-BR.xaml | 6 --- .../Globalization/ru-RU/ru-RU.xaml | 6 --- .../Globalization/tr-TR/tr-TR.xaml | 6 --- .../Globalization/zh-CN/zh-CN.xaml | 6 --- src/ARKServerManager/Lib/ServerProfile.cs | 40 ------------------- .../UserControls/ServerSettingsControl.xaml | 20 ++++------ 10 files changed, 8 insertions(+), 100 deletions(-) diff --git a/src/ARKServerManager/Globalization/de-DE/de-DE.xaml b/src/ARKServerManager/Globalization/de-DE/de-DE.xaml index 909df50a..e206ba2d 100644 --- a/src/ARKServerManager/Globalization/de-DE/de-DE.xaml +++ b/src/ARKServerManager/Globalization/de-DE/de-DE.xaml @@ -1413,8 +1413,6 @@ Gibt den Multiplikator für die Beutequalität der Versorgungskiste an. Fischen-Qualitätsmultiplikator Gibt den Multiplikator für die Qualität der Angelbeute an. - Deaktivieren die fleischlose Fischbeute - Wenn aktiviert, wird das Ernten von nicht fleischiger Fischbeute deaktiviert. Anzeigedauer Leichen/Gegenstände Gibt den Multiplikator für die Lebensdauer von Leichen und abgelegten Kisten an. Globale Batterielebensdauer @@ -1616,8 +1614,6 @@ Wenn diese Option aktiviert ist, kann die Bewegungsgeschwindigkeit der Flugtiere angepasst werden. Verhindert Dino Begleiter Bonus Wenn diese Option aktiviert ist, wird der Dino-Paar-Bonus deaktiviert. - Deaktiviere Landung mit Sprengstoff - Wenn aktiviert, wird die Landung des Fliegers deaktiviert, wenn Sprengstoff darauf gelegt wird. Erlaube mehrere C4 Ladungen Wenn aktiviert, können mehr als ein C4 pro Dino geladen werden. Deaktiviere Dino Verfall PvE @@ -1824,8 +1820,6 @@ Aktiviere Strukturzerfall PvE Wenn aktiviert, wird der Zerfall von Spielerstrukturen im PvE aktiviert. - Strukturverfallszeitraum: - Gibt die Zeit an, die Spielerstrukturen benötigen, um im PvE-Modus zu verfallen. Strukturzerfallsmultiplikator: Gibt den Skalierungsfaktor für die Zerfallsrate von Spielerstrukturen im PvE-Modus an. diff --git a/src/ARKServerManager/Globalization/en-US/en-US.xaml b/src/ARKServerManager/Globalization/en-US/en-US.xaml index 90044820..ff1c4631 100644 --- a/src/ARKServerManager/Globalization/en-US/en-US.xaml +++ b/src/ARKServerManager/Globalization/en-US/en-US.xaml @@ -1549,8 +1549,6 @@ Specifies the multiplier for the supply crate loot quality. Fishing Loot Quality Multiplier Specifies the multiplier for the fishing loot quality. - Disable Non-Meat Fish Loot - If enabled, disables harvesting non-meat fish loot. Use Corpse Life Span Multiplier Specifies the multiplier for corpse and dropped box lifespan. Fjordhawk Inventory Cooldown @@ -1770,8 +1768,6 @@ If enabled, allows the leveling of flyer movement speed. Prevent Dino Mate Boost If enabled, the dino mate boost will be disabled. - Disable Force Ground Flyer with Explosives - If enabled, will disable the grounding of the flyer when explosives are put on them. Allow Multiple Attached C4 If enabled, will allow more than one C4 attached per dino. Disable Dino Decay PvE @@ -1980,8 +1976,6 @@ Enable Structure Decay PvE If enabled, enables decay of player structures in PvE. - Structure Decay Period: - Specifies the time required for player structures to decay in PvE mode. Structure Decay Multiplier: Specifies the scaling factor for the decay rate of player structures in PvE mode. diff --git a/src/ARKServerManager/Globalization/es-ES/es-ES.xaml b/src/ARKServerManager/Globalization/es-ES/es-ES.xaml index d872a443..f0a20b4f 100644 --- a/src/ARKServerManager/Globalization/es-ES/es-ES.xaml +++ b/src/ARKServerManager/Globalization/es-ES/es-ES.xaml @@ -1291,8 +1291,6 @@ Especifica el multiplicador para la calidad del botín de los cristales de suministros. Multiplicador de calidad de botín de pesca Especifica el multiplicador para la calidad del botín de pesca. - Desactivar botín sin pescado - Si es activado, desactiva el botín en cosecha sin pescado. Usar multiplicador de vida útil de cadáver Especifica el multiplicador de vida útil para cadáveres y mochilas desechadas. Durabilidad global de batería con alimentación @@ -1459,8 +1457,6 @@ Si es activado, se recupera energía mientras se está parado en el aire. Prevenir estímulo de dinos compañeros Si es activado, el estímulo de grupo será desactivado. - Desactivar aterrizaje forzado de voladores con explosivos - Si es activado, será desactivado el aterrizaje de los dinos voladores si llevan puestos explosivos en ellos. Permitir múltiples C4 unidos Al activas, se permitirá más de un C4 unido por dino. Desactivar deterioro de dinos en JcE @@ -1663,8 +1659,6 @@ Activar deterioro de estructuras en JcE Si es activado, activa el deterioro de estructuras de jugador en JcE. - Periodo de deterioro de estructura: - Especifica el tiempo requerido para que las estructuras de jugadores inicien el deterioro en modo JcE. Multiplicador de deterioro de estructura: Especifica el factor de escala para el ratio de deterioro de estrucutras de jugador en modo JcE. diff --git a/src/ARKServerManager/Globalization/fr-FR/fr-FR.xaml b/src/ARKServerManager/Globalization/fr-FR/fr-FR.xaml index a7a60306..5eeee5ee 100644 --- a/src/ARKServerManager/Globalization/fr-FR/fr-FR.xaml +++ b/src/ARKServerManager/Globalization/fr-FR/fr-FR.xaml @@ -1512,8 +1512,6 @@ Spécifie le multiplicateur pour la qualité du butin des caisses de butin. Multiplicateur de qualité du butin de pêche Spécifie le multiplicateur pour la qualité du butin de pêche. - Désactiver le butin hors viande des poissons - Si activé, désactive la récolte du butin de poisson non-viande. Multiplicateur avant décomposition du cadavre Spécifie le multiplicateur avant décomposition du cadavre et la perte de l'inventaire. Durabilité de la batterie global @@ -1731,8 +1729,6 @@ Si activé, permet le nivau de la vitesse de déplacement des créatures volantes. Empêchez le bonus de couple Si cette option est activée, le le bonus de couple dino sera désactivé. - Désactiver l'entrave au sol des dinos volants avec explosifs - Si activé, désactivera le bloquage des dinos volants au sol lorsque des explosifs sont placés dessus. Autoriser plusieurs C4 attachés Si activé, permettra plus d'un C4 attaché par dino. Désactiver la désintégration Dino PvE @@ -1939,8 +1935,6 @@ Activer la dégradation des structures PvE Si activé, permet la dégradation des structures de joueurs en PvE. - Période de décroissance de la structure: - Spécifie le temps nécessaire pour que les structures du joueur se désintègrent en mode PvE. Multiplicateur de dégradation des structure: Spécifie le facteur d'échelle pour le taux de décompostion des structures de joueur en mode PvE. diff --git a/src/ARKServerManager/Globalization/pt-BR/pt-BR.xaml b/src/ARKServerManager/Globalization/pt-BR/pt-BR.xaml index 585a9bee..e07e9a96 100644 --- a/src/ARKServerManager/Globalization/pt-BR/pt-BR.xaml +++ b/src/ARKServerManager/Globalization/pt-BR/pt-BR.xaml @@ -1545,8 +1545,6 @@ Especifica o multiplicador na qualidade do supply crate loot. Multiplicador de Qualidade na Pesca de Loot Especifica o multiplicador na qualidade de pesca de loot. - Desativar pilhagem de peixe não-carne - Se ativado, desativa a coleta de pilhagem de peixe não-carne. Usa o multiplicador de vida útil nos cadáveres Especifica o multiplicador para o tempo de vida dos cadáver e da caixa de depósito. Tempo de Recarga no Inventário Fjordhawk @@ -1766,8 +1764,6 @@ Se habilitado, permite upar velocidade de movimento do flyer. Desativar Bônus de companheiro Se ativado, Os dinos não receberão o bônus do companheiro, o mesmo não receberá o bônus de 33% de dano de resistência - Desativar força de Explosivos em voadores. - Se ativado, desativará o aterramento dos voadores no chão, quando explosivos forem colocados sobre eles. Permitir Múltiplos C4 Anexados Se habilitado, permitirá mais de um C4 anexado por dino. Desativar decaimento de Dino PvE @@ -1976,8 +1972,6 @@ Ativar Decay de Estrutura PvE Se habilitado, habilita o decaimento das estruturas do jogador em PvE. - Período de decaimento da estrutura: - Especifica o tempo necessário para as estruturas do player decaírem no modo PvE. Multiplicador de Decaimento da Estrutura: Especifica o fator de escala para a taxa de decaimento das estruturas do player no modo PvE. diff --git a/src/ARKServerManager/Globalization/ru-RU/ru-RU.xaml b/src/ARKServerManager/Globalization/ru-RU/ru-RU.xaml index e16aa6f3..dc56fa2d 100644 --- a/src/ARKServerManager/Globalization/ru-RU/ru-RU.xaml +++ b/src/ARKServerManager/Globalization/ru-RU/ru-RU.xaml @@ -1519,8 +1519,6 @@ Множитель для качества добычи в лучах/ящиках (значения от 1 до 5) Качества добычи при рыбалке Множитель для качества добычи с рыбалки (значения от 1 до 5) - Откл. добычу предметов при рыбалке - Если включено, то это отключает добычу предметов (кроме мяса) во время рыбалки. Множитель удаления трупа и дропа Множитель времени до удаления трупов и выброшенных предметов Долговечность заряда батареи @@ -1738,8 +1736,6 @@ Если включено, то позволяет прокачивать скорость полёта. Запретить бонус разнополости Если включено, то бонус разнополости (Dino Mate Boost) будет отключен. - Выкл приземление летающих дино с C4 - Если включено, то отключит приземление летающих динозавров, если на них есть C4. Разрешить множественное присоединение C4 Если включено, то разрешено прикреплять более одного C4 на каждого динозавра. Выкл потерю прав на дино в PvE @@ -1946,8 +1942,6 @@ Вкл. разрушение структур в PvE Если этот параметр включен, структуры в PvE будут автоматически разрушаться если они не использовались какое то время. - Время до разрушения структур: - Определяет время, необходимое для автоматического разрушения структур игрока в режиме PvE. Множитель время разрушения структур: Определяет множитель для автоматического разрушения структур игрока в режиме PvE. diff --git a/src/ARKServerManager/Globalization/tr-TR/tr-TR.xaml b/src/ARKServerManager/Globalization/tr-TR/tr-TR.xaml index 039a4a9e..17147f05 100644 --- a/src/ARKServerManager/Globalization/tr-TR/tr-TR.xaml +++ b/src/ARKServerManager/Globalization/tr-TR/tr-TR.xaml @@ -1512,8 +1512,6 @@ Tedarik sandığı yağma kalitesi için çarpanı belirtir. Balık Tutma Ganimet Kalite Çarpanı Balıkçılık ganimet kalitesi için çarpanı belirtir. - Et Olmayan Balık Yağmasını Devre Dışı Bırak - Etkinleştirilirse, et olmayan balık ganimeti toplamayı devre dışı bırakır. Ceset Ömrü Çarpanı Kullan Ceset ve bırakılan kutu ömrü için çarpanı belirtir. Küresel Güçle Çalışan Pil Dayanıklılığı @@ -1731,8 +1729,6 @@ Etkinleştirilirse, el ilanı hareket hızının dengelenmesine izin verir. Dino Mate Boost'u Önleyin Etkinleştirilirse, dino mate güçlendirme devre dışı bırakılır. - Disable Force Ground Flyer with Explosives - Etkinleştirilirse, üzerlerine patlayıcı yerleştirildiğinde el ilanının topraklanmasını devre dışı bırakır. Birden Çok Ekli C4'e İzin Ver Etkinleştirilirse, dino başına birden fazla C4 eklenmesine izin verir. Dino Decay PvE'yi Devre Dışı Bırak @@ -1939,8 +1935,6 @@ Yapı Bozulmasını Etkinleştir PvE Etkinleştirilirse, PvE'deki oyuncu yapılarının bozulmasını etkinleştirir. - Yapı Bozulma Dönemi: - Oyuncu yapılarının PvE modunda çürümesi için gereken süreyi belirtir. Yapı Bozulması Çarpanı: PvE modunda oyuncu yapılarının bozulma oranı için ölçeklendirme faktörünü belirtir. diff --git a/src/ARKServerManager/Globalization/zh-CN/zh-CN.xaml b/src/ARKServerManager/Globalization/zh-CN/zh-CN.xaml index 7349d377..1a723431 100644 --- a/src/ARKServerManager/Globalization/zh-CN/zh-CN.xaml +++ b/src/ARKServerManager/Globalization/zh-CN/zh-CN.xaml @@ -1533,8 +1533,6 @@ 指定补给箱和宝箱的质量倍数。 钓鱼质量倍数 指定钓鱼获取物品质量的倍数。 - 禁用钓鱼奖励 - 如果启用,钓鱼将不会在获得任何装备和图纸奖励,只有鱼肉。 使用尸体和包裹时间倍数 调整尸体和掉落包裹的存在时间倍数。 维京岛冷却时间(取回背包) @@ -1754,8 +1752,6 @@ 如果启用,允许飞行龙加点. 防止恐龙交配 如果启用,恐龙交配将被禁用。 - 禁用带爆炸物的飞行物强制地面 - 如果启用,当飞行生物上装有炸药时,会使飞行生物的接地失效。(除风神翼龙和双足飞龙以外的飞行单位现被贴上C4后将无法飞行)。 允许恐龙贴多个C4 如果启用,将允许每个恐龙贴多个C4。 禁用PVE恐龙自动放生 @@ -1966,8 +1962,6 @@ 启用PVE建筑过期倒计时 如果启用,使得在PVE玩家建筑过期倒计时。 - 建筑过期时间: - 设置玩家建筑在PvE模式下过期所需的时间。(系统启用一个建筑过期倒计时,计时结束任何玩家可以拆除建筑。) 建筑过期倍数: 设置PvE模式下玩家建筑过期的倍数。(高值增加时间,较低的值减少。) diff --git a/src/ARKServerManager/Lib/ServerProfile.cs b/src/ARKServerManager/Lib/ServerProfile.cs index 5f6b54c1..f897eb29 100644 --- a/src/ARKServerManager/Lib/ServerProfile.cs +++ b/src/ARKServerManager/Lib/ServerProfile.cs @@ -1740,14 +1740,6 @@ namespace ServerManagerTool.Lib set { SetValue(FishingLootQualityMultiplierProperty, value); } } - public static readonly DependencyProperty EnableNoFishLootProperty = DependencyProperty.Register(nameof(EnableNoFishLoot), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false)); - [DataMember] - public bool EnableNoFishLoot - { - get { return (bool)GetValue(EnableNoFishLootProperty); } - set { SetValue(EnableNoFishLootProperty, value); } - } - public static readonly DependencyProperty UseCorpseLifeSpanMultiplierProperty = DependencyProperty.Register(nameof(UseCorpseLifeSpanMultiplier), typeof(float), typeof(ServerProfile), new PropertyMetadata(1.0f)); [IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Rules, WriteIfNotValue = 1.0f)] public float UseCorpseLifeSpanMultiplier @@ -2428,14 +2420,6 @@ namespace ServerManagerTool.Lib set { SetValue(PvEDinoDecayPeriodMultiplierProperty, value); } } - public static readonly DependencyProperty ForceFlyerExplosivesProperty = DependencyProperty.Register(nameof(ForceFlyerExplosives), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false)); - [DataMember] - public bool ForceFlyerExplosives - { - get { return (bool)GetValue(ForceFlyerExplosivesProperty); } - set { SetValue(ForceFlyerExplosivesProperty, value); } - } - public static readonly DependencyProperty AllowMultipleAttachedC4Property = DependencyProperty.Register(nameof(AllowMultipleAttachedC4), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false)); [IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Dinos, ConditionedOn = nameof(AllowMultipleAttachedC4))] public bool AllowMultipleAttachedC4 @@ -3094,14 +3078,6 @@ namespace ServerManagerTool.Lib set { SetValue(EnableStructureDecayPvEProperty, value); } } - public static readonly DependencyProperty PvEStructureDecayDestructionPeriodProperty = DependencyProperty.Register(nameof(PvEStructureDecayDestructionPeriod), typeof(float), typeof(ServerProfile), new PropertyMetadata(0f)); - [IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Structures, ConditionedOn = nameof(EnableStructureDecayPvE))] - public float PvEStructureDecayDestructionPeriod - { - get { return (float)GetValue(PvEStructureDecayDestructionPeriodProperty); } - set { SetValue(PvEStructureDecayDestructionPeriodProperty, value); } - } - public static readonly DependencyProperty PvEStructureDecayPeriodMultiplierProperty = DependencyProperty.Register(nameof(PvEStructureDecayPeriodMultiplier), typeof(float), typeof(ServerProfile), new PropertyMetadata(1.0f)); [IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Structures, ConditionedOn = nameof(EnableStructureDecayPvE))] public float PvEStructureDecayPeriodMultiplier @@ -3936,11 +3912,6 @@ namespace ServerManagerTool.Lib { serverArgs.Append($"?AltSaveDirectoryName={this.AltSaveDirectoryName}"); } - - if (this.ForceFlyerExplosives) - { - serverArgs.Append("?ForceFlyerExplosives=true"); - } if (this.EnableServerAutoForceRespawnWildDinosInterval) { @@ -3993,11 +3964,6 @@ namespace ServerManagerTool.Lib serverArgs.Append(" -AutoDestroyStructures"); } - if (this.EnableNoFishLoot) - { - serverArgs.Append(" -nofishloot"); - } - if (this.KickIdlePlayersPeriod.HasValue) { serverArgs.Append(" -EnableIdlePlayerKick"); @@ -5606,7 +5572,6 @@ namespace ServerManagerTool.Lib this.ClearValue(DisableDinoDecayPvPProperty); this.ClearValue(AutoDestroyDecayedDinosProperty); this.ClearValue(PvEDinoDecayPeriodMultiplierProperty); - this.ClearValue(ForceFlyerExplosivesProperty); this.ClearValue(AllowMultipleAttachedC4Property); this.ClearValue(DisableDinoRidingProperty); @@ -5862,7 +5827,6 @@ namespace ServerManagerTool.Lib this.ClearValue(OxygenSwimSpeedStatMultiplierProperty); this.ClearValue(SupplyCrateLootQualityMultiplierProperty); this.ClearValue(FishingLootQualityMultiplierProperty); - this.ClearValue(EnableNoFishLootProperty); this.ClearValue(UseCorpseLifeSpanMultiplierProperty); this.ClearValue(MinimumTimeBetweenInventoryRetrievalProperty); this.ClearValue(GlobalPoweredBatteryDurabilityDecreasePerSecondProperty); @@ -5962,7 +5926,6 @@ namespace ServerManagerTool.Lib this.ClearValue(FlyerPlatformAllowUnalignedDinoBasingProperty); this.ClearValue(PvEAllowStructuresAtSupplyDropsProperty); this.ClearValue(EnableStructureDecayPvEProperty); - this.ClearValue(PvEStructureDecayDestructionPeriodProperty); this.ClearValue(PvEStructureDecayPeriodMultiplierProperty); this.ClearValue(AutoDestroyOldStructuresMultiplierProperty); this.ClearValue(ForceAllStructureLockingProperty); @@ -6285,7 +6248,6 @@ namespace ServerManagerTool.Lib this.SetValue(DisableDinoDecayPvPProperty, sourceProfile.DisableDinoDecayPvP); this.SetValue(AutoDestroyDecayedDinosProperty, sourceProfile.AutoDestroyDecayedDinos); this.SetValue(PvEDinoDecayPeriodMultiplierProperty, sourceProfile.PvEDinoDecayPeriodMultiplier); - this.SetValue(ForceFlyerExplosivesProperty, sourceProfile.ForceFlyerExplosives); this.SetValue(AllowMultipleAttachedC4Property, sourceProfile.AllowMultipleAttachedC4); this.SetValue(DisableDinoRidingProperty, sourceProfile.DisableDinoRiding); @@ -6605,7 +6567,6 @@ namespace ServerManagerTool.Lib this.SetValue(OxygenSwimSpeedStatMultiplierProperty, sourceProfile.OxygenSwimSpeedStatMultiplier); this.SetValue(SupplyCrateLootQualityMultiplierProperty, sourceProfile.SupplyCrateLootQualityMultiplier); this.SetValue(FishingLootQualityMultiplierProperty, sourceProfile.FishingLootQualityMultiplier); - this.SetValue(EnableNoFishLootProperty, sourceProfile.EnableNoFishLoot); this.SetValue(UseCorpseLifeSpanMultiplierProperty, sourceProfile.UseCorpseLifeSpanMultiplier); this.SetValue(MinimumTimeBetweenInventoryRetrievalProperty, sourceProfile.MinimumTimeBetweenInventoryRetrieval); this.SetValue(GlobalPoweredBatteryDurabilityDecreasePerSecondProperty, sourceProfile.GlobalPoweredBatteryDurabilityDecreasePerSecond); @@ -6721,7 +6682,6 @@ namespace ServerManagerTool.Lib this.SetValue(FlyerPlatformAllowUnalignedDinoBasingProperty, sourceProfile.FlyerPlatformAllowUnalignedDinoBasing); this.SetValue(PvEAllowStructuresAtSupplyDropsProperty, sourceProfile.PvEAllowStructuresAtSupplyDrops); this.SetValue(EnableStructureDecayPvEProperty, sourceProfile.EnableStructureDecayPvE); - this.SetValue(PvEStructureDecayDestructionPeriodProperty, sourceProfile.PvEStructureDecayDestructionPeriod); this.SetValue(PvEStructureDecayPeriodMultiplierProperty, sourceProfile.PvEStructureDecayPeriodMultiplier); this.SetValue(AutoDestroyOldStructuresMultiplierProperty, sourceProfile.AutoDestroyOldStructuresMultiplier); this.SetValue(ForceAllStructureLockingProperty, sourceProfile.ForceAllStructureLocking); diff --git a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml index bc64e3ed..82e44a56 100644 --- a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml +++ b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml @@ -1869,18 +1869,16 @@ - + - + + + - - - + - - - - + + @@ -2609,8 +2607,7 @@ - - + @@ -3475,7 +3472,6 @@ - From 0d1aff213bb2a4add5101aea6947c89bdf40306e Mon Sep 17 00:00:00 2001 From: Lacoi Date: Wed, 2 Aug 2023 17:19:22 +0200 Subject: [PATCH 4/9] asm update default options --- src/ARKServerManager/Lib/ServerProfile.cs | 10 +++++----- .../Lib/ViewConverters/TributeExpirationConverter.cs | 4 ++-- .../UserControls/ServerSettingsControl.xaml | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ARKServerManager/Lib/ServerProfile.cs b/src/ARKServerManager/Lib/ServerProfile.cs index f897eb29..1eff4e29 100644 --- a/src/ARKServerManager/Lib/ServerProfile.cs +++ b/src/ARKServerManager/Lib/ServerProfile.cs @@ -573,7 +573,7 @@ namespace ServerManagerTool.Lib set { SetValue(NotifyAdminCommandsInChatProperty, value); } } - public static readonly DependencyProperty MaxTribeLogsProperty = DependencyProperty.Register(nameof(MaxTribeLogs), typeof(int), typeof(ServerProfile), new PropertyMetadata(100)); + public static readonly DependencyProperty MaxTribeLogsProperty = DependencyProperty.Register(nameof(MaxTribeLogs), typeof(int), typeof(ServerProfile), new PropertyMetadata(400)); [IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Administration)] public int MaxTribeLogs { @@ -1309,7 +1309,7 @@ namespace ServerManagerTool.Lib set { SetValue(PreventUploadDinosProperty, value); } } - public static readonly DependencyProperty MaxTributeDinosProperty = DependencyProperty.Register(nameof(MaxTributeDinos), typeof(NullableValue), typeof(ServerProfile), new PropertyMetadata(new NullableValue(false, 50))); + public static readonly DependencyProperty MaxTributeDinosProperty = DependencyProperty.Register(nameof(MaxTributeDinos), typeof(NullableValue), typeof(ServerProfile), new PropertyMetadata(new NullableValue(false, 20))); [IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Rules)] public NullableValue MaxTributeDinos { @@ -1748,7 +1748,7 @@ namespace ServerManagerTool.Lib set { SetValue(UseCorpseLifeSpanMultiplierProperty, value); } } - public static readonly DependencyProperty GlobalPoweredBatteryDurabilityDecreasePerSecondProperty = DependencyProperty.Register(nameof(GlobalPoweredBatteryDurabilityDecreasePerSecond), typeof(float), typeof(ServerProfile), new PropertyMetadata(4.0f)); + public static readonly DependencyProperty GlobalPoweredBatteryDurabilityDecreasePerSecondProperty = DependencyProperty.Register(nameof(GlobalPoweredBatteryDurabilityDecreasePerSecond), typeof(float), typeof(ServerProfile), new PropertyMetadata(3.0f)); [IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Rules, WriteIfNotValue = 4.0f)] public float GlobalPoweredBatteryDurabilityDecreasePerSecond { @@ -1876,7 +1876,7 @@ namespace ServerManagerTool.Lib set { SetValue(EnableCryoSicknessPVEProperty, value); } } - public static readonly DependencyProperty MaxHexagonsPerCharacterProperty = DependencyProperty.Register(nameof(MaxHexagonsPerCharacter), typeof(int), typeof(ServerProfile), new PropertyMetadata(2500000)); + public static readonly DependencyProperty MaxHexagonsPerCharacterProperty = DependencyProperty.Register(nameof(MaxHexagonsPerCharacter), typeof(int), typeof(ServerProfile), new PropertyMetadata(2000000000)); [IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Rules)] public int MaxHexagonsPerCharacter { @@ -2444,7 +2444,7 @@ namespace ServerManagerTool.Lib set { SetValue(DisableDinoTamingProperty, value); } } - public static readonly DependencyProperty MaxTamedDinosProperty = DependencyProperty.Register(nameof(MaxTamedDinos), typeof(int), typeof(ServerProfile), new PropertyMetadata(4000)); + public static readonly DependencyProperty MaxTamedDinosProperty = DependencyProperty.Register(nameof(MaxTamedDinos), typeof(int), typeof(ServerProfile), new PropertyMetadata(5000)); [IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Dinos)] public int MaxTamedDinos { diff --git a/src/ARKServerManager/Lib/ViewConverters/TributeExpirationConverter.cs b/src/ARKServerManager/Lib/ViewConverters/TributeExpirationConverter.cs index b736fa4e..741df9fd 100644 --- a/src/ARKServerManager/Lib/ViewConverters/TributeExpirationConverter.cs +++ b/src/ARKServerManager/Lib/ViewConverters/TributeExpirationConverter.cs @@ -6,8 +6,8 @@ namespace ServerManagerTool.Lib.ViewModel { public class TributeExpirationConverter : IValueConverter { - public const int MIN_VALUE = 1; - public const int MAX_VALUE = 20000; + public const int MIN_VALUE = 0; + public const int MAX_VALUE = 525600; public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { diff --git a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml index 82e44a56..14549d7f 100644 --- a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml +++ b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml @@ -2206,7 +2206,7 @@ - + From 3e5ef04045368fadc90c76b3d71ab76ebf416f7b Mon Sep 17 00:00:00 2001 From: Lacoi Date: Wed, 2 Aug 2023 17:58:43 +0200 Subject: [PATCH 5/9] asm remove options from profil sync and add global option to enable them again --- src/ARKServerManager/App.config | 9 ++++ src/ARKServerManager/Config.Designer.cs | 45 +++++++++++++++++++ .../Globalization/en-US/en-US.xaml | 8 ++++ src/ARKServerManager/Lib/ServerProfile.cs | 25 ++++++++--- .../UserControls/GlobalSettingsControl.xaml | 28 ++++++++++-- .../UserControls/ServerSettingsControl.xaml | 36 +++++++-------- 6 files changed, 124 insertions(+), 27 deletions(-) diff --git a/src/ARKServerManager/App.config b/src/ARKServerManager/App.config index f771f5ed..046e242e 100644 --- a/src/ARKServerManager/App.config +++ b/src/ARKServerManager/App.config @@ -915,6 +915,15 @@ + + False + + + False + + + False + diff --git a/src/ARKServerManager/Config.Designer.cs b/src/ARKServerManager/Config.Designer.cs index f7cffc57..15319015 100644 --- a/src/ARKServerManager/Config.Designer.cs +++ b/src/ARKServerManager/Config.Designer.cs @@ -3256,5 +3256,50 @@ namespace ServerManagerTool { this["TaskSchedulerPassword"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool ProfileSyncServerModIdsEnabled + { + get + { + return ((bool)(this["ProfileSyncServerModIdsEnabled"])); + } + set + { + this["ProfileSyncServerModIdsEnabled"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool ProfileSyncCrossArkClusterIdEnabled + { + get + { + return ((bool)(this["ProfileSyncCrossArkClusterIdEnabled"])); + } + set + { + this["ProfileSyncCrossArkClusterIdEnabled"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool ProfileSyncAutoShutdownEnabled + { + get + { + return ((bool)(this["ProfileSyncAutoShutdownEnabled"])); + } + set + { + this["ProfileSyncAutoShutdownEnabled"] = value; + } + } } } diff --git a/src/ARKServerManager/Globalization/en-US/en-US.xaml b/src/ARKServerManager/Globalization/en-US/en-US.xaml index ff1c4631..e2a91459 100644 --- a/src/ARKServerManager/Globalization/en-US/en-US.xaml +++ b/src/ARKServerManager/Globalization/en-US/en-US.xaml @@ -592,6 +592,14 @@ If enabled, the SotF settings will be managed by the server manager. WARNING: While any of these options are disabled, the server manager will not read or write the associated overrides settings. Re-enabling any of these options will cause ALL existing associated overrides to be removed from the config file. + Custom Profile Sync Options + Enable Sync for ModIDs + If enabled, on profile sync the ModIDs are still synced. + Enable Sync for ClusterID + If enabled, on profile sync the ClusterID is still synced. + Enable Sync for Auto Shutdown Time + If enabled, on profile sync the Auto Shutdown Time Settings are still synced. + Custom Level Options Player Level Increase: The amount of XP to be increased when adding a new custom level. diff --git a/src/ARKServerManager/Lib/ServerProfile.cs b/src/ARKServerManager/Lib/ServerProfile.cs index 1eff4e29..53178029 100644 --- a/src/ARKServerManager/Lib/ServerProfile.cs +++ b/src/ARKServerManager/Lib/ServerProfile.cs @@ -6071,7 +6071,10 @@ namespace ServerManagerTool.Lib private void SyncAdministrationSection(ServerProfile sourceProfile) { - //this.SetValue(ServerModIdsProperty, sourceProfile.ServerModIds); + if (Config.Default.ProfileSyncServerModIdsEnabled) + { + this.SetValue(ServerModIdsProperty, sourceProfile.ServerModIds); + } this.SetValue(AutoSavePeriodMinutesProperty, sourceProfile.AutoSavePeriodMinutes); @@ -6111,7 +6114,11 @@ namespace ServerManagerTool.Lib this.SetValue(EnablePublicIPForEpicProperty, sourceProfile.EnablePublicIPForEpic); this.SetValue(OutputServerLogProperty, sourceProfile.OutputServerLog); //this.SetValue(AltSaveDirectoryNameProperty, sourceProfile.AltSaveDirectoryName); - this.SetValue(CrossArkClusterIdProperty, sourceProfile.CrossArkClusterId); + if (Config.Default.ProfileSyncCrossArkClusterIdEnabled) + { + this.SetValue(CrossArkClusterIdProperty, sourceProfile.CrossArkClusterId); + this.SetValue(ClusterDirOverrideProperty, sourceProfile.ClusterDirOverride); + } this.SetValue(ClusterDirOverrideProperty, sourceProfile.ClusterDirOverride); this.SetValue(SecureSendArKPayloadProperty, sourceProfile.SecureSendArKPayload); this.SetValue(UseItemDupeCheckProperty, sourceProfile.UseItemDupeCheck); @@ -6151,14 +6158,20 @@ namespace ServerManagerTool.Lib this.SetValue(AutoStartOnLoginProperty, sourceProfile.AutoStartOnLogin); this.SetValue(EnableAutoShutdown1Property, sourceProfile.EnableAutoShutdown1); - this.SetValue(AutoShutdownTime1Property, sourceProfile.AutoShutdownTime1); - this.SetValue(ShutdownDaysOfTheWeek1Property, sourceProfile.ShutdownDaysOfTheWeek1); + if (Config.Default.ProfileSyncAutoShutdownEnabled) + { + this.SetValue(AutoShutdownTime1Property, sourceProfile.AutoShutdownTime1); + this.SetValue(ShutdownDaysOfTheWeek1Property, sourceProfile.ShutdownDaysOfTheWeek1); + } this.SetValue(RestartAfterShutdown1Property, sourceProfile.RestartAfterShutdown1); this.SetValue(UpdateAfterShutdown1Property, sourceProfile.UpdateAfterShutdown1); this.SetValue(EnableAutoShutdown2Property, sourceProfile.EnableAutoShutdown2); - this.SetValue(AutoShutdownTime2Property, sourceProfile.AutoShutdownTime2); - this.SetValue(ShutdownDaysOfTheWeek2Property, sourceProfile.ShutdownDaysOfTheWeek2); + if (Config.Default.ProfileSyncAutoShutdownEnabled) + { + this.SetValue(AutoShutdownTime2Property, sourceProfile.AutoShutdownTime2); + this.SetValue(ShutdownDaysOfTheWeek2Property, sourceProfile.ShutdownDaysOfTheWeek2); + } this.SetValue(RestartAfterShutdown2Property, sourceProfile.RestartAfterShutdown2); this.SetValue(UpdateAfterShutdown2Property, sourceProfile.UpdateAfterShutdown2); diff --git a/src/ARKServerManager/UserControls/GlobalSettingsControl.xaml b/src/ARKServerManager/UserControls/GlobalSettingsControl.xaml index 95d120ad..12972666 100644 --- a/src/ARKServerManager/UserControls/GlobalSettingsControl.xaml +++ b/src/ARKServerManager/UserControls/GlobalSettingsControl.xaml @@ -266,6 +266,28 @@ + + + + + + + + + + + + + + + + + + + + + @@ -285,7 +307,7 @@ - + @@ -306,7 +328,7 @@ - + @@ -328,7 +350,7 @@ - + diff --git a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml index 14549d7f..f0d40213 100644 --- a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml +++ b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml @@ -1102,9 +1102,9 @@ + @@ -6093,6 +6151,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs index 26e04c4f..ceaee7f0 100644 --- a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs +++ b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs @@ -20,6 +20,7 @@ using System.IO; using System.Linq; using System.Reflection; using System.Text; +using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using System.Windows; @@ -53,6 +54,7 @@ namespace ServerManagerTool public static readonly DependencyProperty BaseEventsProperty = DependencyProperty.Register(nameof(BaseEvents), typeof(ComboBoxItemList), typeof(ServerSettingsControl), new PropertyMetadata(null)); public static readonly DependencyProperty BetaVersionProperty = DependencyProperty.Register(nameof(BetaVersion), typeof(bool), typeof(ServerSettingsControl), new PropertyMetadata(false)); public static readonly DependencyProperty ConfigProperty = DependencyProperty.Register(nameof(Config), typeof(Config), typeof(ServerSettingsControl)); + public static readonly DependencyProperty CultureProperty = DependencyProperty.Register(nameof(Culture), typeof(ComboBoxItemList), typeof(ServerSettingsControl), new PropertyMetadata(null)); public static readonly DependencyProperty IsAdministratorProperty = DependencyProperty.Register(nameof(IsAdministrator), typeof(bool), typeof(ServerSettingsControl), new PropertyMetadata(false)); public static readonly DependencyProperty NetworkInterfacesProperty = DependencyProperty.Register(nameof(NetworkInterfaces), typeof(List), typeof(ServerSettingsControl), new PropertyMetadata(new List())); public static readonly DependencyProperty RuntimeProperty = DependencyProperty.Register(nameof(Runtime), typeof(ServerRuntime), typeof(ServerSettingsControl)); @@ -159,6 +161,12 @@ namespace ServerManagerTool set { SetValue(ConfigProperty, value); } } + public ComboBoxItemList Culture + { + get { return (ComboBoxItemList)GetValue(CultureProperty); } + set { SetValue(CultureProperty, value); } + } + public bool IsAdministrator { get { return (bool)GetValue(IsAdministratorProperty); } @@ -364,6 +372,7 @@ namespace ServerManagerTool this.RefreshBaseSupplyCrateList(); this.RefreshBaseGameMapsList(); this.RefreshBaseTotalConversionsList(); + this.RefreshCultureList(); this.RefreshBaseBranchesList(); this.RefreshBaseEventsList(); this.RefreshProcessPrioritiesList(); @@ -374,6 +383,7 @@ namespace ServerManagerTool this.Settings.ConfigOverrideItemCraftingCosts.Update(); this.Settings.ConfigOverrideItemMaxQuantity.Update(); this.Settings.ConfigOverrideSupplyCrateItems.Update(); + this.Settings.ExcludeItemIndices.Update(); this.Settings.NPCSpawnSettings.Update(); this.Settings.PreventTransferForClassNames.Update(); } @@ -398,6 +408,7 @@ namespace ServerManagerTool ssc.RefreshBaseSupplyCrateList(); ssc.RefreshBaseGameMapsList(); ssc.RefreshBaseTotalConversionsList(); + ssc.RefreshCultureList(); ssc.RefreshBaseBranchesList(); ssc.RefreshBaseEventsList(); ssc.RefreshProcessPrioritiesList(); @@ -1385,6 +1396,11 @@ namespace ServerManagerTool Settings.ConfigOverrideSupplyCrateItems.Update(); } + private void ExcludeItemIndicesOverrideGrids_SourceUpdated(object sender, DataTransferEventArgs e) + { + Settings.ExcludeItemIndices.Update(); + } + private void CraftingOverrideGrids_SourceUpdated(object sender, DataTransferEventArgs e) { Settings.ConfigOverrideItemCraftingCosts.Update(); @@ -1454,6 +1470,11 @@ namespace ServerManagerTool Server.Profile.PreventDinoTameClassNames.AddRange(preventDinoTameClassNames); Server.Profile.PreventDinoTameClassNames.IsEnabled |= preventDinoTameClassNames.IsEnabled; + var preventBreedingForClassNames = new StringIniValueList(nameof(Server.Profile.PreventBreedingForClassNames), null); + preventBreedingForClassNames.FromIniValues(section.KeysToStringEnumerable().Where(s => s.StartsWith($"{preventBreedingForClassNames.IniCollectionKey}="))); + Server.Profile.PreventBreedingForClassNames.AddRange(preventBreedingForClassNames); + Server.Profile.PreventBreedingForClassNames.IsEnabled |= preventBreedingForClassNames.IsEnabled; + var npcReplacements = new AggregateIniValueList(nameof(Server.Profile.NPCReplacements), null); npcReplacements.FromIniValues(section.KeysToStringEnumerable().Where(s => s.StartsWith($"{npcReplacements.IniCollectionKey}="))); Server.Profile.NPCReplacements.AddRange(npcReplacements); @@ -1480,7 +1501,7 @@ namespace ServerManagerTool Server.Profile.DinoClassResistanceMultipliers.IsEnabled |= dinoClassResistanceMultipliers.IsEnabled; } - Server.Profile.DinoSettings = new DinoSettingsList(Server.Profile.DinoSpawnWeightMultipliers, Server.Profile.PreventDinoTameClassNames, Server.Profile.NPCReplacements, Server.Profile.TamedDinoClassDamageMultipliers, Server.Profile.TamedDinoClassResistanceMultipliers, Server.Profile.DinoClassDamageMultipliers, Server.Profile.DinoClassResistanceMultipliers); + Server.Profile.DinoSettings = new DinoSettingsList(Server.Profile.DinoSpawnWeightMultipliers, Server.Profile.PreventDinoTameClassNames, Server.Profile.PreventBreedingForClassNames, Server.Profile.NPCReplacements, Server.Profile.TamedDinoClassDamageMultipliers, Server.Profile.TamedDinoClassResistanceMultipliers, Server.Profile.DinoClassDamageMultipliers, Server.Profile.DinoClassResistanceMultipliers); Server.Profile.DinoSettings.RenderToView(); RefreshBaseDinoList(); @@ -1506,6 +1527,7 @@ namespace ServerManagerTool var iniValues = new List(); iniValues.AddRange(Settings.DinoSpawnWeightMultipliers.ToIniValues()); iniValues.AddRange(Settings.PreventDinoTameClassNames.ToIniValues()); + iniValues.AddRange(Settings.PreventBreedingForClassNames.ToIniValues()); iniValues.AddRange(Settings.NPCReplacements.ToIniValues()); iniValues.AddRange(Settings.DinoClassDamageMultipliers.ToIniValues()); iniValues.AddRange(Settings.DinoClassResistanceMultipliers.ToIniValues()); @@ -3349,6 +3371,109 @@ namespace ServerManagerTool } #endregion + #region Exclude Item Indices Overrides + private void AddExcludeItemIndicesOverride_Click(object sender, RoutedEventArgs e) + { + Settings.ExcludeItemIndices.Add(new ExcludeItemIndicesOverride()); + Settings.ExcludeItemIndices.Update(); + } + + private void ClearExcludeItemIndicesOverrides_Click(object sender, RoutedEventArgs e) + { + if (MessageBox.Show(_globalizer.GetResourceString("ServerSettings_ClearLabel"), _globalizer.GetResourceString("ServerSettings_ClearTitle"), MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes) + return; + + Settings.ExcludeItemIndices.Clear(); + Settings.ExcludeItemIndices.Update(); + } + + private void PasteExcludeItemIndicesOverride_Click(object sender, RoutedEventArgs e) + { + var window = new CustomConfigDataWindow(); + window.Owner = Window.GetWindow(this); + window.Closed += Window_Closed; + var result = window.ShowDialog(); + + if (!result.HasValue || !result.Value) + return; + + // read the pasted data into an ini file. + var iniFile = IniFileUtils.ReadString(window.ConfigData.Replace(" ", "")); + + Server.Profile.ExcludeItemIndices.RenderToModel(); + + // cycle through the sections, adding them to the list. Will bypass any sections that are named as per the ARK default sections. + foreach (var section in iniFile.Sections.Where(s => s.SectionName != null && !SystemIniFile.IniSectionNames.ContainsValue(s.SectionName))) + { + var excludeItemIndices = new AggregateIniValueList(nameof(Server.Profile.ExcludeItemIndices), null); + excludeItemIndices.FromIniValues(section.KeysToStringEnumerable().Where(s => s.StartsWith($"{excludeItemIndices.IniCollectionKey}="))); + Server.Profile.ExcludeItemIndices.AddRange(excludeItemIndices); + Server.Profile.ExcludeItemIndices.IsEnabled |= excludeItemIndices.IsEnabled; + } + + var errors = Server.Profile.ExcludeItemIndices.RenderToView(); + + RefreshBaseDinoList(); + + if (errors.Any()) + { + var error = $"The following errors have been found:\r\n\r\n{string.Join("\r\n", errors)}"; + + var window2 = new CommandLineWindow(error); + window2.OutputTextWrapping = TextWrapping.NoWrap; + window2.Height = 500; + window2.Title = "Import Errors"; + window2.Owner = Window.GetWindow(this); + window2.ShowDialog(); + } + } + + private void RemoveExcludeItemIndicesOverrideItem_Click(object sender, RoutedEventArgs e) + { + if (MessageBox.Show(_globalizer.GetResourceString("ServerSettings_DeleteLabel"), _globalizer.GetResourceString("ServerSettings_DeleteTitle"), MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes) + return; + + var item = ((ExcludeItemIndicesOverride)((Button)e.Source).DataContext); + Settings.ExcludeItemIndices.Remove(item); + Settings.ExcludeItemIndices.Update(); + } + + private void SaveExcludeItemIndicesOverride_Click(object sender, RoutedEventArgs e) + { + Settings.ExcludeItemIndices.RenderToModel(); + + var iniValues = new List(); + iniValues.AddRange(Settings.ExcludeItemIndices.ToIniValues()); + var iniValue = string.Join("\r\n", iniValues); + + var window = new CommandLineWindow(iniValue); + window.OutputTextWrapping = TextWrapping.NoWrap; + window.Height = 500; + window.Title = _globalizer.GetResourceString("ServerSettings_ExcludeItemIndicesOverrides_SaveTitle"); + window.Owner = Window.GetWindow(this); + window.ShowDialog(); + } + + private void SaveExcludeItemIndicesOverrideItem_Click(object sender, RoutedEventArgs e) + { + var item = ((ExcludeItemIndicesOverride)((Button)e.Source).DataContext); + if (item == null) + return; + + Settings.ExcludeItemIndices.RenderToModel(); + + var iniName = Settings.ExcludeItemIndices.IniCollectionKey; + var iniValue = $"{iniName}={item.ToINIValue()}"; + + var window = new CommandLineWindow(iniValue); + window.OutputTextWrapping = TextWrapping.Wrap; + window.Height = 500; + window.Title = _globalizer.GetResourceString("ServerSettings_ExcludeItemIndicesOverrides_SaveTitle"); + window.Owner = Window.GetWindow(this); + window.ShowDialog(); + } + #endregion + #region Stack Size Overrides private void AddStackSizeOverride_Click(object sender, RoutedEventArgs e) { @@ -3564,6 +3689,24 @@ namespace ServerManagerTool GlobalizedApplication.Instance.GlobalizationManager.ResourceDictionaryChangedEvent -= ResourceDictionaryChangedEvent; } + public void RefreshCultureList() + { + var newList = new ComboBoxItemList(); + + string[] culture = { "ca", "cs", "da", "de", "en", "es", "eu", "fi", "fr", "hu", "it", "ja", "ka", "ko", "nl", "pl", "pt_BR", "ru", "sv", "th", "tr", "zh", "zh-Hans-CN", "zh-TW" }; + foreach (var lang in culture) + { + newList.Add(new Common.Model.ComboBoxItem + { + DisplayMember = lang, + ValueMember = lang, + }); + } + + this.Culture = newList; + this.CultureComboBox.SelectedValue = this.Settings.Culture; + } + public void RefreshBaseDinoModList() { var selectedValue = SelectedModDino; @@ -4138,6 +4281,7 @@ namespace ServerManagerTool this.Settings.ResetAdministrationSection(); RefreshBaseGameMapsList(); RefreshBaseTotalConversionsList(); + RefreshCultureList(); RefreshBaseBranchesList(); RefreshBaseEventsList(); RefreshProcessPrioritiesList(); @@ -4213,6 +4357,11 @@ namespace ServerManagerTool RefreshBasePrimalItemList(); break; + case ServerSettingsResetAction.ExcludeItemIndicesOverridesSection: + this.Settings.ResetExcludeItemIndicesOverridesSection(); + RefreshBasePrimalItemList(); + break; + case ServerSettingsResetAction.StackSizeOverridesSection: this.Settings.ResetStackSizeOverridesSection(); RefreshBasePrimalItemList(); @@ -4364,6 +4513,7 @@ namespace ServerManagerTool RefreshBaseSupplyCrateList(); RefreshBaseGameMapsList(); RefreshBaseTotalConversionsList(); + RefreshCultureList(); RefreshBaseBranchesList(); RefreshBaseEventsList(); RefreshProcessPrioritiesList(); diff --git a/src/ARKServerManager/Windows/ProfileSyncWindow.xaml.cs b/src/ARKServerManager/Windows/ProfileSyncWindow.xaml.cs index 3b468bc9..64ed9f8a 100644 --- a/src/ARKServerManager/Windows/ProfileSyncWindow.xaml.cs +++ b/src/ARKServerManager/Windows/ProfileSyncWindow.xaml.cs @@ -238,6 +238,8 @@ namespace ServerManagerTool SyncSections.Add(new SyncSection() { Selected = false, Category = ServerProfileCategory.MapSpawnerOverrides, SectionName = _globalizer.GetResourceString("ServerSettings_MapSpawnerOverridesLabel") }); if (Config.Default.SectionSupplyCrateOverridesEnabled) SyncSections.Add(new SyncSection() { Selected = false, Category = ServerProfileCategory.SupplyCrateOverrides, SectionName = _globalizer.GetResourceString("ServerSettings_SupplyCrateOverridesLabel") }); + if (Config.Default.SectionExcludeItemIndicesOverridesEnabled) + SyncSections.Add(new SyncSection() { Selected = false, Category = ServerProfileCategory.ExcludeItemIndicesOverrides, SectionName = _globalizer.GetResourceString("ServerSettings_ExcludeItemIndicesOverridesLabel") }); if (Config.Default.SectionStackSizeOverridesEnabled) SyncSections.Add(new SyncSection() { Selected = false, Category = ServerProfileCategory.StackSizeOverrides, SectionName = _globalizer.GetResourceString("ServerSettings_StackSizeOverridesLabel") }); if (Config.Default.SectionPreventTransferOverridesEnabled) diff --git a/src/ServerManager.Common/Converters/Int64RangeValueConverter.cs b/src/ServerManager.Common/Converters/Int64RangeValueConverter.cs new file mode 100644 index 00000000..73a23c9e --- /dev/null +++ b/src/ServerManager.Common/Converters/Int64RangeValueConverter.cs @@ -0,0 +1,62 @@ +using System; +using System.Globalization; +using System.Windows.Data; +using System.Windows.Markup; + +namespace ServerManagerTool.Common.Converters +{ + public class Int64RangeValueConverter : MarkupExtension, IValueConverter + { + public const string DEFAULT_CULTURE_CODE = "en-US"; + protected Int64 MinValue { get; set; } + protected Int64 MaxValue { get; set; } + + public Int64RangeValueConverter() + { + MinValue = Int64.MinValue; + MaxValue = Int64.MaxValue; + } + + public Int64RangeValueConverter(Int64 minValue) + { + MinValue = minValue; + MaxValue = Int64.MaxValue; + } + + public Int64RangeValueConverter(Int64 minValue, Int64 maxValue) + { + MinValue = minValue; + MaxValue = maxValue; + } + + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + var scaledValue = System.Convert.ToInt64(value); + + var sliderValue = scaledValue; + sliderValue = Math.Max(MinValue, sliderValue); + sliderValue = Math.Min(MaxValue, sliderValue); + return sliderValue; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value is null || value.ToString() == string.Empty) + return default; + + if (!Int64.TryParse(value.ToString(), NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, CultureInfo.GetCultureInfo(DEFAULT_CULTURE_CODE), out Int64 sliderValue)) + return default; + + sliderValue = Math.Max(MinValue, sliderValue); + sliderValue = Math.Min(MaxValue, sliderValue); + + var scaledValue = sliderValue; + return scaledValue; + } + + public override object ProvideValue(IServiceProvider serviceProvider) + { + return this; + } + } +} From 64c55f3f322d1c38393ed85fa461fa5e48c74870 Mon Sep 17 00:00:00 2001 From: Lacoi Date: Mon, 21 Aug 2023 15:37:10 +0200 Subject: [PATCH 7/9] bugfix: empty quoted string are not written properly --- .../Serialization/BaseSystemIniFile.cs | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/ServerManager.Common/Serialization/BaseSystemIniFile.cs b/src/ServerManager.Common/Serialization/BaseSystemIniFile.cs index b8dec04a..7c5e6502 100644 --- a/src/ServerManager.Common/Serialization/BaseSystemIniFile.cs +++ b/src/ServerManager.Common/Serialization/BaseSystemIniFile.cs @@ -1,5 +1,6 @@ using ServerManagerTool.Common.Attibutes; using ServerManagerTool.Common.Enums; +using ServerManagerTool.Common.Extensions; using ServerManagerTool.Common.Interfaces; using ServerManagerTool.Common.Utils; using System; @@ -349,11 +350,20 @@ namespace ServerManagerTool.Common.Serialization if (attr.QuotedString == QuotedStringType.True) { - // add the leading and trailing quotes, if not already have them. - if (!strValue.StartsWith("\"")) - strValue = "\"" + strValue; - if (!strValue.EndsWith("\"")) - strValue = strValue + "\""; + // if the stValue is empty, return empty quoted string (parsing not needed) + // bug fix for 'property="' on a empty string + if (strValue.IsEmpty()) + { + strValue = "\"\""; + } + else + { + // add the leading and trailing quotes, if not already have them. + if (!strValue.StartsWith("\"")) + strValue = "\"" + strValue; + if (!strValue.EndsWith("\"")) + strValue = strValue + "\""; + } } else if (attr.QuotedString == QuotedStringType.Remove) { From 43f11899cb913f3bbc043437851862103db8c973 Mon Sep 17 00:00:00 2001 From: Lacoi Date: Mon, 21 Aug 2023 15:38:02 +0200 Subject: [PATCH 8/9] asm: last fixes for some settings --- src/ARKServerManager/Lib/ServerProfile.cs | 6 +++--- .../UserControls/ServerSettingsControl.xaml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ARKServerManager/Lib/ServerProfile.cs b/src/ARKServerManager/Lib/ServerProfile.cs index 39070be2..ce4821bd 100644 --- a/src/ARKServerManager/Lib/ServerProfile.cs +++ b/src/ARKServerManager/Lib/ServerProfile.cs @@ -1839,7 +1839,7 @@ namespace ServerManagerTool.Lib } public static readonly DependencyProperty RandomSupplyCratePointsProperty = DependencyProperty.Register(nameof(RandomSupplyCratePoints), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false)); - [IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Rules)] + [IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Rules)] public bool RandomSupplyCratePoints { get { return (bool)GetValue(RandomSupplyCratePointsProperty); } @@ -2175,7 +2175,7 @@ namespace ServerManagerTool.Lib } public static readonly DependencyProperty EnablePlayerJoinedNotificationsProperty = DependencyProperty.Register(nameof(EnablePlayerJoinedNotifications), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false)); - [IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.ChatAndNotifications, "alwaysNotifyPlayerJoined")] + [IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.ChatAndNotifications, "DontAlwaysNotifyPlayerJoined")] public bool EnablePlayerJoinedNotifications { get { return (bool)GetValue(EnablePlayerJoinedNotificationsProperty); } @@ -2414,7 +2414,7 @@ namespace ServerManagerTool.Lib set { SetValue(DinoCharacterHealthRecoveryMultiplierProperty, value); } } - public static readonly DependencyProperty DinoHarvestingDamageMultiplierProperty = DependencyProperty.Register(nameof(DinoHarvestingDamageMultiplier), typeof(float), typeof(ServerProfile), new PropertyMetadata(3.0f)); + public static readonly DependencyProperty DinoHarvestingDamageMultiplierProperty = DependencyProperty.Register(nameof(DinoHarvestingDamageMultiplier), typeof(float), typeof(ServerProfile), new PropertyMetadata(3.2f)); [IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Dinos, WriteIfNotValue = 3.0f)] public float DinoHarvestingDamageMultiplier { diff --git a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml index e6e510d3..adfc6a2e 100644 --- a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml +++ b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml @@ -1881,6 +1881,7 @@ + @@ -1984,7 +1985,6 @@ - @@ -2382,7 +2382,7 @@ - + From 801d927417dd284740b0aee2ea3c2a6b62043d1d Mon Sep 17 00:00:00 2001 From: Lacoi Date: Mon, 21 Aug 2023 15:39:29 +0200 Subject: [PATCH 9/9] update asm version feed --- src/ARKServerManager/VersionFeed.xml | 45 ++++++++++++++++++++++-- src/ARKServerManager/VersionFeedBeta.xml | 29 ++++++++++----- 2 files changed, 63 insertions(+), 11 deletions(-) diff --git a/src/ARKServerManager/VersionFeed.xml b/src/ARKServerManager/VersionFeed.xml index 3e5975ce..ad0f71a5 100644 --- a/src/ARKServerManager/VersionFeed.xml +++ b/src/ARKServerManager/VersionFeed.xml @@ -5,7 +5,48 @@ Ark Server Manager Version Feed This is the Ark Server Manager release version feed. - 2023-06-22T00:00:00Z + 2023-08-21T00:00:00Z + + + + 1.1.444 (1.1.444.1) + 1.1.444.1 + + 2023-08-21T00:00:00Z + +
+

+ BUGFIX +
+

    +
  • Chat and Notifications - fix setting for "Enable 'Player Joined' Notifications"
  • +
+ CHANGE +
+
    +
  • ASM Options - add setting to reenable ModIDs, CluserID and AutoShutdown Timer sync
  • +
  • Global - remove deprecated settings.
  • +
  • Global - add global info, if Steam WebApiKey is missing.
  • +
  • Administration - remove CluserID from profile sync.
  • +
  • Administration - add settings: CustomDynamicConfigUrl, CustomLiveTuningUrl, UseStructureStasisGrid, Culture
  • +
  • Administration - change default value for MaxTribeLogs
  • +
  • Automatic Management - remove AutoShutdown Timer from profile sync.
  • +
  • Rules - add settings: AllowCaveBuildingPvP, DisableRailgunPVP, DisableCustomFoldersInTributeInventories, AdjustableMutagenSpawnDelayMultiplier, bUseSingleplayerSettings
  • +
  • Rules - change default value for MaxTributeDinos, GlobalPoweredBatteryDurabilityDecreasePerSecond, MaxHexagonsPerCharacter
  • +
  • Structures - add settings: IgnoreLimitMaxStructuresInRangeTypeFlag, bIgnoreStructuresPreventionVolumes
  • +
  • Dino Settings - add settings: DisableDinoBreeding, AllowUnclaimDinos, PreventBreedingForClassNames, UseDinoLevelUpAnimations
  • +
  • Dino Settings - change default value for MaxTamedDinos
  • +
  • Exclude ItemIDs From Supply Crate Overrides - add new section
  • +
  • WorldSaveRestore - add file size
  • +
+

+
+
+ + Lacoi + + +
urn:uuid:6D7413E7-3C96-41A6-B51F-C1B507FC7D7B @@ -20,7 +61,7 @@
  • Administration - fix blue text for server / launcher args.
  • -
  • Global Settings - default auto backup should be sequential.
  • +
  • Global Settings - default auto backup should be parallel.
CHANGE
diff --git a/src/ARKServerManager/VersionFeedBeta.xml b/src/ARKServerManager/VersionFeedBeta.xml index 497f7c45..69d6e6c3 100644 --- a/src/ARKServerManager/VersionFeedBeta.xml +++ b/src/ARKServerManager/VersionFeedBeta.xml @@ -5,28 +5,39 @@ Ark Server Manager Version Feed This is the Ark Server Manager beta version feed. - 2023-06-22T00:00:00Z + 2023-08-21T00:00:00Z - urn:uuid:6D7413E7-3C96-41A6-B51F-C1B507FC7D7B - 1.1.443 (1.1.443.1) - 1.1.443.1 + + 1.1.444 (1.1.444.1) + 1.1.444.1 - 2023-06-22T00:00:00Z + 2023-08-21T00:00:00Z

BUGFIX

    -
  • Administration - fix blue text for server / launcher args.
  • -
  • Global Settings - default auto backup should be sequential.
  • +
  • Chat and Notifications - fix setting for "Enable 'Player Joined' Notifications"
CHANGE
    -
  • Global Settings - add option to add additional steamcmd exit status codes as "successful" (use on your own risk).
  • -
  • Administration - remove ModID list from profile sync.
  • +
  • ASM Options - add setting to reenable ModIDs, CluserID and AutoShutdown Timer sync
  • +
  • Global - remove deprecated settings.
  • +
  • Global - add global info, if Steam WebApiKey is missing.
  • +
  • Administration - remove CluserID from profile sync.
  • +
  • Administration - add settings: CustomDynamicConfigUrl, CustomLiveTuningUrl, UseStructureStasisGrid, Culture
  • +
  • Administration - change default value for MaxTribeLogs
  • +
  • Automatic Management - remove AutoShutdown Timer from profile sync.
  • +
  • Rules - add settings: AllowCaveBuildingPvP, DisableRailgunPVP, DisableCustomFoldersInTributeInventories, AdjustableMutagenSpawnDelayMultiplier, bUseSingleplayerSettings
  • +
  • Rules - change default value for MaxTributeDinos, GlobalPoweredBatteryDurabilityDecreasePerSecond, MaxHexagonsPerCharacter
  • +
  • Structures - add settings: IgnoreLimitMaxStructuresInRangeTypeFlag, bIgnoreStructuresPreventionVolumes
  • +
  • Dino Settings - add settings: DisableDinoBreeding, AllowUnclaimDinos, PreventBreedingForClassNames, UseDinoLevelUpAnimations
  • +
  • Dino Settings - change default value for MaxTamedDinos
  • +
  • Exclude ItemIDs From Supply Crate Overrides - add new section
  • +
  • WorldSaveRestore - add file size