Merge pull request #26 from Lacoi/source

Update ASM
This commit is contained in:
Brett Hewitson 2023-06-11 10:33:55 +10:00 committed by GitHub
commit df238b7a2f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 333 additions and 104 deletions

View file

@ -906,6 +906,12 @@
<setting name="TaskSchedulerPassword" serializeAs="String">
<value />
</setting>
<setting name="AutoBackup_ParallelBackup" serializeAs="String">
<value>False</value>
</setting>
<setting name="AutoBackup_SequencialDelayPeriod" serializeAs="String">
<value>10</value>
</setting>
</ServerManagerTool.Config>
</userSettings>
</configuration>

View file

@ -1402,7 +1402,37 @@ namespace ServerManagerTool {
this["AutoBackup_BackupPeriod"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool AutoBackup_ParallelBackup
{
get
{
return ((bool)(this["AutoBackup_ParallelBackup"]));
}
set
{
this["AutoBackup_ParallelBackup"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("10")]
public int AutoBackup_SequencialDelayPeriod
{
get
{
return ((int)(this["AutoBackup_SequencialDelayPeriod"]));
}
set
{
this["AutoBackup_SequencialDelayPeriod"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]

View file

@ -41,5 +41,6 @@
RCONWindowExtents,
ServerOptions,
ServerLogOptions,
ServerBadWordFilterOptions,
}
}

View file

@ -942,7 +942,7 @@
{
"NameTag": "Rhyniognatha",
"IsSpawnable": true,
"IsTameable": "false",
"IsTameable": "true",
"ClassName": "Rhynio_Character_BP_C",
"Description": "Rhyniognatha",
"Mod": "ArkPrime"
@ -13537,6 +13537,31 @@
"IsSotF": false,
"EventName": "WinterWonderland",
"Description": "Winter Wonderland"
},
{
"IsSotF": false,
"EventName": "Arkaeology",
"Description": "Arkaeology"
},
{
"IsSotF": false,
"EventName": "ExtinctionChronicles",
"Description": "Extinction Chronicles"
},
{
"IsSotF": false,
"EventName": "Summer",
"Description": "Summer Bash"
},
{
"IsSotF": false,
"EventName": "ark7th",
"Description": "7th Anniversary"
},
{
"IsSotF": false,
"EventName": "PAX",
"Description": "PAX Party"
}
],
"OfficialMods": [

View file

@ -657,6 +657,10 @@
<sys:String x:Key="GlobalSettings_ParallelUpdateTooltip">If enabled, when the auto-update is performed all servers will be updated at the same time, otherwise each server will be updated one after the other (this will take more time to complete).</sys:String>
<sys:String x:Key="GlobalSettings_SequencialDelayPeriodLabel">Delay between each server update</sys:String>
<sys:String x:Key="GlobalSettings_SequencialDelayPeriodTooltip">The amount of time to wait in between each server update, only available if Parallel Update is disabled.</sys:String>
<sys:String x:Key="GlobalSettings_ParallelBackupLabel">Backup servers in parallel</sys:String>
<sys:String x:Key="GlobalSettings_ParallelBackupTooltip">If enabled, when the auto-backup is performed all servers will be backup at the same time, otherwise each server will be backup one after the other (this could produce less server lags).</sys:String>
<sys:String x:Key="GlobalSettings_AutoBacckupSequencialDelayPeriodLabel">Delay between each server backup</sys:String>
<sys:String x:Key="GlobalSettings_AutoBackupSequencialDelayPeriodTooltip">The amount of time to wait in between each server backup, only available if Parallel Backup is disabled.</sys:String>
<sys:String x:Key="GlobalSettings_AutoRestartLabel">Auto Restart Options</sys:String>
<sys:String x:Key="GlobalSettings_RestartGraceIntervalInformationLabel">The grace period does not prevent auto-updates from restarting your server.</sys:String>
@ -1255,12 +1259,26 @@
<sys:String x:Key="ServerSettings_ServerAutoForceRespawnWildDinosIntervalTooltip">The interval between the forced auto dino respawn.</sys:String>
<sys:String x:Key="ServerSettings_AltSaveDirectoryNameLabel">Alternate Save Directory Name:</sys:String>
<sys:String x:Key="ServerSettings_AltSaveDirectoryNameLabel2">(Optional)</sys:String>
<sys:String x:Key="ServerSettings_AltSaveDirectoryNameNote">NOTE: Set "Alternate Save Directory Name" only in advanced setups! Research before enabling!</sys:String>
<sys:String x:Key="ServerSettings_AltSaveDirectoryNameTooltip">Sets the directory name (underneath the servers Saved folder) to store the world, player and tribe files.</sys:String>
<sys:String x:Key="ServerSettings_CrossArkClusterIdLabel">Cross-ARK Data Transfer ClusterId:</sys:String>
<sys:String x:Key="ServerSettings_CrossArkClusterIdTooltip">Sets a cluster id for this server that will group the servers together via Cross-ARK Data Transfer.</sys:String>
<sys:String x:Key="ServerSettings_ClusterDirOverrideLabel">Cluster Directory Override</sys:String>
<sys:String x:Key="ServerSettings_ClusterDirOverrideTooltip">If enabled, allows you to use a common cross-server storage location that functions between multiple servers running on the same machine. Uses the clusters directory in the server manager Data directory.</sys:String>
<sys:String x:Key="ServerSettings_ServerBadWordFilterOptionsLabel">Bad Word Filter</sys:String>
<sys:String x:Key="ServerSettings_ResetBadWordFilterOptionsTooltip">Reset all bad word filter options to defaults.</sys:String>
<sys:String x:Key="ServerSettings_BadWordListURLLabel">Bad Word Filter URL:</sys:String>
<sys:String x:Key="ServerSettings_BadWordListURLTooltip">Add the url to hosting your own bad words list.</sys:String>
<sys:String x:Key="ServerSettings_BadWordWhiteListURLLabel">Bad Word Whitelist URL:</sys:String>
<sys:String x:Key="ServerSettings_BadWordWhiteListURLTooltip">Add the url to hosting your own good words list .</sys:String>
<sys:String x:Key="ServerSettings_FilterTribeNamesLabel">Filter Tribe Names</sys:String>
<sys:String x:Key="ServerSettings_FilterTribeNamesTooltip">Filters out tribe names based on the bad words/good words list.</sys:String>
<sys:String x:Key="ServerSettings_FilterCharacterNamesLabel">Filter Character Names</sys:String>
<sys:String x:Key="ServerSettings_FilterCharacterNamesTooltip">Filters out character names based on the bad words/good words list.</sys:String>
<sys:String x:Key="ServerSettings_FilterChatLabel">Filter Chat</sys:String>
<sys:String x:Key="ServerSettings_FilterChatTooltip">Filters chat messages based on the bad word/good words list.</sys:String>
<sys:String x:Key="ServerSettings_ServerLogOptionsLabel">Server Log Options</sys:String>
<sys:String x:Key="ServerSettings_ResetServerLogOptionsTooltip">Reset all server log options to defaults.</sys:String>
<sys:String x:Key="ServerSettings_EnableAdminLogsLabel">Enable Server Admin Logs</sys:String>
@ -1844,6 +1862,8 @@
<sys:String x:Key="ServerSettings_BabyCuddleGracePeriodMultiplierTooltip">A multiplier on how long after delaying cuddling with the baby before imprinting quality starts to decrease. Higher values increase the grace period.</sys:String>
<sys:String x:Key="ServerSettings_BabyCuddleLoseImprintQualitySpeedMultiplierLabel">Cuddle Lose Imprint Quality Speed:</sys:String>
<sys:String x:Key="ServerSettings_BabyCuddleLoseImprintQualitySpeedMultiplierTooltip">A multiplier on how fast imprinting quality decreases after the grace period if you haven't yet cuddled with the baby. Lower values slow the imprint quality loss.</sys:String>
<sys:String x:Key="ServerSettings_ImprintlimitLabel">Max Imprint Limit:</sys:String>
<sys:String x:Key="ServerSettings_ImprintlimitTooltip">Automatically destroys creatures exceeding the imprinting bonus limit specified, in %. It is recommended going 1% higher to catch potential floating point errors, especially when working with custom imprinting rates.</sys:String>
<sys:String x:Key="ServerSettings_DinoMaxXP_ResetTitle">Confirm Reset Action</sys:String>
<sys:String x:Key="ServerSettings_DinoMaxXP_ResetLabel">Click 'Yes' to confirm you want to reset the Max XP.</sys:String>

View file

@ -3391,18 +3391,43 @@ namespace ServerManagerTool.Lib
var profiles = _profiles.Keys.Where(p => p.EnableAutoBackup);
var exitCodes = new ConcurrentDictionary<ServerProfileSnapshot, int>();
Parallel.ForEach(profiles, profile => {
var app = new ServerApp
if (Config.Default.AutoBackup_ParallelBackup)
{
Parallel.ForEach(profiles, profile => {
var app = new ServerApp
{
DeleteOldBackupFiles = Config.Default.AutoBackup_DeleteOldFiles,
OutputLogs = true,
SendAlerts = true,
SendEmails = true,
ServerProcess = ServerProcessType.AutoBackup
};
app.PerformProfileBackup(profile, CancellationToken.None);
exitCodes.TryAdd(profile, app.ExitCode);
});
}
else
{
var delay = 0;
foreach (ServerProfileSnapshot profile in profiles)
{
DeleteOldBackupFiles = Config.Default.AutoBackup_DeleteOldFiles,
OutputLogs = true,
SendAlerts = true,
SendEmails = true,
ServerProcess = ServerProcessType.AutoBackup
};
app.PerformProfileBackup(profile, CancellationToken.None);
exitCodes.TryAdd(profile, app.ExitCode);
});
if (delay > 0)
Task.Delay(delay * 1000).Wait();
delay = Math.Max(0, Config.Default.AutoBackup_SequencialDelayPeriod);
var app = new ServerApp
{
DeleteOldBackupFiles = Config.Default.AutoBackup_DeleteOldFiles,
OutputLogs = true,
SendAlerts = true,
SendEmails = true,
ServerProcess = ServerProcessType.AutoBackup
};
app.PerformProfileBackup(profile, CancellationToken.None);
exitCodes.TryAdd(profile, app.ExitCode);
}
}
foreach (var profile in _profiles.Keys)
{

View file

@ -620,22 +620,6 @@ namespace ServerManagerTool.Lib
set { SetValue(ForceNoManSkyProperty, value); }
}
public static readonly DependencyProperty UseAllAvailableCoresProperty = DependencyProperty.Register(nameof(UseAllAvailableCores), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false));
[DataMember]
public bool UseAllAvailableCores
{
get { return (bool)GetValue(UseAllAvailableCoresProperty); }
set { SetValue(UseAllAvailableCoresProperty, value); }
}
public static readonly DependencyProperty UseCacheProperty = DependencyProperty.Register(nameof(UseCache), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false));
[DataMember]
public bool UseCache
{
get { return (bool)GetValue(UseCacheProperty); }
set { SetValue(UseCacheProperty, value); }
}
public static readonly DependencyProperty UseNoMemoryBiasProperty = DependencyProperty.Register(nameof(UseNoMemoryBias), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false));
[DataMember]
public bool UseNoMemoryBias
@ -740,6 +724,62 @@ namespace ServerManagerTool.Lib
set { SetValue(UseVivoxProperty, value); }
}
public static readonly DependencyProperty EnableBadWordListURLProperty = DependencyProperty.Register(nameof(EnableBadWordListURL), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false));
[DataMember]
public bool EnableBadWordListURL
{
get { return (bool)GetValue(EnableBadWordListURLProperty); }
set { SetValue(EnableBadWordListURLProperty, value); }
}
public static readonly DependencyProperty BadWordListURLProperty = DependencyProperty.Register(nameof(BadWordListURL), typeof(string), typeof(ServerProfile), new PropertyMetadata(""));
[IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Administration, ConditionedOn = nameof(EnableBadWordListURL), QuotedString = QuotedStringType.True)]
public string BadWordListURL
{
get { return (string)GetValue(BadWordListURLProperty); }
set { SetValue(BadWordListURLProperty, value); }
}
public static readonly DependencyProperty EnableBadWordWhiteListURLProperty = DependencyProperty.Register(nameof(EnableBadWordWhiteListURL), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false));
[DataMember]
public bool EnableBadWordWhiteListURL
{
get { return (bool)GetValue(EnableBadWordWhiteListURLProperty); }
set { SetValue(EnableBadWordWhiteListURLProperty, value); }
}
public static readonly DependencyProperty BadWordWhiteListURLProperty = DependencyProperty.Register(nameof(BadWordWhiteListURL), typeof(string), typeof(ServerProfile), new PropertyMetadata(""));
[IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Administration, ConditionedOn = nameof(EnableBadWordWhiteListURL), QuotedString = QuotedStringType.True)]
public string BadWordWhiteListURL
{
get { return (string)GetValue(BadWordWhiteListURLProperty); }
set { SetValue(BadWordWhiteListURLProperty, value); }
}
public static readonly DependencyProperty FilterTribeNamesProperty = DependencyProperty.Register(nameof(FilterTribeNames), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false));
[IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Administration, "bFilterTribeNames")]
public bool FilterTribeNames
{
get { return (bool)GetValue(FilterTribeNamesProperty); }
set { SetValue(FilterTribeNamesProperty, value); }
}
public static readonly DependencyProperty FilterCharacterNamesProperty = DependencyProperty.Register(nameof(FilterCharacterNames), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false));
[IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Administration, "bFilterCharacterNames")]
public bool FilterCharacterNames
{
get { return (bool)GetValue(FilterCharacterNamesProperty); }
set { SetValue(FilterCharacterNamesProperty, value); }
}
public static readonly DependencyProperty FilterChatProperty = DependencyProperty.Register(nameof(FilterChat), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false));
[IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Administration, "bFilterChat")]
public bool FilterChat
{
get { return (bool)GetValue(FilterChatProperty); }
set { SetValue(FilterChatProperty, value); }
}
public static readonly DependencyProperty OutputServerLogProperty = DependencyProperty.Register(nameof(OutputServerLog), typeof(bool), typeof(ServerProfile), new PropertyMetadata(true));
[DataMember]
public bool OutputServerLog
@ -1914,11 +1954,11 @@ namespace ServerManagerTool.Lib
set { SetValue(Ragnarok_EnableVolcanoProperty, value); }
}
public static readonly DependencyProperty Ragnarok_VolcanoIntervalProperty = DependencyProperty.Register(nameof(Ragnarok_VolcanoInterval), typeof(int), typeof(ServerProfile), new PropertyMetadata(0));
public static readonly DependencyProperty Ragnarok_VolcanoIntervalProperty = DependencyProperty.Register(nameof(Ragnarok_VolcanoInterval), typeof(float), typeof(ServerProfile), new PropertyMetadata(1.0f));
[IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_Ragnarok, ServerProfileCategory.Rules, "VolcanoInterval", ConditionedOn = nameof(Ragnarok_EnableSettings), ClearSectionIfEmpty = true)]
public int Ragnarok_VolcanoInterval
public float Ragnarok_VolcanoInterval
{
get { return (int)GetValue(Ragnarok_VolcanoIntervalProperty); }
get { return (float)GetValue(Ragnarok_VolcanoIntervalProperty); }
set { SetValue(Ragnarok_VolcanoIntervalProperty, value); }
}
@ -2562,6 +2602,14 @@ namespace ServerManagerTool.Lib
set { SetValue(BabyCuddleLoseImprintQualitySpeedMultiplierProperty, value); }
}
public static readonly DependencyProperty ImprintlimitProperty = DependencyProperty.Register(nameof(Imprintlimit), typeof(NullableValue<int>), typeof(ServerProfile), new PropertyMetadata(new NullableValue<int>(false, 101)));
[DataMember]
public NullableValue<int> Imprintlimit
{
get { return (NullableValue<int>)GetValue(ImprintlimitProperty); }
set { SetValue(ImprintlimitProperty, value); }
}
public static readonly DependencyProperty WildDinoCharacterFoodDrainMultiplierProperty = DependencyProperty.Register(nameof(WildDinoCharacterFoodDrainMultiplier), typeof(float), typeof(ServerProfile), new PropertyMetadata(1.0f));
[IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Dinos, WriteIfNotValue = 1.0f)]
public float WildDinoCharacterFoodDrainMultiplier
@ -4085,17 +4133,6 @@ namespace ServerManagerTool.Lib
serverArgs.Append(" -nomansky");
}
if (this.UseAllAvailableCores)
{
serverArgs.Append(" -useallavailablecores");
}
if (this.UseCache)
{
serverArgs.Append(" -usecache");
}
if (this.UseNoMemoryBias)
{
serverArgs.Append(" -nomemorybias");
@ -4189,6 +4226,11 @@ namespace ServerManagerTool.Lib
serverArgs.Append(" -MinimumTimeBetweenInventoryRetrieval=").Append(this.MinimumTimeBetweenInventoryRetrieval);
}
if (this.Imprintlimit.HasValue)
{
serverArgs.Append(" -imprintlimit=").Append(this.Imprintlimit);
}
return serverArgs.ToString();
}
@ -5398,8 +5440,6 @@ namespace ServerManagerTool.Lib
this.ClearValue(DisableAntiSpeedHackDetectionProperty);
this.ClearValue(SpeedHackBiasProperty);
this.ClearValue(UseBattlEyeProperty);
this.ClearValue(UseAllAvailableCoresProperty);
this.ClearValue(UseCacheProperty);
this.ClearValue(ForceRespawnDinosProperty);
this.ClearValue(EnableServerAutoForceRespawnWildDinosIntervalProperty);
@ -5432,6 +5472,17 @@ namespace ServerManagerTool.Lib
this.ClearValue(ClusterDirOverrideProperty);
}
public void ResetServerBadWordFilterOptions()
{
this.ClearValue(EnableBadWordListURLProperty);
this.ClearValue(EnableBadWordWhiteListURLProperty);
this.ClearValue(BadWordListURLProperty);
this.ClearValue(BadWordWhiteListURLProperty);
this.ClearValue(FilterTribeNamesProperty);
this.ClearValue(FilterCharacterNamesProperty);
this.ClearValue(FilterChatProperty);
}
public void ResetServerLogOptions()
{
this.ClearValue(EnableServerAdminLogsProperty);
@ -5482,6 +5533,7 @@ namespace ServerManagerTool.Lib
this.ClearNullableValue(MOTDIntervalProperty);
ResetServerOptions();
ResetServerBadWordFilterOptions();
ResetServerLogOptions();
this.ClearValue(EnableWebAlarmProperty);
@ -5578,6 +5630,7 @@ namespace ServerManagerTool.Lib
this.ClearValue(BabyCuddleIntervalMultiplierProperty);
this.ClearValue(BabyCuddleGracePeriodMultiplierProperty);
this.ClearValue(BabyCuddleLoseImprintQualitySpeedMultiplierProperty);
this.ClearValue(ImprintlimitProperty);
this.ClearValue(WildDinoCharacterFoodDrainMultiplierProperty);
this.ClearValue(TamedDinoCharacterFoodDrainMultiplierProperty);
@ -6072,8 +6125,6 @@ namespace ServerManagerTool.Lib
this.SetValue(DisablePlayerMovePhysicsOptimizationProperty, sourceProfile.DisablePlayerMovePhysicsOptimization);
this.SetValue(DisableAntiSpeedHackDetectionProperty, sourceProfile.DisableAntiSpeedHackDetection);
this.SetValue(SpeedHackBiasProperty, sourceProfile.SpeedHackBias);
this.SetValue(UseAllAvailableCoresProperty, sourceProfile.UseAllAvailableCores);
this.SetValue(UseCacheProperty, sourceProfile.UseCache);
this.SetValue(UseNoHangDetectionProperty, sourceProfile.UseNoHangDetection);
this.SetValue(NoDinosProperty, sourceProfile.NoDinos);
this.SetValue(NoUnderMeshCheckingProperty, sourceProfile.NoUnderMeshChecking);
@ -6102,6 +6153,15 @@ namespace ServerManagerTool.Lib
this.SetValue(UseItemDupeCheckProperty, sourceProfile.UseItemDupeCheck);
this.SetValue(UseSecureSpawnRulesProperty, sourceProfile.UseSecureSpawnRules);
// server filter options
this.SetValue(EnableBadWordListURLProperty, sourceProfile.EnableBadWordListURL);
this.SetValue(EnableBadWordWhiteListURLProperty, sourceProfile.EnableBadWordWhiteListURL);
this.SetValue(BadWordListURLProperty, sourceProfile.BadWordListURL);
this.SetValue(BadWordWhiteListURLProperty, sourceProfile.BadWordWhiteListURL);
this.SetValue(FilterTribeNamesProperty, sourceProfile.FilterTribeNames);
this.SetValue(FilterCharacterNamesProperty, sourceProfile.FilterCharacterNames);
this.SetValue(FilterChatProperty, sourceProfile.FilterChat);
// server log options
this.SetValue(EnableServerAdminLogsProperty, sourceProfile.EnableServerAdminLogs);
this.SetValue(ServerAdminLogsIncludeTribeLogsProperty, sourceProfile.ServerAdminLogsIncludeTribeLogs);
@ -6249,6 +6309,7 @@ namespace ServerManagerTool.Lib
this.SetValue(BabyCuddleIntervalMultiplierProperty, sourceProfile.BabyCuddleIntervalMultiplier);
this.SetValue(BabyCuddleGracePeriodMultiplierProperty, sourceProfile.BabyCuddleGracePeriodMultiplier);
this.SetValue(BabyCuddleLoseImprintQualitySpeedMultiplierProperty, sourceProfile.BabyCuddleLoseImprintQualitySpeedMultiplier);
this.SetValue(ImprintlimitProperty, sourceProfile.Imprintlimit);
this.SetValue(WildDinoCharacterFoodDrainMultiplierProperty, sourceProfile.WildDinoCharacterFoodDrainMultiplier);
this.SetValue(TamedDinoCharacterFoodDrainMultiplierProperty, sourceProfile.TamedDinoCharacterFoodDrainMultiplier);

View file

@ -419,6 +419,9 @@
<Binding Path="Config.AutoBackup_BackupPeriod" Converter="{StaticResource MinutesToTimeValueConverter}"/>
</TextBox.Text>
</TextBox>
<CheckBox Grid.Row="3" Grid.Column="0" Margin="5,2,0,2" Grid.ColumnSpan="2" Content="{DynamicResource GlobalSettings_ParallelBackupLabel}" IsChecked="{Binding Config.AutoBackup_ParallelBackup, Mode=TwoWay}" ToolTip="{DynamicResource GlobalSettings_ParallelBackupTooltip}" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<cctl:AnnotatedSlider Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="3" Margin="0,2,0,2" Label="{DynamicResource GlobalSettings_AutoBacckupSequencialDelayPeriodLabel}" Value="{Binding Config.AutoBackup_SequencialDelayPeriod}" Minimum="0" Maximum="1200" SmallChange="1" LargeChange="2" TickFrequency="5" LabelRelativeWidth="Auto" SliderRelativeWidth="15*" SuffixRelativeWidth="Auto" Suffix="{DynamicResource SliderUnits_Seconds}" ToolTip="{DynamicResource GlobalSettings_AutoBackupSequencialDelayPeriodTooltip}" IsEnabled="{Binding Config.AutoBackup_ParallelBackup, Converter={StaticResource InvertBooleanConverter}}"/>
</Grid>
</GroupBox>

View file

@ -1040,6 +1040,7 @@
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
@ -1065,25 +1066,23 @@
<cctl:CheckBoxAndTextBlock Grid.Row="3" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding UseBattlEye, Mode=TwoWay}" Text="{DynamicResource ServerSettings_UseBattlEyeLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_UseBattlEyeTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="4" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding DisablePlayerMovePhysicsOptimization, Mode=TwoWay}" Text="{DynamicResource ServerSettings_DisablePMVOptimizationLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_DisablePMVOptimizationTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="5" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding OutputServerLog, Mode=TwoWay}" Text="{DynamicResource ServerSettings_OutputServerLogLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_OutputServerLogTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="6" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding UseAllAvailableCores, Mode=TwoWay}" Text="{DynamicResource ServerSettings_UseAllAvailableCoresLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_UseAllAvailableCoresTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="7" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding UseCache, Mode=TwoWay}" Text="{DynamicResource ServerSettings_UseCacheLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_UseCacheTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="8" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding UseNoHangDetection, Mode=TwoWay}" Text="{DynamicResource ServerSettings_UseNoHangDetectionLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_UseNoHangDetectionTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="9" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding NoDinos, Mode=TwoWay}" Text="{DynamicResource ServerSettings_NoDinosLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_NoDinosTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="10" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding NoUnderMeshChecking, Mode=TwoWay}" Text="{DynamicResource ServerSettings_NoUnderMeshCheckingLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_NoUnderMeshCheckingTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="11" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding NoUnderMeshKilling, Mode=TwoWay}" Text="{DynamicResource ServerSettings_NoUnderMeshKillingLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_NoUnderMeshKillingTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="12" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding UseVivox, Mode=TwoWay}" Text="{DynamicResource ServerSettings_UseVivoxLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_UseVivoxTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="13" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding AllowSharedConnections, Mode=TwoWay}" Text="{DynamicResource ServerSettings_AllowSharedConnectionsLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_AllowSharedConnectionsTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="14" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding SecureSendArKPayload, Mode=TwoWay}" Text="{DynamicResource ServerSettings_SecureSendArKPayloadLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_SecureSendArKPayloadTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="15" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding UseItemDupeCheck, Mode=TwoWay}" Text="{DynamicResource ServerSettings_UseItemDupeCheckLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_UseItemDupeCheckTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="16" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding UseSecureSpawnRules, Mode=TwoWay}" Text="{DynamicResource ServerSettings_UseSecureSpawnRulesLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_UseSecureSpawnRulesTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="6" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding UseNoHangDetection, Mode=TwoWay}" Text="{DynamicResource ServerSettings_UseNoHangDetectionLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_UseNoHangDetectionTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="7" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding NoDinos, Mode=TwoWay}" Text="{DynamicResource ServerSettings_NoDinosLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_NoDinosTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="8" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding NoUnderMeshChecking, Mode=TwoWay}" Text="{DynamicResource ServerSettings_NoUnderMeshCheckingLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_NoUnderMeshCheckingTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="9" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding NoUnderMeshKilling, Mode=TwoWay}" Text="{DynamicResource ServerSettings_NoUnderMeshKillingLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_NoUnderMeshKillingTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="10" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding UseVivox, Mode=TwoWay}" Text="{DynamicResource ServerSettings_UseVivoxLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_UseVivoxTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="11" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding AllowSharedConnections, Mode=TwoWay}" Text="{DynamicResource ServerSettings_AllowSharedConnectionsLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_AllowSharedConnectionsTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="12" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding SecureSendArKPayload, Mode=TwoWay}" Text="{DynamicResource ServerSettings_SecureSendArKPayloadLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_SecureSendArKPayloadTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="13" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding UseItemDupeCheck, Mode=TwoWay}" Text="{DynamicResource ServerSettings_UseItemDupeCheckLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_UseItemDupeCheckTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="14" Grid.Column="0" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding UseSecureSpawnRules, Mode=TwoWay}" Text="{DynamicResource ServerSettings_UseSecureSpawnRulesLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_UseSecureSpawnRulesTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="17" Grid.Column="0" Grid.ColumnSpan="4" Margin="5,5,5,0" IsChecked="{Binding ForceRespawnDinos, Mode=TwoWay}" Text="{DynamicResource ServerSettings_ForceRespawnDinosLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_ForceRespawnDinosTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="18" Grid.Column="0" Grid.ColumnSpan="4" Margin="5,5,5,0" IsChecked="{Binding EnableServerAutoForceRespawnWildDinosInterval, Mode=TwoWay}" Text="{DynamicResource ServerSettings_EnableServerAutoForceRespawnWildDinosIntervalLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_EnableServerAutoForceRespawnWildDinosIntervalTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="15" Grid.Column="0" Grid.ColumnSpan="4" Margin="5,5,5,0" IsChecked="{Binding ForceRespawnDinos, Mode=TwoWay}" Text="{DynamicResource ServerSettings_ForceRespawnDinosLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_ForceRespawnDinosTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="16" Grid.Column="0" Grid.ColumnSpan="4" Margin="5,5,5,0" IsChecked="{Binding EnableServerAutoForceRespawnWildDinosInterval, Mode=TwoWay}" Text="{DynamicResource ServerSettings_EnableServerAutoForceRespawnWildDinosIntervalLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_EnableServerAutoForceRespawnWildDinosIntervalTooltip}"/>
<cctl:AnnotatedSlider Grid.Row="19" Grid.Column="0" Grid.ColumnSpan="4" Margin="20,1,5,1" Label="{DynamicResource ServerSettings_ServerAutoForceRespawnWildDinosIntervalLabel}" Value="{Binding ServerAutoForceRespawnWildDinosInterval, Converter={StaticResource SecondsToHoursConverter}}" Suffix="{DynamicResource SliderUnits_Hours}" Minimum="1" Maximum="720" SmallChange="1" LargeChange="24" TickFrequency="24" LabelRelativeWidth="Auto" SliderRelativeWidth="15*" SuffixRelativeWidth="Auto" ToolTip="{DynamicResource ServerSettings_ServerAutoForceRespawnWildDinosIntervalTooltip}" IsEnabled="{Binding EnableServerAutoForceRespawnWildDinosInterval, FallbackValue=False}"/>
<cctl:AnnotatedSlider Grid.Row="17" Grid.Column="0" Grid.ColumnSpan="4" Margin="20,1,5,1" Label="{DynamicResource ServerSettings_ServerAutoForceRespawnWildDinosIntervalLabel}" Value="{Binding ServerAutoForceRespawnWildDinosInterval, Converter={StaticResource SecondsToHoursConverter}}" Suffix="{DynamicResource SliderUnits_Hours}" Minimum="1" Maximum="720" SmallChange="1" LargeChange="24" TickFrequency="24" LabelRelativeWidth="Auto" SliderRelativeWidth="15*" SuffixRelativeWidth="Auto" ToolTip="{DynamicResource ServerSettings_ServerAutoForceRespawnWildDinosIntervalTooltip}" IsEnabled="{Binding EnableServerAutoForceRespawnWildDinosInterval, FallbackValue=False}"/>
<Label Grid.Row="20" Grid.Column="0" Margin="20,0,5,0" Grid.ColumnSpan="2" Content="{DynamicResource ServerSettings_AltSaveDirectoryNameLabel}" ToolTip="{DynamicResource ServerSettings_AltSaveDirectoryNameTooltip}" VerticalAlignment="Center" MinWidth="200" Foreground="{DynamicResource UnSyncedSetting}"/>
<TextBox Grid.Row="20" Grid.Column="2" Margin="1,1,0,1" VerticalContentAlignment="Center" HorizontalAlignment="Stretch" ToolTip="{DynamicResource ServerSettings_AltSaveDirectoryNameTooltip}">
<Label Grid.Row="18" Grid.Column="0" Margin="20,0,5,0" Grid.ColumnSpan="2" Content="{DynamicResource ServerSettings_AltSaveDirectoryNameLabel}" ToolTip="{DynamicResource ServerSettings_AltSaveDirectoryNameTooltip}" VerticalAlignment="Center" MinWidth="200" Foreground="{DynamicResource UnSyncedSetting}"/>
<TextBox Grid.Row="18" Grid.Column="2" Margin="1,1,0,1" VerticalContentAlignment="Center" HorizontalAlignment="Stretch" ToolTip="{DynamicResource ServerSettings_AltSaveDirectoryNameTooltip}">
<Validation.ErrorTemplate>
<ControlTemplate>
<StackPanel>
@ -1100,11 +1099,12 @@
</Binding>
</TextBox.Text>
</TextBox>
<Label Grid.Row="20" Grid.Column="3" Content="{DynamicResource ServerSettings_AltSaveDirectoryNameLabel2}" ToolTip="{DynamicResource ServerSettings_AltSaveDirectoryNameTooltip}" VerticalAlignment="Center"/>
<Label Grid.Row="18" Grid.Column="3" Content="{DynamicResource ServerSettings_AltSaveDirectoryNameLabel2}" ToolTip="{DynamicResource ServerSettings_AltSaveDirectoryNameTooltip}" VerticalAlignment="Center"/>
<TextBlock Grid.Row="19" Grid.Column="0" Grid.ColumnSpan="4" Margin="30,0,5,0" Text="{DynamicResource ServerSettings_AltSaveDirectoryNameNote}" FontWeight="Bold" TextWrapping="WrapWithOverflow" IsEnabled="False"/>
<Label Grid.Row="21" Grid.Column="0" Margin="20,0,5,0" Grid.ColumnSpan="2" Content="{DynamicResource ServerSettings_CrossArkClusterIdLabel}" ToolTip="{DynamicResource ServerSettings_CrossArkClusterIdTooltip}" VerticalAlignment="Center" MinWidth="200"/>
<TextBox Grid.Row="21" Grid.Column="2" Margin="1,1,0,1" VerticalContentAlignment="Center" HorizontalAlignment="Stretch" Text="{Binding CrossArkClusterId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True}" ToolTip="{DynamicResource ServerSettings_CrossArkClusterIdTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="21" Grid.Column="3" Margin="5,1,0,0" IsEnabled="{Binding CrossArkClusterId, Converter={StaticResource HasStringValueConverter}, FallbackValue=false}" IsChecked="{Binding ClusterDirOverride, Mode=TwoWay}" Text="{DynamicResource ServerSettings_ClusterDirOverrideLabel}" ToolTip="{DynamicResource ServerSettings_ClusterDirOverrideTooltip}" VerticalAlignment="Center" HorizontalAlignment="Left" UseLayoutRounding="False"/>
<Label Grid.Row="20" Grid.Column="0" Margin="20,0,5,0" Grid.ColumnSpan="2" Content="{DynamicResource ServerSettings_CrossArkClusterIdLabel}" ToolTip="{DynamicResource ServerSettings_CrossArkClusterIdTooltip}" VerticalAlignment="Center" MinWidth="200"/>
<TextBox Grid.Row="20" Grid.Column="2" Margin="1,1,0,1" VerticalContentAlignment="Center" HorizontalAlignment="Stretch" Text="{Binding CrossArkClusterId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True}" ToolTip="{DynamicResource ServerSettings_CrossArkClusterIdTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="20" Grid.Column="3" Margin="5,1,0,0" IsEnabled="{Binding CrossArkClusterId, Converter={StaticResource HasStringValueConverter}, FallbackValue=false}" IsChecked="{Binding ClusterDirOverride, Mode=TwoWay}" Text="{DynamicResource ServerSettings_ClusterDirOverrideLabel}" ToolTip="{DynamicResource ServerSettings_ClusterDirOverrideTooltip}" VerticalAlignment="Center" HorizontalAlignment="Left" UseLayoutRounding="False"/>
<cctl:CheckBoxAndTextBlock Grid.Row="2" Grid.Column="2" Margin="5,5,5,0" Grid.ColumnSpan="2" IsChecked="{Binding DisableAntiSpeedHackDetection, Mode=TwoWay}" Text="{DynamicResource ServerSettings_DisableAntiSpeedHackLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_DisableAntiSpeedHackTooltip}"/>
<cctl:AnnotatedSlider Grid.Row="3" Grid.Column="2" Margin="20,1,5,1" Grid.ColumnSpan="2" Label="{DynamicResource ServerSettings_AntiSpeedHackBiasLabel}" Value="{Binding SpeedHackBias}" Suffix="{DynamicResource ServerSettings_AntiSpeedHackBiasUnits}" Minimum="0.0" Maximum="1.0" SmallChange="0.1" LargeChange="0.25" TickFrequency="60" LabelRelativeWidth="Auto" SliderRelativeWidth="15*" SuffixRelativeWidth="Auto" ToolTip="{DynamicResource ServerSettings_AntiSpeedHackBiasTooltip}" />
@ -1239,6 +1239,41 @@
</GroupBox>
<GroupBox Grid.Row="9" Grid.Column="0" Grid.ColumnSpan="6" Style="{StaticResource GroupBoxStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<Label Content="{DynamicResource ServerSettings_ServerBadWordFilterOptionsLabel}"/>
<Button Margin="20,0,0,0" Command="{Binding ResetActionCommand, ElementName=SettingsControl}" CommandParameter="{x:Static enum:ServerSettingsResetAction.ServerBadWordFilterOptions}" ToolTip="{DynamicResource ServerSettings_ResetBadWordFilterOptionsTooltip}" Style="{StaticResource ButtonStyle1}">
<Image Source="{com:Icon Path=/Ark Server Manager;component/Art/Refresh.ico,Size=32}"/>
</Button>
</StackPanel>
</GroupBox.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="180"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<cctl:CheckBoxAndTextBlock Grid.Row="0" Grid.Column="0" Margin="5" VerticalAlignment="Center" IsChecked="{Binding EnableBadWordListURL, Mode=TwoWay}" Text="{DynamicResource ServerSettings_BadWordListURLLabel}" ToolTip="{DynamicResource ServerSettings_BadWordListURLTooltip}"/>
<TextBox Grid.Row="0" Grid.Column="1" Margin="1" Text="{Binding BadWordListURL}" ToolTip="{DynamicResource ServerSettings_BadWordListURLTooltip}" IsEnabled="{Binding EnableBadWordListURL}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="1" Grid.Column="0" Margin="5" VerticalAlignment="Center" IsChecked="{Binding EnableBadWordWhiteListURL, Mode=TwoWay}" Text="{DynamicResource ServerSettings_BadWordWhiteListURLLabel}" ToolTip="{DynamicResource ServerSettings_BadWordWhiteListURLTooltip}"/>
<TextBox Grid.Row="1" Grid.Column="1" Margin="1" Text="{Binding BadWordWhiteListURL}" ToolTip="{DynamicResource ServerSettings_BadWordWhiteListURLTooltip}" IsEnabled="{Binding EnableBadWordWhiteListURL}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Margin="5,5,5,0" IsChecked="{Binding FilterTribeNames, Mode=TwoWay}" Text="{DynamicResource ServerSettings_FilterTribeNamesLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_FilterTribeNamesTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Margin="5,5,5,0" IsChecked="{Binding FilterCharacterNames, Mode=TwoWay}" Text="{DynamicResource ServerSettings_FilterCharacterNamesLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_FilterCharacterNamesTooltip}"/>
<cctl:CheckBoxAndTextBlock Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" Margin="5,5,5,0" IsChecked="{Binding FilterChat, Mode=TwoWay}" Text="{DynamicResource ServerSettings_FilterChatLabel}" VerticalAlignment="Center" HorizontalAlignment="Left" ToolTip="{DynamicResource ServerSettings_FilterChatTooltip}"/>
</Grid>
</GroupBox>
<GroupBox Grid.Row="10" Grid.Column="0" Grid.ColumnSpan="6" Style="{StaticResource GroupBoxStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<Label Content="{DynamicResource ServerSettings_ServerLogOptionsLabel}"/>
@ -1276,7 +1311,7 @@
</Grid>
</GroupBox>
<GroupBox Grid.Row="10" Grid.Column="0" Grid.ColumnSpan="6" Style="{StaticResource GroupBoxStyle}">
<GroupBox Grid.Row="11" Grid.Column="0" Grid.ColumnSpan="6" Style="{StaticResource GroupBoxStyle}">
<GroupBox.Header>
<cctl:CheckBoxAndTextBlock Name="EnableWebAlarmCheckbox" IsChecked="{Binding EnableWebAlarm, Mode=TwoWay}" Text="{DynamicResource ServerSettings_EnableWebAlarmLabel}" ToolTip="{DynamicResource ServerSettings_EnableWebAlarmTooltip}" />
</GroupBox.Header>
@ -2215,10 +2250,10 @@
Text="{DynamicResource ServerSettings_Ragnarok_EnableVolcanoLabel}"
ToolTip="{DynamicResource ServerSettings_Ragnarok_EnableVolcanoTooltip}"/>
<cctl:AnnotatedIntSlider Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="3" Margin="5,5,5,0" IsEnabled="{Binding Ragnarok_EnableVolcano}"
Minimum="0" Maximum="10" SmallChange="1" LargeChange="1" TickFrequency="1"
<cctl:AnnotatedSlider Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="3" Margin="5,5,5,0" IsEnabled="{Binding Ragnarok_EnableVolcano}"
Minimum="0" Maximum="10" SmallChange="0.1" LargeChange="0.1" TickFrequency="0.1"
Label="{DynamicResource ServerSettings_Ragnarok_VolcanoIntervalLabel}"
Value="{Binding Ragnarok_VolcanoInterval, Converter={cc:IntRangeValueConverter 0, 100}}"
Value="{Binding Ragnarok_VolcanoInterval, Converter={cc:DoubleRangeValueConverter 0, 10}}"
Suffix="{DynamicResource SliderUnits_Multiplier}"
ToolTip="{DynamicResource ServerSettings_Ragnarok_VolcanoIntervalTooltip}"/>
@ -3189,6 +3224,8 @@
<cctl:AnnotatedSlider Margin="1" Label="{DynamicResource ServerSettings_BabyCuddleIntervalMultiplierLabel}" Value="{Binding BabyCuddleIntervalMultiplier}" Suffix="{DynamicResource SliderUnits_Multiplier}" Minimum="0" Maximum="10" SmallChange="0.1" LargeChange="1" TickFrequency="1" ToolTip="{DynamicResource ServerSettings_BabyCuddleIntervalMultiplierTooltip}"/>
<cctl:AnnotatedSlider Margin="1" Label="{DynamicResource ServerSettings_BabyCuddleGracePeriodMultiplierLabel}" Value="{Binding BabyCuddleGracePeriodMultiplier}" Suffix="{DynamicResource SliderUnits_Multiplier}" Minimum="0" Maximum="10" SmallChange="0.1" LargeChange="1" TickFrequency="1" ToolTip="{DynamicResource ServerSettings_BabyCuddleGracePeriodMultiplierTooltip}"/>
<cctl:AnnotatedSlider Margin="1" Label="{DynamicResource ServerSettings_BabyCuddleLoseImprintQualitySpeedMultiplierLabel}" Value="{Binding BabyCuddleLoseImprintQualitySpeedMultiplier}" Suffix="{DynamicResource SliderUnits_Multiplier}" Minimum="0" Maximum="10" SmallChange="0.1" LargeChange="1" TickFrequency="1" ToolTip="{DynamicResource ServerSettings_BabyCuddleLoseImprintQualitySpeedMultiplierTooltip}"/>
<cctl:AnnotatedCheckBoxAndIntegerSlider Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Margin="1" Label="{DynamicResource ServerSettings_ImprintlimitLabel}" Suffix="{DynamicResource SliderUnits_Percentage}" Value="{Binding Imprintlimit}" ToolTip="{DynamicResource ServerSettings_ImprintlimitTooltip}" Minimum="0" Maximum="101" VerticalAlignment="Center" LargeChange="10" SmallChange="1" TickFrequency="1"/>
</StackPanel>
</GroupBox>
</StackPanel>

View file

@ -4302,6 +4302,10 @@ namespace ServerManagerTool
case ServerSettingsResetAction.ServerLogOptions:
this.Settings.ResetServerLogOptions();
break;
case ServerSettingsResetAction.ServerBadWordFilterOptions:
this.Settings.ResetServerBadWordFilterOptions();
break;
}
},
canExecute: (action) => true

View file

@ -5,7 +5,40 @@
<title>Ark Server Manager Version Feed</title>
<subtitle>This is the Ark Server Manager release version feed.</subtitle>
<link href="https://arkservermanager.freeforums.net/" />
<updated>2023-06-03T00:00:00Z</updated>
<updated>2023-06-09T00:00:00Z</updated>
<entry>
<id></id>
<title>1.1.441 (1.1.441.1)</title>
<summary>1.1.441.1</summary>
<link href="" />
<updated>2023-06-09T00:00:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml" style="font-family: Arial, Verdana, Helvetica, Sans-Serif;font-size: .8em;">
<p>
<u style="font-size: .9em;">BUGFIX</u>
<br/>
<ul>
<li>Gamedata File - set Rhyniognatha as tameable.</li>
</ul>
<u style="font-size: .9em;">CHANGE</u>
<br/>
<ul>
<li>Gamedata File - add all events (as info: all events are color events only).</li>
<li>Administration - add bad word filter.</li>
<li>Administration - remove deprecated settings.</li>
<li>Rules Section - allow decimal values for Ragnarok Volcano Interval.</li>
<li>Dino Settings - add max imprint limit.</li>
<li>Global Settings - add option to run auto backup sequential.</li>
</ul>
</p>
</div>
</content>
<author>
<name>Lacoi</name>
<email></email>
</author>
</entry>
<entry>
<id>urn:uuid:B948336E-C3F9-4313-8C64-1DC8B335D270</id>

View file

@ -5,24 +5,31 @@
<title>Ark Server Manager Version Feed</title>
<subtitle>This is the Ark Server Manager beta version feed.</subtitle>
<link href="https://arkservermanager.freeforums.net/" />
<updated>2023-06-03T00:00:00Z</updated>
<updated>2023-06-09T00:00:00Z</updated>
<entry>
<id>urn:uuid:7F0BA11C-79B8-45D4-A8ED-2C782AE16CE6</id>
<title>1.1.440 (1.1.440.2)</title>
<summary>1.1.440.2</summary>
<id></id>
<title>1.1.441 (1.1.441.1)</title>
<summary>1.1.441.1</summary>
<link href="" />
<updated>2023-06-03T00:00:00Z</updated>
<updated>2023-06-09T00:00:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml" style="font-family: Arial, Verdana, Helvetica, Sans-Serif;font-size: .8em;">
<p>
<u style="font-size: .9em;">BUGFIX</u>
<br/>
<ul>
<li>Gamedata File - set Rhyniognatha as tameable.</li>
</ul>
<u style="font-size: .9em;">CHANGE</u>
<br/>
<ul>
<li>Gamedata File Updated - Rhyniognatha added to base gamedata file.</li>
<li>Administraion - add settings: SecureSendArKPayload, UseItemDupeCheck, UseSecureSpawnRules.</li>
<li>Server Details - Event Color percentage override.</li>
<li>Rules - Fjordhawk inventory cooldown.</li>
<li>Gamedata File - add all events (as info: all events are color events only).</li>
<li>Administration - add bad word filter.</li>
<li>Administration - remove deprecated settings.</li>
<li>Rules Section - allow decimal values for Ragnarok Volcano Interval.</li>
<li>Dino Settings - add max imprint limit.</li>
<li>Global Settings - add option to run auto backup sequential.</li>
</ul>
</p>
</div>
@ -33,27 +40,4 @@
</author>
</entry>
<entry>
<id>urn:uuid:B948336E-C3F9-4313-8C64-1DC8B335D270</id>
<title>1.1.440 (1.1.440.1)</title>
<summary>1.1.440.1</summary>
<link href="" />
<updated>2023-01-24T00:00:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml" style="font-family: Arial, Verdana, Helvetica, Sans-Serif;font-size: .8em;">
<p>
<u style="font-size: .9em;">CHANGE</u>
<br/>
<ul>
<li>ru-RU Translation file updated.</li>
</ul>
</p>
</div>
</content>
<author>
<name>bletch</name>
<email>bletch1971@hotmail.com</email>
</author>
</entry>
</feed>