Branch and Event Details moved to new Server Details section, easier to perform profile sync.

This commit is contained in:
Brett Hewitson 2022-03-02 12:58:54 +10:00
parent 5a30f57b0b
commit cc84a85850
26 changed files with 464 additions and 343 deletions

View file

@ -879,6 +879,9 @@
<setting name="ServerMonitorWindow_WindowState" serializeAs="String">
<value>Normal</value>
</setting>
<setting name="SectionServerDetailsIsExpanded" serializeAs="String">
<value>False</value>
</setting>
</ServerManagerTool.Config>
</userSettings>
</configuration>

View file

@ -3114,5 +3114,17 @@ namespace ServerManagerTool {
this["ServerMonitorWindow_WindowState"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool SectionServerDetailsIsExpanded {
get {
return ((bool)(this["SectionServerDetailsIsExpanded"]));
}
set {
this["SectionServerDetailsIsExpanded"] = value;
}
}
}
}

View file

@ -857,5 +857,8 @@
<Setting Name="ServerMonitorWindow_WindowState" Type="System.Windows.WindowState" Scope="User">
<Value Profile="(Default)">Normal</Value>
</Setting>
<Setting Name="SectionServerDetailsIsExpanded" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>

View file

@ -6,6 +6,7 @@
Administration,
AutomaticManagement,
DiscordBot,
ServerDetails,
Rules,
ChatAndNotifications,
HudAndVisuals,

View file

@ -5,6 +5,7 @@
// Sections
AdministrationSection,
DiscordBotSection,
ServerDetailsSection,
RulesSection,
ChatAndNotificationsSection,
HudAndVisualsSection,

View file

@ -1191,18 +1191,6 @@
<sys:String x:Key="ServerSettings_WebAlarmNote">NOTE: The server manager does not provide the Web Alarms functionality, it just allows you to enable/disable the Web Alarms and create the necessary AlarmPostCredentials file.</sys:String>
<sys:String x:Key="ServerSettings_WebAlarmErrorTitle">Web Alarm Error</sys:String>
<sys:String x:Key="ServerSettings_BranchLabel">Branch Details</sys:String>
<sys:String x:Key="ServerSettings_BranchNameLabel">Branch Name:</sys:String>
<sys:String x:Key="ServerSettings_BranchNameTooltip">The name of the branch to download (leave blank to use the release branch).</sys:String>
<sys:String x:Key="ServerSettings_BranchPasswordLabel">Branch Password:</sys:String>
<sys:String x:Key="ServerSettings_BranchPasswordTooltip">The password that is used to access the branch download.</sys:String>
<sys:String x:Key="ServerSettings_BranchClearErrorTitle">Clear Branch Error</sys:String>
<sys:String x:Key="ServerSettings_EventLabel">Event Details</sys:String>
<sys:String x:Key="ServerSettings_EventNote">NOTE: Enabling an event on your server should only be done when the official event is running. If you enable the event before or after the official dates, the event may cause your server to become unstable, or may not work at all.</sys:String>
<sys:String x:Key="ServerSettings_EventNameLabel">Active Event:</sys:String>
<sys:String x:Key="ServerSettings_EventNameTooltip">The name of the event to enable (leave blank to disable the event).</sys:String>
<sys:String x:Key="ServerSettings_CommandLineLabel">Command Line</sys:String>
<sys:String x:Key="ServerSettings_ProcessPriorityLabel">Priority:</sys:String>
<sys:String x:Key="ServerSettings_ProcessPriorityTooltip">Set the application priority when starting the server.</sys:String>
@ -1262,6 +1250,22 @@
<sys:String x:Key="ServerSettings_AllowDiscordUpdateTooltip">If enabled, the profile will listen for update commands from discord.</sys:String>
<!--#endregion-->
<!--#region Server Settings - Server Details -->
<sys:String x:Key="ServerSettings_ServerDetailsLabel">Server Details</sys:String>
<sys:String x:Key="ServerSettings_BranchLabel">Branch Details</sys:String>
<sys:String x:Key="ServerSettings_BranchNameLabel">Branch Name:</sys:String>
<sys:String x:Key="ServerSettings_BranchNameTooltip">The name of the branch to download (leave blank to use the release branch).</sys:String>
<sys:String x:Key="ServerSettings_BranchPasswordLabel">Branch Password:</sys:String>
<sys:String x:Key="ServerSettings_BranchPasswordTooltip">The password that is used to access the branch download.</sys:String>
<sys:String x:Key="ServerSettings_BranchClearErrorTitle">Clear Branch Error</sys:String>
<sys:String x:Key="ServerSettings_EventLabel">Event Details</sys:String>
<sys:String x:Key="ServerSettings_EventNote">NOTE: Enabling an event on your server should only be done when the official event is running. If you enable the event before or after the official dates, the event may cause your server to become unstable, or may not work at all.</sys:String>
<sys:String x:Key="ServerSettings_EventNameLabel">Active Event:</sys:String>
<sys:String x:Key="ServerSettings_EventNameTooltip">The name of the event to enable (leave blank to disable the event).</sys:String>
<!--#endregion-->
<!--#region Server Settings - Rules -->
<sys:String x:Key="ServerSettings_RulesLabel">Rules</sys:String>
<sys:String x:Key="ServerSettings_EnableHardcoreLabel">Enable Hardcore Mode</sys:String>

View file

@ -490,7 +490,8 @@
<sys:String x:Key="GlobalSettings_ResetButtonTooltip">Isso redefinirá TODAS as configurações globais do usuário para o gerenciador do servidor. O gerenciador do servidor será fechado se for bem-sucedido.</sys:String>
<sys:String x:Key="GlobalSettings_RunAsAdministratorLabel">Ativar e executar como Prompt de Administrador na Inicialização</sys:String>
<sys:String x:Key="GlobalSettings_CheckIfServerManagerRunningOnStartupLabel">Verificar se o Server Manager está em execução na inicialização</sys:String>
<sys:String x:Key="GlobalSettings_StartModeLabel">Modo de início da janela principal:</sys:String>
<sys:String x:Key="GlobalSettings_StartModeLabel">Modo de iníciar a janela ASM:</sys:String>
<sys:String x:Key="GlobalSettings_StartModeServerMonitorLabel">Modo de iníciar O Monitor do servidor:</sys:String>
<sys:String x:Key="GlobalSettings_MinimizeToTrayLabel">Minimizar para a bandeja</sys:String>
<sys:String x:Key="GlobalSettings_ManageFirewallLabel">Gerenciar configurações de firewall automaticamente</sys:String>
<sys:String x:Key="GlobalSettings_ManagePublicIPLabel">Gerenciar IP público automaticamente</sys:String>
@ -538,6 +539,8 @@
<sys:String x:Key="GlobalSettings_ValidateProfileOnServerStartTooltip">Se ativado, quando você iniciar manualmente o servidor, uma validação básica será executada nos arquivos server e mod. NOTA: Não será realizado se o Ark Mod Management estiver ativado.</sys:String>
<sys:String x:Key="GlobalSettings_ServerUpdateOnServerStartLabel">Executar atualização do servidor e mod no início do servidor</sys:String>
<sys:String x:Key="GlobalSettings_ServerUpdateOnServerStartTooltip">Se habilitado, quando você iniciar manualmente o servidor, o servidor e os arquivos mod serão atualizados para a versão mais recente. NOTA: Não será realizado se o Ark Mod Management estiver ativado.</sys:String>
<sys:String x:Key="GlobalSettings_ServerStartMinimizedLabel">Iniciar servidor minimizado</sys:String>
<sys:String x:Key="GlobalSettings_ServerStartMinimizedTooltip">Se ativado, quando o servidor for iniciado, a janela de comando será minimizada, caso contrário, abrirá normalmente.</sys:String>
<sys:String x:Key="GlobalSettings_SteamSettingsLabel">Configurações da Steam</sys:String>
<sys:String x:Key="GlobalSettings_SteamCmdRemoveQuitLabel">Parar o fechamento do SteamCMD (use apenas para depuração)</sys:String>
@ -1211,6 +1214,8 @@
<sys:String x:Key="ServerSettings_LauncherArgsTooltip">Args de linha de comando adicionais para o ativador do servidor. Use isso com cautela! Para mais informações, consulte 'Microsoft Start Command' na internet.</sys:String>
<sys:String x:Key="ServerSettings_LauncherArgsOverrideLabel">Substituir lançador</sys:String>
<sys:String x:Key="ServerSettings_LauncherArgsOverrideTooltip">Se ativado, o arquivo RunServer.cmd conterá apenas o que está incluído no campo Argumentos do ativador.</sys:String>
<sys:String x:Key="ServerSettings_LauncherArgsPrefixLabel">Prefixo Launcher</sys:String>
<sys:String x:Key="ServerSettings_LauncherArgsPrefixTooltip">Se ativado, o arquivo RunServer.cmd incluirá o campo Launcher Args antes do início do servidor (permitirá que outros arquivos sejam executados antes que o servidor seja iniciado).</sys:String>
<sys:String x:Key="ServerSettings_ServerArgsLabel">Args do servidor:</sys:String>
<sys:String x:Key="ServerSettings_ServerArgsTooltip">Args de linha de comando adicionais para o servidor. Se você especificar isso, adicione os argumentos que começam com? Primeiro, seguidos por quaisquer outros argumentos. Por exemplo:?MaxPlayers=5?QueryPort=9999-nosteamclient</sys:String>
<sys:String x:Key="ServerSettings_ShowCommandButtonLabel">Mostrar comando ...</sys:String>

View file

@ -9,7 +9,7 @@
<!--#region Generic -->
<sys:String x:Key="Generic_TranslatedByLabel">Последнее обновление:</sys:String>
<sys:String x:Key="Generic_TranslatedBy">27.01.2022 от Varlonec, Эдван</sys:String>
<sys:String x:Key="Generic_TranslatedBy">18.02.2022 от Varlonec, Эдван</sys:String>
<sys:String x:Key="Generic_ErrorLabel">Ошибка</sys:String>
<!--#endregion-->
@ -328,17 +328,17 @@
<sys:String x:Key="ProfileSyncWindow_ProfileTitle">Синхронизировать профиль - {0}</sys:String>
<sys:String x:Key="ProfileSyncWindow_Load_FailedTitle">Ошибка при синхронизации профиля</sys:String>
<sys:String x:Key="ProfileSyncWindow_Process_Title">Процесс синхронизации профиля</sys:String>
<sys:String x:Key="ProfileSyncWindow_Process_ConfirmLabel">Перезаписывание выбранных параметров раздела текущего профиля с настройками выбранного профиля. Вы не сможете отменить, вы хотите продолжить?</sys:String>
<sys:String x:Key="ProfileSyncWindow_Process_ConfirmLabel">В указанных вами профилях будут перезаписаны параметры выбранных вами разделов настройками из текущего профиля. Операция не обратима, вы не сможете вернуть прежние настройки выбранных профилей. Хотите продолжить?</sys:String>
<sys:String x:Key="ProfileSyncWindow_Process_FailedTitle">Ошибка процесса синхронизации профиля</sys:String>
<sys:String x:Key="ProfileSyncWindow_Process_NoProfilesSelectedLabel">Вы не выбрали профиль для копирования.</sys:String>
<sys:String x:Key="ProfileSyncWindow_Process_NoSectionsSelectedLabel">Вы не выбрали разделы для копирования настроек.</sys:String>
<sys:String x:Key="ProfileSyncWindow_Process_SuccessLabel">Настройки из выбранных разделов были успешно скопированы из выбранного профиля в текущий профиль.</sys:String>
<sys:String x:Key="ProfileSyncWindow_Process_SuccessLabel">Настройки выбранных разделов были успешно скопированы из текущего профиля в выбранные профили.</sys:String>
<sys:String x:Key="ProfileSyncWindow_SelectAllButtonLabel">Выбрать все</sys:String>
<sys:String x:Key="ProfileSyncWindow_UnselectAllButtonLabel">Снять все выделения</sys:String>
<sys:String x:Key="ProfileSyncWindow_ProcessButtonLabel">Процесс</sys:String>
<sys:String x:Key="ProfileSyncWindow_CloseButtonLabel">Отмена</sys:String>
<sys:String x:Key="ProfileSyncWindow_SyncInformationLabel">Эта форма скопирует выбранные настройки из выбранного профиля в текущий профиль.</sys:String>
<sys:String x:Key="ProfileSyncWindow_SyncInformationLabel">Эта форма скопирует указанные настройки из текущего профиля в выбранные профили.</sys:String>
<sys:String x:Key="ProfileSyncWindow_SelectedColumnLabel">Копировать</sys:String>
<sys:String x:Key="ProfileSyncWindow_ProfileNameColumnLabel">Профиль</sys:String>

View file

@ -780,30 +780,6 @@ namespace ServerManagerTool.Lib
set { SetValue(ClusterDirOverrideProperty, value); }
}
public static readonly DependencyProperty BranchNameProperty = DependencyProperty.Register(nameof(BranchName), typeof(string), typeof(ServerProfile), new PropertyMetadata(String.Empty));
[DataMember]
public string BranchName
{
get { return (string)GetValue(BranchNameProperty); }
set { SetValue(BranchNameProperty, value); }
}
public static readonly DependencyProperty BranchPasswordProperty = DependencyProperty.Register(nameof(BranchPassword), typeof(string), typeof(ServerProfile), new PropertyMetadata(String.Empty));
[DataMember]
public string BranchPassword
{
get { return (string)GetValue(BranchPasswordProperty); }
set { SetValue(BranchPasswordProperty, value); }
}
public static readonly DependencyProperty EventNameProperty = DependencyProperty.Register(nameof(EventName), typeof(string), typeof(ServerProfile), new PropertyMetadata(String.Empty));
[DataMember]
public string EventName
{
get { return (string)GetValue(EventNameProperty); }
set { SetValue(EventNameProperty, value); }
}
public static readonly DependencyProperty ProcessPriorityProperty = DependencyProperty.Register(nameof(ProcessPriority), typeof(string), typeof(ServerProfile), new PropertyMetadata("normal"));
[DataMember]
public string ProcessPriority
@ -1033,6 +1009,32 @@ namespace ServerManagerTool.Lib
}
#endregion
#region Server Details
public static readonly DependencyProperty BranchNameProperty = DependencyProperty.Register(nameof(BranchName), typeof(string), typeof(ServerProfile), new PropertyMetadata(String.Empty));
[DataMember]
public string BranchName
{
get { return (string)GetValue(BranchNameProperty); }
set { SetValue(BranchNameProperty, value); }
}
public static readonly DependencyProperty BranchPasswordProperty = DependencyProperty.Register(nameof(BranchPassword), typeof(string), typeof(ServerProfile), new PropertyMetadata(String.Empty));
[DataMember]
public string BranchPassword
{
get { return (string)GetValue(BranchPasswordProperty); }
set { SetValue(BranchPasswordProperty, value); }
}
public static readonly DependencyProperty EventNameProperty = DependencyProperty.Register(nameof(EventName), typeof(string), typeof(ServerProfile), new PropertyMetadata(String.Empty));
[DataMember]
public string EventName
{
get { return (string)GetValue(EventNameProperty); }
set { SetValue(EventNameProperty, value); }
}
#endregion
#region Rules
public static readonly DependencyProperty EnableHardcoreProperty = DependencyProperty.Register(nameof(EnableHardcore), typeof(bool), typeof(ServerProfile), new PropertyMetadata(false));
[IniFileEntry(IniFiles.GameUserSettings, IniSections.GUS_ServerSettings, ServerProfileCategory.Rules, "ServerHardcore")]
@ -5253,10 +5255,6 @@ namespace ServerManagerTool.Lib
this.ClearValue(CrossArkClusterIdProperty);
this.ClearValue(ClusterDirOverrideProperty);
this.ClearValue(BranchNameProperty);
this.ClearValue(BranchPasswordProperty);
this.ClearValue(EventNameProperty);
this.ClearValue(ProcessPriorityProperty);
this.ClearValue(ProcessAffinityProperty);
@ -5610,6 +5608,14 @@ namespace ServerManagerTool.Lib
this.ClearNullableValue(ItemStatClamps_HyperthermalInsulationProperty);
}
public void ResetServerDetailsSection()
{
this.ClearValue(BranchNameProperty);
this.ClearValue(BranchPasswordProperty);
this.ClearValue(EventNameProperty);
}
public void ResetSOTFSection()
{
this.ClearValue(SOTF_EnabledProperty);
@ -5731,6 +5737,9 @@ namespace ServerManagerTool.Lib
case ServerProfileCategory.DiscordBot:
SyncDiscordBot(sourceProfile);
break;
case ServerProfileCategory.ServerDetails:
SyncServerDetails(sourceProfile);
break;
case ServerProfileCategory.Rules:
SyncRulesSection(sourceProfile);
break;
@ -5857,10 +5866,6 @@ namespace ServerManagerTool.Lib
this.SetValue(WebAlarmKeyProperty, sourceProfile.WebAlarmKey);
this.SetValue(WebAlarmUrlProperty, sourceProfile.WebAlarmUrl);
this.SetValue(BranchNameProperty, sourceProfile.BranchName);
this.SetValue(BranchPasswordProperty, sourceProfile.BranchPassword);
this.SetValue(EventNameProperty, sourceProfile.EventName);
this.SetValue(LauncherArgsOverrideProperty, sourceProfile.LauncherArgsOverride);
this.SetValue(LauncherArgsProperty, sourceProfile.LauncherArgs);
this.SetValue(AdditionalArgsProperty, sourceProfile.AdditionalArgs);
@ -6318,6 +6323,14 @@ namespace ServerManagerTool.Lib
this.SetNullableValue(ItemStatClamps_HyperthermalInsulationProperty, sourceProfile.ItemStatClamps_HyperthermalInsulation);
}
private void SyncServerDetails(ServerProfile sourceProfile)
{
this.SetValue(BranchNameProperty, sourceProfile.BranchName);
this.SetValue(BranchPasswordProperty, sourceProfile.BranchPassword);
this.SetValue(EventNameProperty, sourceProfile.EventName);
}
private void SyncServerFiles(ServerProfile sourceProfile)
{
this.SetValue(ServerFilesAdminsProperty, sourceProfile.ServerFilesAdmins);

View file

@ -1254,112 +1254,6 @@
</Grid>
</GroupBox>
<GroupBox Grid.Row="11" Grid.Column="0" Grid.ColumnSpan="6" Header="{DynamicResource ServerSettings_BranchLabel}" DataContext="{Binding Runtime, ElementName=SettingsControl}" Visibility="{Binding Settings.SOTF_Enabled, ElementName=SettingsControl, Converter={StaticResource InvertBooleanToVisibilityConverter}}">
<GroupBox.Style>
<Style BasedOn="{StaticResource GroupBoxStyle}" TargetType="{x:Type GroupBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="true"/>
</DataTrigger>
</Style.Triggers>
</Style>
</GroupBox.Style>
<Grid DataContext="{Binding Settings, ElementName=SettingsControl}">
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" Content="{DynamicResource ServerSettings_BranchNameLabel}" VerticalAlignment="Center" ToolTip="{DynamicResource ServerSettings_BranchNameTooltip}"/>
<ComboBox Grid.Row="0" Grid.Column="1" Margin="1" Name="BranchComboBox" ItemsSource="{Binding BaseBranches, ElementName=SettingsControl}" SelectedValue="{Binding BranchName, Mode=TwoWay, UpdateSourceTrigger=Explicit}" SelectedValuePath="ValueMember" DisplayMemberPath="DisplayMember" IsEditable="True" ToolTip="{DynamicResource ServerSettings_BranchNameTooltip}" LostFocus="ComboBoxItemList_LostFocus" PreviewMouseWheel="ComboBox_PreviewMouseWheel"/>
<Label Grid.Row="0" Grid.Column="2" Content="{DynamicResource ServerSettings_BranchPasswordLabel}" VerticalAlignment="Center" ToolTip="{DynamicResource ServerSettings_BranchPasswordTooltip}"/>
<TextBox Grid.Row="0" Grid.Column="3" Name="HideBranchPasswordTextBox" Text="{DynamicResource ServerSettings_HidePasswordText}" ToolTip="{DynamicResource ServerSettings_HidePasswordTooltip}" GotFocus="HiddenField_GotFocus" Margin="1" Style="{StaticResource HiddenTextBoxStyle}"/>
<TextBox Grid.Row="0" Grid.Column="3" Name="BranchPasswordTextBox" Text="{Binding BranchPassword}" ToolTip="{DynamicResource ServerSettings_BranchPasswordTooltip}" LostFocus="HiddenField_LostFocus" VerticalContentAlignment="Center" Visibility="Collapsed" Margin="1"/>
</Grid>
</GroupBox>
<GroupBox Grid.Row="12" Grid.Column="0" Grid.ColumnSpan="6" Header="{DynamicResource ServerSettings_EventLabel}" DataContext="{Binding Runtime, ElementName=SettingsControl}" Visibility="{Binding Settings.SOTF_Enabled, ElementName=SettingsControl, Converter={StaticResource InvertBooleanToVisibilityConverter}}">
<GroupBox.Style>
<Style BasedOn="{StaticResource GroupBoxStyle}" TargetType="{x:Type GroupBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="true"/>
</DataTrigger>
</Style.Triggers>
</Style>
</GroupBox.Style>
<Grid DataContext="{Binding Settings, ElementName=SettingsControl}">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" Content="{DynamicResource ServerSettings_EventNameLabel}" VerticalAlignment="Center" ToolTip="{DynamicResource ServerSettings_EventNameTooltip}"/>
<ComboBox Grid.Row="0" Grid.Column="1" Margin="1" Name="EventComboBox" ItemsSource="{Binding BaseEvents, ElementName=SettingsControl}" SelectedValue="{Binding EventName, Mode=TwoWay, UpdateSourceTrigger=Explicit}" SelectedValuePath="ValueMember" DisplayMemberPath="DisplayMember" IsEditable="True" ToolTip="{DynamicResource ServerSettings_EventNameTooltip}" LostFocus="ComboBoxItemList_LostFocus" PreviewMouseWheel="ComboBox_PreviewMouseWheel"/>
<TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="6" Margin="5,0,5,0" Text="{DynamicResource ServerSettings_EventNote}" FontWeight="Bold" TextWrapping="WrapWithOverflow" IsEnabled="False"/>
</Grid>
</GroupBox>
<GroupBox Grid.Row="13" Grid.Column="0" Grid.ColumnSpan="6" Header="{DynamicResource ServerSettings_CommandLineLabel}" Style="{StaticResource GroupBoxStyle}">
<Grid>
<Grid.RowDefinitions>
@ -1654,6 +1548,155 @@
</Grid>
</Expander>
<Expander Name="SectionServerDetails" IsExpanded="{Binding Config.SectionServerDetailsIsExpanded, ElementName=SettingsControl, FallbackValue=True, Mode=TwoWay}">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{DynamicResource ServerSettings_ServerDetailsLabel}" Style="{StaticResource ExpanderHeaderTextStyle}"/>
<Button Margin="20,0,0,0" ToolTip="{DynamicResource ServerSettings_ResetSectionTooltip}" Style="{StaticResource ButtonStyle1}"
IsEnabled="{Binding ElementName=SectionServerDetails, Path=IsExpanded}"
Command="{Binding ResetActionCommand, ElementName=SettingsControl}" CommandParameter="{x:Static enum:ServerSettingsResetAction.ServerDetailsSection}">
<Image Source="{com:Icon Path=/Ark Server Manager;component/Art/Refresh.ico,Size=32}"/>
</Button>
</StackPanel>
</Expander.Header>
<Expander.Style>
<Style BasedOn="{StaticResource ExpanderStyle1}" TargetType="{x:Type Expander}">
<Setter Property="Template" Value="{StaticResource ExpanderTemplateSE}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=EnableSOTFCheckbox, Path=IsChecked}" Value="True">
<Setter Property="Template" Value="{StaticResource ExpanderTemplateSotF}"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=EnablePGMCheckbox, Path=IsChecked}" Value="True">
<Setter Property="Template" Value="{StaticResource ExpanderTemplatePGM}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Expander.Style>
<Grid Margin="-8,0,2,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="100"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto" MinWidth="100"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto" MinWidth="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<GroupBox Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="6" Header="{DynamicResource ServerSettings_BranchLabel}" DataContext="{Binding Runtime, ElementName=SettingsControl}" Visibility="{Binding Settings.SOTF_Enabled, ElementName=SettingsControl, Converter={StaticResource InvertBooleanToVisibilityConverter}}">
<GroupBox.Style>
<Style BasedOn="{StaticResource GroupBoxStyle}" TargetType="{x:Type GroupBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="true"/>
</DataTrigger>
</Style.Triggers>
</Style>
</GroupBox.Style>
<Grid DataContext="{Binding Settings, ElementName=SettingsControl}">
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" Content="{DynamicResource ServerSettings_BranchNameLabel}" VerticalAlignment="Center" ToolTip="{DynamicResource ServerSettings_BranchNameTooltip}"/>
<ComboBox Grid.Row="0" Grid.Column="1" Margin="1" Name="BranchComboBox" ItemsSource="{Binding BaseBranches, ElementName=SettingsControl}" SelectedValue="{Binding BranchName, Mode=TwoWay, UpdateSourceTrigger=Explicit}" SelectedValuePath="ValueMember" DisplayMemberPath="DisplayMember" IsEditable="True" ToolTip="{DynamicResource ServerSettings_BranchNameTooltip}" LostFocus="ComboBoxItemList_LostFocus" PreviewMouseWheel="ComboBox_PreviewMouseWheel"/>
<Label Grid.Row="0" Grid.Column="2" Content="{DynamicResource ServerSettings_BranchPasswordLabel}" VerticalAlignment="Center" ToolTip="{DynamicResource ServerSettings_BranchPasswordTooltip}"/>
<TextBox Grid.Row="0" Grid.Column="3" Name="HideBranchPasswordTextBox" Text="{DynamicResource ServerSettings_HidePasswordText}" ToolTip="{DynamicResource ServerSettings_HidePasswordTooltip}" GotFocus="HiddenField_GotFocus" Margin="1" Style="{StaticResource HiddenTextBoxStyle}"/>
<TextBox Grid.Row="0" Grid.Column="3" Name="BranchPasswordTextBox" Text="{Binding BranchPassword}" ToolTip="{DynamicResource ServerSettings_BranchPasswordTooltip}" LostFocus="HiddenField_LostFocus" VerticalContentAlignment="Center" Visibility="Collapsed" Margin="1"/>
</Grid>
</GroupBox>
<GroupBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="6" Header="{DynamicResource ServerSettings_EventLabel}" DataContext="{Binding Runtime, ElementName=SettingsControl}" Visibility="{Binding Settings.SOTF_Enabled, ElementName=SettingsControl, Converter={StaticResource InvertBooleanToVisibilityConverter}}">
<GroupBox.Style>
<Style BasedOn="{StaticResource GroupBoxStyle}" TargetType="{x:Type GroupBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="true"/>
</DataTrigger>
</Style.Triggers>
</Style>
</GroupBox.Style>
<Grid DataContext="{Binding Settings, ElementName=SettingsControl}">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto" MinWidth="100" />
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" Content="{DynamicResource ServerSettings_EventNameLabel}" VerticalAlignment="Center" ToolTip="{DynamicResource ServerSettings_EventNameTooltip}"/>
<ComboBox Grid.Row="0" Grid.Column="1" Margin="1" Name="EventComboBox" ItemsSource="{Binding BaseEvents, ElementName=SettingsControl}" SelectedValue="{Binding EventName, Mode=TwoWay, UpdateSourceTrigger=Explicit}" SelectedValuePath="ValueMember" DisplayMemberPath="DisplayMember" IsEditable="True" ToolTip="{DynamicResource ServerSettings_EventNameTooltip}" LostFocus="ComboBoxItemList_LostFocus" PreviewMouseWheel="ComboBox_PreviewMouseWheel"/>
<TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="6" Margin="5,0,5,0" Text="{DynamicResource ServerSettings_EventNote}" FontWeight="Bold" TextWrapping="WrapWithOverflow" IsEnabled="False"/>
</Grid>
</GroupBox>
</Grid>
</Expander>
<Expander Name="SectionRules" IsExpanded="{Binding Config.SectionRulesIsExpanded, ElementName=SettingsControl, FallbackValue=True, Mode=TwoWay}">
<Expander.Header>
<StackPanel Orientation="Horizontal">

View file

@ -4025,6 +4025,10 @@ namespace ServerManagerTool
this.Settings.ResetRulesSection();
break;
case ServerSettingsResetAction.ServerDetailsSection:
this.Settings.ResetServerDetailsSection();
break;
case ServerSettingsResetAction.SOTFSection:
this.Settings.ResetSOTFSection();
break;

View file

@ -5,7 +5,32 @@
<title>Ark Server Manager Version Feed</title>
<subtitle>This is the Ark Server Manager release version feed.</subtitle>
<link href="http://arkservermanager.freeforums.net/" />
<updated>2022-02-17T00:00:00Z</updated>
<updated>2022-03-02T00:00:00Z</updated>
<entry>
<id>urn:uuid:F70DF42B-2D85-43DA-93EC-D20DF620A119</id>
<title>1.1.418 (1.1.418.1)</title>
<summary>1.1.418.1</summary>
<link href="" />
<updated>2022-03-02T00: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>Branch and Event Details moved to new Server Details section, easier to perform profile sync.</li>
<li>pt-BR Translation file updated.</li>
<li>ru-RU Translation file updated.</li>
</ul>
</p>
</div>
</content>
<author>
<name>bletch</name>
<email>bletch1971@hotmail.com</email>
</author>
</entry>
<entry>
<id>urn:uuid:65FE9F13-6403-4A18-A8DB-366564B0456E</id>

View file

@ -5,68 +5,23 @@
<title>Ark Server Manager Version Feed</title>
<subtitle>This is the Ark Server Manager beta version feed.</subtitle>
<link href="http://arkservermanager.freeforums.net/" />
<updated>2022-02-17T00:00:00Z</updated>
<updated>2022-03-02T00:00:00Z</updated>
<entry>
<id>urn:uuid:3EB18641-5510-4FC6-9788-543682BA37DC</id>
<title>1.1.417 (1.1.417.3)</title>
<summary>1.1.417.3</summary>
<id>urn:uuid:F70DF42B-2D85-43DA-93EC-D20DF620A119</id>
<title>1.1.418 (1.1.418.1)</title>
<summary>1.1.418.1</summary>
<link href="" />
<updated>2022-02-17T00:00:00Z</updated>
<updated>2022-03-02T00: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>Added confirmation message box when stopping server.</li>
</ul>
</p>
</div>
</content>
<author>
<name>bletch</name>
<email>bletch1971@hotmail.com</email>
</author>
</entry>
<entry>
<id>urn:uuid:3EB18641-5510-4FC6-9788-543682BA37DC</id>
<title>1.1.417 (1.1.417.2)</title>
<summary>1.1.417.2</summary>
<link href="" />
<updated>2022-01-25T00: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>Fixed prefix launcher option bug.</li>
</ul>
</p>
</div>
</content>
<author>
<name>bletch</name>
<email>bletch1971@hotmail.com</email>
</author>
</entry>
<entry>
<id>urn:uuid:65FE9F13-6403-4A18-A8DB-366564B0456E</id>
<title>1.1.417 (1.1.417.1)</title>
<summary>1.1.417.1</summary>
<link href="" />
<updated>2022-01-25T00: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>Added prefix launcher option to launcher arguments.</li>
<li>Added server monitor window startup state to global settings.</li>
<li>Branch and Event Details moved to new Server Details section, easier to perform profile sync.</li>
<li>pt-BR Translation file updated.</li>
<li>ru-RU Translation file updated.</li>
</ul>
</p>
</div>

View file

@ -217,6 +217,7 @@ namespace ServerManagerTool
SyncSections.Add(new SyncSection() { Selected = false, Category = ServerProfileCategory.AutomaticManagement, SectionName = _globalizer.GetResourceString("ServerSettings_AutomaticManagementLabel") });
if (Config.Default.DiscordBotEnabled)
SyncSections.Add(new SyncSection() { Selected = false, Category = ServerProfileCategory.DiscordBot, SectionName = _globalizer.GetResourceString("ServerSettings_DiscordBotLabel") });
SyncSections.Add(new SyncSection() { Selected = false, Category = ServerProfileCategory.ServerDetails, SectionName = _globalizer.GetResourceString("ServerSettings_ServerDetailsLabel") });
SyncSections.Add(new SyncSection() { Selected = false, Category = ServerProfileCategory.Rules, SectionName = _globalizer.GetResourceString("ServerSettings_RulesLabel") });
SyncSections.Add(new SyncSection() { Selected = false, Category = ServerProfileCategory.ChatAndNotifications, SectionName = _globalizer.GetResourceString("ServerSettings_ChatAndNotificationsLabel") });
SyncSections.Add(new SyncSection() { Selected = false, Category = ServerProfileCategory.HudAndVisuals, SectionName = _globalizer.GetResourceString("ServerSettings_HUDAndVisualsLabel") });