From fc658b04dd119e287f990686ee0a48225c9612d0 Mon Sep 17 00:00:00 2001 From: Brett Hewitson Date: Tue, 22 Mar 2022 22:20:37 +1000 Subject: [PATCH] Broadcast Message Changes 1. Added config option for auto processes to use broadcast keyword 2. Added config to global settings --- src/ARKServerManager/App.config | 3 ++ src/ARKServerManager/Config.Designer.cs | 14 ++++++++- src/ARKServerManager/Config.settings | 3 ++ src/ARKServerManager/Lib/ServerApp.cs | 2 +- src/ARKServerManager/Lib/ServerRCON.cs | 9 ++++-- src/ARKServerManager/Lib/ServerRuntime.cs | 2 +- src/ARKServerManager/VersionFeed.xml | 23 ++++++++++++++ src/ARKServerManager/VersionFeedBeta.xml | 14 ++++----- .../Windows/RCONWindow.xaml.cs | 18 ++++------- src/ConanServerManager/App.config | 3 ++ src/ConanServerManager/Config.Designer.cs | 14 ++++++++- src/ConanServerManager/Config.settings | 3 ++ .../Globalization/en-US/en-US.xaml | 5 ++++ src/ConanServerManager/Lib/ServerApp.cs | 2 +- src/ConanServerManager/Lib/ServerRcon.cs | 20 +++++++++++-- src/ConanServerManager/Lib/ServerRuntime.cs | 2 +- .../UserControls/GlobalSettingsControl.xaml | 5 ++++ .../GlobalSettingsControl.xaml.cs | 30 +++++++++++++++++++ src/ConanServerManager/VersionFeed.xml | 25 ++++++++++++++++ src/ConanServerManager/VersionFeedBeta.xml | 16 +++++----- .../Windows/RconWindow.xaml.cs | 23 ++++++++++++-- .../Windows/ShutdownWindow.xaml | 15 +--------- 22 files changed, 196 insertions(+), 55 deletions(-) diff --git a/src/ARKServerManager/App.config b/src/ARKServerManager/App.config index 243db532..5de97710 100644 --- a/src/ARKServerManager/App.config +++ b/src/ARKServerManager/App.config @@ -882,6 +882,9 @@ False + + Broadcast + diff --git a/src/ARKServerManager/Config.Designer.cs b/src/ARKServerManager/Config.Designer.cs index 79ca36dd..1fc7c1c5 100644 --- a/src/ARKServerManager/Config.Designer.cs +++ b/src/ARKServerManager/Config.Designer.cs @@ -12,7 +12,7 @@ namespace ServerManagerTool { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.1.0.0")] public sealed partial class Config : global::System.Configuration.ApplicationSettingsBase { private static Config defaultInstance = ((Config)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Config()))); @@ -3126,5 +3126,17 @@ namespace ServerManagerTool { this["SectionServerDetailsIsExpanded"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Broadcast")] + public string RCON_MessageCommand { + get { + return ((string)(this["RCON_MessageCommand"])); + } + set { + this["RCON_MessageCommand"] = value; + } + } } } diff --git a/src/ARKServerManager/Config.settings b/src/ARKServerManager/Config.settings index 393c59de..9485ab3a 100644 --- a/src/ARKServerManager/Config.settings +++ b/src/ARKServerManager/Config.settings @@ -860,5 +860,8 @@ False + + Broadcast + \ No newline at end of file diff --git a/src/ARKServerManager/Lib/ServerApp.cs b/src/ARKServerManager/Lib/ServerApp.cs index 7d23d30d..f882d92c 100644 --- a/src/ARKServerManager/Lib/ServerApp.cs +++ b/src/ARKServerManager/Lib/ServerApp.cs @@ -2655,7 +2655,7 @@ namespace ServerManagerTool.Lib if (string.IsNullOrWhiteSpace(message) || !SendMessages) return false; - var sent = await SendCommandAsync($"{ServerRCON.RCON_COMMAND_BROADCAST} {message}", false); + var sent = await SendCommandAsync($"{Config.Default.RCON_MessageCommand.ToLower()} {message}", false); if (sent) { diff --git a/src/ARKServerManager/Lib/ServerRCON.cs b/src/ARKServerManager/Lib/ServerRCON.cs index 6dd0b8fc..4f498db2 100644 --- a/src/ARKServerManager/Lib/ServerRCON.cs +++ b/src/ARKServerManager/Lib/ServerRCON.cs @@ -323,7 +323,8 @@ namespace ServerManagerTool.Lib command.suppressOutput = false; command.lines = HandleListPlayersCommand(command.lines); } - else if (command.command.Equals(RCON_COMMAND_GETCHAT, StringComparison.OrdinalIgnoreCase)) + + if (command.command.Equals(RCON_COMMAND_GETCHAT, StringComparison.OrdinalIgnoreCase)) { // TODO: Extract the player name from the chat var lines = command.lines.Where(l => !string.IsNullOrEmpty(l) && l != NoResponseOutput); @@ -342,12 +343,14 @@ namespace ServerManagerTool.Lib } } } - else if (command.command.Equals(RCON_COMMAND_BROADCAST, StringComparison.OrdinalIgnoreCase)) + + if (command.command.Equals(RCON_COMMAND_BROADCAST, StringComparison.OrdinalIgnoreCase)) { LogEvent(LogEventType.Chat, command.rawCommand); command.suppressOutput = true; } - else if (command.command.Equals(RCON_COMMAND_SERVERCHAT, StringComparison.OrdinalIgnoreCase)) + + if (command.command.Equals(RCON_COMMAND_SERVERCHAT, StringComparison.OrdinalIgnoreCase)) { LogEvent(LogEventType.Chat, command.rawCommand); command.suppressOutput = true; diff --git a/src/ARKServerManager/Lib/ServerRuntime.cs b/src/ARKServerManager/Lib/ServerRuntime.cs index 78a39566..daaa814f 100644 --- a/src/ARKServerManager/Lib/ServerRuntime.cs +++ b/src/ARKServerManager/Lib/ServerRuntime.cs @@ -1166,7 +1166,7 @@ namespace ServerManagerTool.Lib if (string.IsNullOrWhiteSpace(message)) return false; - var sent = await SendCommandAsync($"{ServerRCON.RCON_COMMAND_BROADCAST} {message}", false); + var sent = await SendCommandAsync($"{Config.Default.RCON_MessageCommand.ToLower()} {message}", false); if (sent) { diff --git a/src/ARKServerManager/VersionFeed.xml b/src/ARKServerManager/VersionFeed.xml index 75e32221..3f7248a7 100644 --- a/src/ARKServerManager/VersionFeed.xml +++ b/src/ARKServerManager/VersionFeed.xml @@ -7,6 +7,29 @@ 2022-03-22T00:00:00Z + + urn:uuid:95C9671F-4AEC-4433-AD68-CF91854FEC1B + 1.1.422 (1.1.422.1) + 1.1.422.1 + + 2022-03-22T00:00:00Z + +
+

+ CHANGE +
+

    +
  • Changed the auto process message broadcast to use a config setting, not a hardcoded value.
  • +
+

+
+
+ + bletch + bletch1971@hotmail.com + +
+ urn:uuid:B6B3F1F1-610F-4294-9891-43DD245A5E0A 1.1.421 (1.1.421.1) diff --git a/src/ARKServerManager/VersionFeedBeta.xml b/src/ARKServerManager/VersionFeedBeta.xml index 4c032a0d..9ced0d0a 100644 --- a/src/ARKServerManager/VersionFeedBeta.xml +++ b/src/ARKServerManager/VersionFeedBeta.xml @@ -5,21 +5,21 @@ Ark Server Manager Version Feed This is the Ark Server Manager beta version feed. - 2022-03-22T00:00:00Z + 2022-03-23T00:00:00Z - urn:uuid:B6B3F1F1-610F-4294-9891-43DD245A5E0A - 1.1.421 (1.1.421.1) - 1.1.421.1 + urn:uuid:95C9671F-4AEC-4433-AD68-CF91854FEC1B + 1.1.422 (1.1.422.1) + 1.1.422.1 - 2022-03-22T00:00:00Z + 2022-03-23T00:00:00Z

- BUGFIX + CHANGE

    -
  • Fixed a bug that would prevent auto processes from sending through broadcast messages to the clients.
  • +
  • Changed the auto process message broadcast to use a config setting, not a hardcoded value.

diff --git a/src/ARKServerManager/Windows/RCONWindow.xaml.cs b/src/ARKServerManager/Windows/RCONWindow.xaml.cs index 10ae25a5..bb2e8178 100644 --- a/src/ARKServerManager/Windows/RCONWindow.xaml.cs +++ b/src/ARKServerManager/Windows/RCONWindow.xaml.cs @@ -441,7 +441,7 @@ namespace ServerManagerTool execute: (_) => { var message = _globalizer.GetResourceString("RCON_SaveWorldLabel"); - this.ServerRCON.IssueCommand($"{ServerRCON.RCON_COMMAND_BROADCAST} {message}"); + this.ServerRCON.IssueCommand($"{Config.Default.RCON_MessageCommand.ToLower()} {message}"); this.ServerRCON.IssueCommand(Config.Default.ServerSaveCommand); }, @@ -458,7 +458,7 @@ namespace ServerManagerTool execute: (_) => { var message = _globalizer.GetResourceString("RCON_DestroyWildDinosLabel"); - this.ServerRCON.IssueCommand($"{ServerRCON.RCON_COMMAND_BROADCAST} {message}"); + this.ServerRCON.IssueCommand($"{Config.Default.RCON_MessageCommand.ToLower()} {message}"); this.ServerRCON.IssueCommand(ServerRCON.RCON_COMMAND_WILDDINOWIPE); }, @@ -801,6 +801,10 @@ namespace ServerManagerTool switch (effectiveMode) { + case InputMode.Command: + this.ServerRCON.IssueCommand(commandText); + break; + case InputMode.Broadcast: this.ServerRCON.IssueCommand($"{ServerRCON.RCON_COMMAND_BROADCAST} {commandText}"); break; @@ -815,16 +819,6 @@ namespace ServerManagerTool this.ServerRCON.IssueCommand($"{ServerRCON.RCON_COMMAND_SERVERCHAT} {commandText}"); } break; - - case InputMode.Command: - this.ServerRCON.IssueCommand(commandText); - break; - -#if false - case InputMode.Chat: - this.ServerRCON.IssueCommand(textBox.Text); - break; -#endif } } diff --git a/src/ConanServerManager/App.config b/src/ConanServerManager/App.config index b86bafda..3ce4670d 100644 --- a/src/ConanServerManager/App.config +++ b/src/ConanServerManager/App.config @@ -657,6 +657,9 @@ False + + Broadcast + \ No newline at end of file diff --git a/src/ConanServerManager/Config.Designer.cs b/src/ConanServerManager/Config.Designer.cs index 2e2eab69..b9e02610 100644 --- a/src/ConanServerManager/Config.Designer.cs +++ b/src/ConanServerManager/Config.Designer.cs @@ -12,7 +12,7 @@ namespace ServerManagerTool { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.1.0.0")] public sealed partial class Config : global::System.Configuration.ApplicationSettingsBase { private static Config defaultInstance = ((Config)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Config()))); @@ -2309,5 +2309,17 @@ namespace ServerManagerTool { this["SectionServerDetailsIsExpanded"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Broadcast")] + public string RCON_MessageCommand { + get { + return ((string)(this["RCON_MessageCommand"])); + } + set { + this["RCON_MessageCommand"] = value; + } + } } } diff --git a/src/ConanServerManager/Config.settings b/src/ConanServerManager/Config.settings index b831c96a..f625c684 100644 --- a/src/ConanServerManager/Config.settings +++ b/src/ConanServerManager/Config.settings @@ -635,5 +635,8 @@ False + + Broadcast + \ No newline at end of file diff --git a/src/ConanServerManager/Globalization/en-US/en-US.xaml b/src/ConanServerManager/Globalization/en-US/en-US.xaml index 5af13fec..f5ad33ba 100644 --- a/src/ConanServerManager/Globalization/en-US/en-US.xaml +++ b/src/ConanServerManager/Globalization/en-US/en-US.xaml @@ -523,6 +523,8 @@ Command Global Broadcast + Alert (requires Pippi mod) + Server (requires Pippi mod) Disconnected Connected @@ -922,6 +924,9 @@ This message will be displayed when the server manager detects one or more mods are out of date. Force Respawn Creatures Warning: This message will be displayed when the server is being started and a wild creature wipe is scheduled. + + RCON Broadcast Mode: + Select the method used by the server manager to send auto process messages to the game clients via RCON. diff --git a/src/ConanServerManager/Lib/ServerApp.cs b/src/ConanServerManager/Lib/ServerApp.cs index 8cdd1d85..ef374b27 100644 --- a/src/ConanServerManager/Lib/ServerApp.cs +++ b/src/ConanServerManager/Lib/ServerApp.cs @@ -2548,7 +2548,7 @@ namespace ServerManagerTool.Lib if (string.IsNullOrWhiteSpace(message) || !SendMessages) return false; - var sent = await SendCommandAsync($"{ServerRcon.RCON_COMMAND_BROADCAST} {message}", false); + var sent = await SendCommandAsync($"{Config.Default.RCON_MessageCommand.ToLower()} {message}", false); if (sent) { diff --git a/src/ConanServerManager/Lib/ServerRcon.cs b/src/ConanServerManager/Lib/ServerRcon.cs index a7ceba57..4900b4ca 100644 --- a/src/ConanServerManager/Lib/ServerRcon.cs +++ b/src/ConanServerManager/Lib/ServerRcon.cs @@ -27,6 +27,8 @@ namespace ServerManagerTool.Lib public const string NoResponseOutput = "NO_RESPONSE"; public const string RCON_COMMAND_BROADCAST = "broadcast"; + public const string RCON_COMMAND_ALERT = "alert"; + public const string RCON_COMMAND_SERVER = "server"; public const string RCON_COMMAND_LISTPLAYERS = "#managerplayerlist#"; public event EventHandler PlayersCollectionUpdated; @@ -245,16 +247,28 @@ namespace ServerManagerTool.Lib // // Perform per-command special processing to extract data // + if (command?.command?.Equals(RCON_COMMAND_LISTPLAYERS, StringComparison.OrdinalIgnoreCase) ?? false) + { + command.suppressCommand = true; + command.suppressOutput = false; + } + if (command?.command?.Equals(RCON_COMMAND_BROADCAST, StringComparison.OrdinalIgnoreCase) ?? false) { LogEvent(LogEventType.Chat, command.rawCommand); command.suppressOutput = true; } - if (command?.command?.Equals(RCON_COMMAND_LISTPLAYERS, StringComparison.OrdinalIgnoreCase) ?? false) + if (command?.command?.Equals(RCON_COMMAND_ALERT, StringComparison.OrdinalIgnoreCase) ?? false) { - command.suppressCommand = true; - command.suppressOutput = false; + LogEvent(LogEventType.Chat, command.rawCommand); + command.suppressOutput = true; + } + + if (command?.command?.Equals(RCON_COMMAND_SERVER, StringComparison.OrdinalIgnoreCase) ?? false) + { + LogEvent(LogEventType.Chat, command.rawCommand); + command.suppressOutput = true; } } diff --git a/src/ConanServerManager/Lib/ServerRuntime.cs b/src/ConanServerManager/Lib/ServerRuntime.cs index 1dcae6b3..835203f8 100644 --- a/src/ConanServerManager/Lib/ServerRuntime.cs +++ b/src/ConanServerManager/Lib/ServerRuntime.cs @@ -1153,7 +1153,7 @@ namespace ServerManagerTool.Lib if (string.IsNullOrWhiteSpace(message)) return false; - var sent = await SendCommandAsync($"{ServerRcon.RCON_COMMAND_BROADCAST} {message}", false); + var sent = await SendCommandAsync($"{Config.Default.RCON_MessageCommand.ToLower()} {message}", false); if (sent) { diff --git a/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml b/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml index 77d0f99c..3684dc34 100644 --- a/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml +++ b/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml @@ -743,6 +743,11 @@ + + + diff --git a/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml.cs b/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml.cs index 1d8a4ea9..ec4d6f7a 100644 --- a/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml.cs +++ b/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml.cs @@ -35,6 +35,7 @@ namespace ServerManagerTool public static readonly DependencyProperty WindowStatesServerMonitorProperty = DependencyProperty.Register(nameof(WindowStatesServerMonitor), typeof(ComboBoxItemList), typeof(GlobalSettingsControl), new PropertyMetadata(null)); public static readonly DependencyProperty DiscordBotLogLevelsProperty = DependencyProperty.Register(nameof(DiscordBotLogLevels), typeof(ComboBoxItemList), typeof(GlobalSettingsControl), new PropertyMetadata(null)); public static readonly DependencyProperty DiscordBotWhitelistProperty = DependencyProperty.Register(nameof(DiscordBotWhitelist), typeof(List), typeof(GlobalSettingsControl), new PropertyMetadata(null)); + public static readonly DependencyProperty RconMessageModesProperty = DependencyProperty.Register(nameof(RconMessageModes), typeof(ComboBoxItemList), typeof(GlobalSettingsControl), new PropertyMetadata(null)); public GlobalSettingsControl() { @@ -50,6 +51,7 @@ namespace ServerManagerTool PopulateWindowsStatesMainWindowComboBox(); PopulateWindowsStatesServerMonitorWindowComboBox(); PopulateDiscordBotLogLevelsComboBox(); + PopulateRconMessageModesComboBox(); DiscordBotWhitelist = new List(); if (Config.DiscordBotWhitelist != null) @@ -114,6 +116,12 @@ namespace ServerManagerTool set { SetValue(DiscordBotWhitelistProperty, value); } } + public ComboBoxItemList RconMessageModes + { + get { return (ComboBoxItemList)GetValue(RconMessageModesProperty); } + set { SetValue(RconMessageModesProperty, value); } + } + public void ApplyChangesToConfig() { if (Config.DiscordBotWhitelist is null) @@ -414,6 +422,7 @@ namespace ServerManagerTool PopulateWindowsStatesMainWindowComboBox(); PopulateWindowsStatesServerMonitorWindowComboBox(); + PopulateRconMessageModesComboBox(); App.Instance.OnResourceDictionaryChanged(Config.CultureName); } @@ -554,6 +563,27 @@ namespace ServerManagerTool } } + private void PopulateRconMessageModesComboBox() + { + var selectedValue = this.RconMessageModesComboBox?.SelectedValue ?? Config.RCON_MessageCommand; + var list = new ComboBoxItemList(); + + foreach (InputMode inputMode in Enum.GetValues(typeof(InputMode))) + { + if (inputMode == InputMode.Command) + continue; + + var displayMember = _globalizer.GetResourceString($"InputMode_{inputMode}") ?? inputMode.ToString(); + list.Add(new Common.Model.ComboBoxItem(inputMode.ToString(), displayMember)); + } + + this.RconMessageModes = list; + if (this.RconMessageModesComboBox != null) + { + this.RconMessageModesComboBox.SelectedValue = selectedValue; + } + } + #region Discord Bot Whitelist private void AddDiscordBotWhitelist_Click(object sender, RoutedEventArgs e) { diff --git a/src/ConanServerManager/VersionFeed.xml b/src/ConanServerManager/VersionFeed.xml index 41fa0899..82429441 100644 --- a/src/ConanServerManager/VersionFeed.xml +++ b/src/ConanServerManager/VersionFeed.xml @@ -7,6 +7,31 @@ 2022-03-22T00:00:00Z + + urn:uuid:59A5E20B-D3B2-4FDB-8E03-F0C3022C344F + 1.1.65 (1.1.65.1) + 1.1.65.1 + + 2022-03-23T00:00:00Z + +
+

+ CHANGE +
+

    +
  • RCON Window - added two addional RCON broadcast methods, both require Pippi mod - Alert and Server.
  • +
  • Global Settings - added RCON broadcast mode droplist, so auto processes can send messages via RCON using this mode.
  • +
  • Auto Processes - changed the message broadcast to use the new config setting, not a hardcoded value.
  • +
+

+
+
+ + bletch + bletch1971@hotmail.com + +
+ urn:uuid:674D8E81-FB1B-42D9-8309-41AE40D5192F 1.1.64 (1.1.64.1) diff --git a/src/ConanServerManager/VersionFeedBeta.xml b/src/ConanServerManager/VersionFeedBeta.xml index d7547e80..dd313b12 100644 --- a/src/ConanServerManager/VersionFeedBeta.xml +++ b/src/ConanServerManager/VersionFeedBeta.xml @@ -5,21 +5,23 @@ Conan Server Manager Version Feed This is the Conan Server Manager beta version feed. - 2022-03-22T00:00:00Z + 2022-03-23T00:00:00Z - urn:uuid:674D8E81-FB1B-42D9-8309-41AE40D5192F - 1.1.64 (1.1.64.1) - 1.1.64.1 + urn:uuid:59A5E20B-D3B2-4FDB-8E03-F0C3022C344F + 1.1.65 (1.1.65.1) + 1.1.65.1 - 2022-03-22T00:00:00Z + 2022-03-23T00:00:00Z

- BUGFIX + CHANGE

    -
  • Fixed a bug that would prevent auto processes from sending through broadcast messages to the clients.
  • +
  • RCON Window - added two addional RCON broadcast methods, both require Pippi mod - Alert and Server.
  • +
  • Global Settings - added RCON broadcast mode droplist, so auto processes can send messages via RCON using this mode.
  • +
  • Auto Processes - changed the message broadcast to use the new config setting, not a hardcoded value.

diff --git a/src/ConanServerManager/Windows/RconWindow.xaml.cs b/src/ConanServerManager/Windows/RconWindow.xaml.cs index 94831f88..69ea5cff 100644 --- a/src/ConanServerManager/Windows/RconWindow.xaml.cs +++ b/src/ConanServerManager/Windows/RconWindow.xaml.cs @@ -27,8 +27,9 @@ namespace ServerManagerTool public enum InputMode { Command, - //Global, Broadcast, + Alert, + Server, } public enum InputWindowMode @@ -633,12 +634,20 @@ namespace ServerManagerTool switch (effectiveMode) { + case InputMode.Command: + this.ServerRcon.IssueCommand(commandText); + break; + case InputMode.Broadcast: this.ServerRcon.IssueCommand($"{ServerRcon.RCON_COMMAND_BROADCAST} {commandText}"); break; - case InputMode.Command: - this.ServerRcon.IssueCommand(commandText); + case InputMode.Alert: + this.ServerRcon.IssueCommand($"{ServerRcon.RCON_COMMAND_ALERT} {commandText}"); + break; + + case InputMode.Server: + this.ServerRcon.IssueCommand($"{ServerRcon.RCON_COMMAND_SERVER} {commandText}"); break; } @@ -737,6 +746,14 @@ namespace ServerManagerTool { yield return new RconOutput_Broadcast(command.args); } + else if(command.command.Equals(ServerRcon.RCON_COMMAND_ALERT, StringComparison.OrdinalIgnoreCase)) + { + yield return new RconOutput_Broadcast(command.args); + } + else if(command.command.Equals(ServerRcon.RCON_COMMAND_SERVER, StringComparison.OrdinalIgnoreCase)) + { + yield return new RconOutput_Broadcast(command.args); + } else { yield return new RconOutput_Command($"> {command.rawCommand}"); diff --git a/src/ConanServerManager/Windows/ShutdownWindow.xaml b/src/ConanServerManager/Windows/ShutdownWindow.xaml index e1c5cb14..466e16a7 100644 --- a/src/ConanServerManager/Windows/ShutdownWindow.xaml +++ b/src/ConanServerManager/Windows/ShutdownWindow.xaml @@ -71,20 +71,7 @@ - - - - - +