mirror of
https://github.com/tribufu/ServerManagers
synced 2026-05-06 15:17:34 +00:00
Broadcast Message Changes
1. Added config option for auto processes to use broadcast keyword 2. Added config to global settings
This commit is contained in:
parent
220b3d9c77
commit
fc658b04dd
22 changed files with 196 additions and 55 deletions
|
|
@ -882,6 +882,9 @@
|
|||
<setting name="SectionServerDetailsIsExpanded" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="RCON_MessageCommand" serializeAs="String">
|
||||
<value>Broadcast</value>
|
||||
</setting>
|
||||
</ServerManagerTool.Config>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
|
|
|
|||
14
src/ARKServerManager/Config.Designer.cs
generated
14
src/ARKServerManager/Config.Designer.cs
generated
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -860,5 +860,8 @@
|
|||
<Setting Name="SectionServerDetailsIsExpanded" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="RCON_MessageCommand" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">Broadcast</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,6 +7,29 @@
|
|||
<link href="http://arkservermanager.freeforums.net/" />
|
||||
<updated>2022-03-22T00:00:00Z</updated>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:95C9671F-4AEC-4433-AD68-CF91854FEC1B</id>
|
||||
<title>1.1.422 (1.1.422.1)</title>
|
||||
<summary>1.1.422.1</summary>
|
||||
<link href="" />
|
||||
<updated>2022-03-22T00: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>Changed the auto process message broadcast to use a config setting, not a hardcoded value.</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
</content>
|
||||
<author>
|
||||
<name>bletch</name>
|
||||
<email>bletch1971@hotmail.com</email>
|
||||
</author>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:B6B3F1F1-610F-4294-9891-43DD245A5E0A</id>
|
||||
<title>1.1.421 (1.1.421.1)</title>
|
||||
|
|
|
|||
|
|
@ -5,21 +5,21 @@
|
|||
<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-03-22T00:00:00Z</updated>
|
||||
<updated>2022-03-23T00:00:00Z</updated>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:B6B3F1F1-610F-4294-9891-43DD245A5E0A</id>
|
||||
<title>1.1.421 (1.1.421.1)</title>
|
||||
<summary>1.1.421.1</summary>
|
||||
<id>urn:uuid:95C9671F-4AEC-4433-AD68-CF91854FEC1B</id>
|
||||
<title>1.1.422 (1.1.422.1)</title>
|
||||
<summary>1.1.422.1</summary>
|
||||
<link href="" />
|
||||
<updated>2022-03-22T00:00:00Z</updated>
|
||||
<updated>2022-03-23T00: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>
|
||||
<u style="font-size: .9em;">CHANGE</u>
|
||||
<br/>
|
||||
<ul>
|
||||
<li>Fixed a bug that would prevent auto processes from sending through broadcast messages to the clients.</li>
|
||||
<li>Changed the auto process message broadcast to use a config setting, not a hardcoded value.</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -657,6 +657,9 @@
|
|||
<setting name="SectionServerDetailsIsExpanded" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="RCON_MessageCommand" serializeAs="String">
|
||||
<value>Broadcast</value>
|
||||
</setting>
|
||||
</ServerManagerTool.Config>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
14
src/ConanServerManager/Config.Designer.cs
generated
14
src/ConanServerManager/Config.Designer.cs
generated
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -635,5 +635,8 @@
|
|||
<Setting Name="SectionServerDetailsIsExpanded" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="RCON_MessageCommand" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">Broadcast</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
|
|
@ -523,6 +523,8 @@
|
|||
<sys:String x:Key="InputMode_Command">Command</sys:String>
|
||||
<sys:String x:Key="InputMode_Global">Global</sys:String>
|
||||
<sys:String x:Key="InputMode_Broadcast">Broadcast</sys:String>
|
||||
<sys:String x:Key="InputMode_Alert">Alert (requires Pippi mod)</sys:String>
|
||||
<sys:String x:Key="InputMode_Server">Server (requires Pippi mod)</sys:String>
|
||||
|
||||
<sys:String x:Key="ConsoleStatus_Disconnected">Disconnected</sys:String>
|
||||
<sys:String x:Key="ConsoleStatus_Connected">Connected</sys:String>
|
||||
|
|
@ -922,6 +924,9 @@
|
|||
<sys:String x:Key="GlobalSettings_Alerts_ModUpdateDetectedTooltip">This message will be displayed when the server manager detects one or more mods are out of date.</sys:String>
|
||||
<sys:String x:Key="GlobalSettings_Alerts_ForceRespawnDinosLabel">Force Respawn Creatures Warning:</sys:String>
|
||||
<sys:String x:Key="GlobalSettings_Alerts_ForceRespawnDinosTooltip">This message will be displayed when the server is being started and a wild creature wipe is scheduled.</sys:String>
|
||||
|
||||
<sys:String x:Key="GlobalSettings_RCON_ModeLabel">RCON Broadcast Mode:</sys:String>
|
||||
<sys:String x:Key="GlobalSettings_RCON_ModeTooltip">Select the method used by the server manager to send auto process messages to the game clients via RCON.</sys:String>
|
||||
<!--#endregion-->
|
||||
|
||||
<!--#region Server Settings Control-->
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -743,6 +743,11 @@
|
|||
<cctl:AnnotatedSlider Grid.Row="6" Grid.Column="0" Margin="0" Label="{DynamicResource GlobalSettings_LoggingMaxArchiveDaysLabel}" Value="{Binding Config.LoggingMaxArchiveDays}" Minimum="1" Maximum="365" SmallChange="1" LargeChange="5" TickFrequency="5" LabelRelativeWidth="Auto" SliderRelativeWidth="15*" SuffixRelativeWidth="Auto" SuffixRelativeMinWidth="40" Suffix="{DynamicResource SliderUnits_Days}" ToolTip="{DynamicResource GlobalSettings_LoggingMaxArchiveDaysTooltip}" IsEnabled="{Binding Config.LoggingEnabled}"/>
|
||||
|
||||
<cctl:AnnotatedSlider Grid.Row="7" Grid.Column="0" Margin="0" Label="{DynamicResource GlobalSettings_LoggingMaxArchiveFilesLabel}" Value="{Binding Config.LoggingMaxArchiveFiles}" Minimum="1" Maximum="1000" SmallChange="1" LargeChange="5" TickFrequency="5" LabelRelativeWidth="Auto" SliderRelativeWidth="15*" SuffixRelativeWidth="Auto" SuffixRelativeMinWidth="40" Suffix="{DynamicResource SliderUnits_Files}" ToolTip="{DynamicResource GlobalSettings_LoggingMaxArchiveFilesTooltip}" IsEnabled="{Binding Config.LoggingEnabled}"/>
|
||||
|
||||
<StackPanel Grid.Row="7" Grid.Column="1" Margin="0" Orientation="Horizontal">
|
||||
<Label Content="{DynamicResource GlobalSettings_RCON_ModeLabel}" VerticalAlignment="Center"/>
|
||||
<ComboBox Name="RconMessageModesComboBox" Margin="5" ItemsSource="{Binding ElementName=GlobalSettings, Path=RconMessageModes}" SelectedValue="{Binding Config.RCON_MessageCommand}" ToolTip="{DynamicResource GlobalSettings_RCON_ModeTooltip}" SelectedValuePath="ValueMember" DisplayMemberPath="DisplayMember" PreviewMouseWheel="ComboBox_PreviewMouseWheel"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
|
|
|
|||
|
|
@ -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<DiscordBotWhitelistItem>), 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<DiscordBotWhitelistItem>();
|
||||
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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,6 +7,31 @@
|
|||
<link href="http://servermanagers.freeforums.net/" />
|
||||
<updated>2022-03-22T00:00:00Z</updated>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:59A5E20B-D3B2-4FDB-8E03-F0C3022C344F</id>
|
||||
<title>1.1.65 (1.1.65.1)</title>
|
||||
<summary>1.1.65.1</summary>
|
||||
<link href="" />
|
||||
<updated>2022-03-23T00: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>RCON Window - added two addional RCON broadcast methods, both require Pippi mod - Alert and Server.</li>
|
||||
<li>Global Settings - added RCON broadcast mode droplist, so auto processes can send messages via RCON using this mode.</li>
|
||||
<li>Auto Processes - changed the message broadcast to use the new config setting, not a hardcoded value.</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
</content>
|
||||
<author>
|
||||
<name>bletch</name>
|
||||
<email>bletch1971@hotmail.com</email>
|
||||
</author>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:674D8E81-FB1B-42D9-8309-41AE40D5192F</id>
|
||||
<title>1.1.64 (1.1.64.1)</title>
|
||||
|
|
|
|||
|
|
@ -5,21 +5,23 @@
|
|||
<title>Conan Server Manager Version Feed</title>
|
||||
<subtitle>This is the Conan Server Manager beta version feed.</subtitle>
|
||||
<link href="http://servermanagers.freeforums.net/" />
|
||||
<updated>2022-03-22T00:00:00Z</updated>
|
||||
<updated>2022-03-23T00:00:00Z</updated>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:674D8E81-FB1B-42D9-8309-41AE40D5192F</id>
|
||||
<title>1.1.64 (1.1.64.1)</title>
|
||||
<summary>1.1.64.1</summary>
|
||||
<id>urn:uuid:59A5E20B-D3B2-4FDB-8E03-F0C3022C344F</id>
|
||||
<title>1.1.65 (1.1.65.1)</title>
|
||||
<summary>1.1.65.1</summary>
|
||||
<link href="" />
|
||||
<updated>2022-03-22T00:00:00Z</updated>
|
||||
<updated>2022-03-23T00: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>
|
||||
<u style="font-size: .9em;">CHANGE</u>
|
||||
<br/>
|
||||
<ul>
|
||||
<li>Fixed a bug that would prevent auto processes from sending through broadcast messages to the clients.</li>
|
||||
<li>RCON Window - added two addional RCON broadcast methods, both require Pippi mod - Alert and Server.</li>
|
||||
<li>Global Settings - added RCON broadcast mode droplist, so auto processes can send messages via RCON using this mode.</li>
|
||||
<li>Auto Processes - changed the message broadcast to use the new config setting, not a hardcoded value.</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -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}");
|
||||
|
|
|
|||
|
|
@ -71,20 +71,7 @@
|
|||
|
||||
<cctl:AnnotatedSlider Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Margin="1" Label="{DynamicResource ShutdownWindow_ShutdownIntervalLabel}" Value="{Binding ShutdownInterval}" Minimum="0" Maximum="60" SmallChange="1" LargeChange="5" TickFrequency="1" LabelRelativeWidth="Auto" SliderRelativeWidth="15*" SuffixRelativeWidth="Auto" Suffix="{DynamicResource SliderUnits_Minutes}" IsEnabled="{Binding ShutdownStarted, Converter={StaticResource InvertBooleanConverter}}" ToolTip="{DynamicResource ShutdownWindow_ShutdownIntervalTooltip}"/>
|
||||
|
||||
<CheckBox Grid.Row="2" Grid.Column="0" Margin="5" Content="{DynamicResource ShutdownWindow_BackupWorldFileLabel}" IsChecked="{Binding BackupWorldFile}" IsEnabled="{Binding ShutdownStarted, Converter={StaticResource InvertBooleanConverter}}" ToolTip="{DynamicResource ShutdownWindow_BackupWorldFileTooltip}" HorizontalAlignment="Left">
|
||||
<CheckBox.Style>
|
||||
<Style BasedOn="{StaticResource {x:Type CheckBox}}" TargetType="{x:Type CheckBox}">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding Server.Profile.SOTF_Enabled}" Value="True">
|
||||
<Setter Property="Visibility" Value="Collapsed"/>
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding Server.Profile.SOTF_Enabled}" Value="False">
|
||||
<Setter Property="Visibility" Value="Visible"/>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</CheckBox.Style>
|
||||
</CheckBox>
|
||||
<CheckBox Grid.Row="2" Grid.Column="0" Margin="5" Content="{DynamicResource ShutdownWindow_BackupWorldFileLabel}" IsChecked="{Binding BackupWorldFile}" IsEnabled="{Binding ShutdownStarted, Converter={StaticResource InvertBooleanConverter}}" ToolTip="{DynamicResource ShutdownWindow_BackupWorldFileTooltip}" HorizontalAlignment="Left"/>
|
||||
<CheckBox Grid.Row="2" Grid.Column="1" Margin="5" Content="{DynamicResource ShutdownWindow_UpdateServerLabel}" IsChecked="{Binding UpdateServer}" IsEnabled="{Binding ShutdownStarted, Converter={StaticResource InvertBooleanConverter}}" ToolTip="{DynamicResource ShutdownWindow_UpdateServerTooltip}" HorizontalAlignment="Left"/>
|
||||
|
||||
<CheckBox Grid.Row="3" Grid.Column="0" Margin="5" Content="{DynamicResource ShutdownWindow_RestartServerLabel}" IsChecked="{Binding RestartServer}" IsEnabled="{Binding ShutdownStarted, Converter={StaticResource InvertBooleanConverter}}" ToolTip="{DynamicResource ShutdownWindow_RestartServerTooltip}" HorizontalAlignment="Left"/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue