Skip to content

Commit b574345

Browse files
committed
Fixed Discord webhook test bug. Added server process priority setting.
1 parent 5863869 commit b574345

8 files changed

+411
-298
lines changed

Diff for: DiscordWebhookWindow.xaml

+16-16
Original file line numberDiff line numberDiff line change
@@ -32,29 +32,29 @@
3232
<TextBox x:Name="txtWebhook" HorizontalAlignment="Stretch" Margin="10,5,10,5" TextWrapping="Wrap" VerticalAlignment="Stretch" Grid.Row="1" Grid.ColumnSpan="3"/>
3333
<Label Content="Webhook Messages" ToolTip="To disable the webhook for an event, just erase the messge" HorizontalAlignment="Left" Margin="10,10,0,5" VerticalAlignment="Top" Grid.Row="2" Grid.ColumnSpan="2"/>
3434
<Label Content="Server Started" Margin="10,5,5,5" VerticalAlignment="Center" Grid.Row="3" Grid.Column="0"/>
35-
<TextBox x:Name="OnStarted" Margin="5" Grid.Row="3" Grid.Column="1" />
36-
<Button x:Name="btnTestServerStarted" Content="Test" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="3" Grid.Column="2" Click="btnTestServerStarted_Click"/>
35+
<TextBox x:Name="txtOnStarted" Tag="OnStarted" Margin="5" Grid.Row="3" Grid.Column="1" />
36+
<Button x:Name="btnTestServerStarted" Content="Test" Tag="OnStarted" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="3" Grid.Column="2" Click="btnTestWebhook_Click"/>
3737
<Label Content="Server Start Failed" Margin="10,5,5,5" VerticalAlignment="Center" Grid.Row="4" Grid.Column="0"/>
38-
<TextBox x:Name="OnStartFailed" Margin="5" Grid.Row="4" Grid.Column="1" />
39-
<Button x:Name="btnTestServerStartFailed" Content="Test" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="4" Grid.Column="2" Click="btnTestServerStarted_Click"/>
38+
<TextBox x:Name="txtOnStartFailed" Tag="OnStartFailed" Margin="5" Grid.Row="4" Grid.Column="1" />
39+
<Button x:Name="btnTestServerStartFailed" Content="Test" Tag="OnStartFailed" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="4" Grid.Column="2" Click="btnTestWebhook_Click"/>
4040
<Label Content="Server Stopped" Margin="10,5,5,5" VerticalAlignment="Center" Grid.Row="5" Grid.Column="0"/>
41-
<TextBox x:Name="OnServerExited" Margin="5" Grid.Row="5" Grid.Column="1" />
42-
<Button x:Name="btnTestServerStopped" Content="Test" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="5" Grid.Column="2" Click="btnTestServerStopped_Click"/>
41+
<TextBox x:Name="txtOnServerExited" Tag="OnServerExited" Margin="5" Grid.Row="5" Grid.Column="1" />
42+
<Button x:Name="btnTestServerStopped" Content="Test" Tag="OnServerExited" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="5" Grid.Column="2" Click="btnTestWebhook_Click"/>
4343
<Label Content="Player Connected" Margin="10,5,5,5" VerticalAlignment="Center" Grid.Row="6" Grid.Column="0"/>
44-
<TextBox x:Name="OnPlayerConnected" Margin="5" Grid.Row="6" Grid.Column="1" />
45-
<Button x:Name="btnTestConnected" Content="Test" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="6" Grid.Column="2" Click="btnTestConnected_Click"/>
44+
<TextBox x:Name="txtOnPlayerConnected" Tag="OnPlayerConnected" Margin="5" Grid.Row="6" Grid.Column="1" />
45+
<Button x:Name="btnTestConnected" Content="Test" Tag="OnPlayerConnected" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="6" Grid.Column="2" Click="btnTestWebhook_Click"/>
4646
<Label Content="Player Disconnected" Margin="10,5,5,5" VerticalAlignment="Center" Grid.Row="7" Grid.Column="0"/>
47-
<TextBox x:Name="OnPlayerDisconnected" Margin="6" Grid.Row="7" Grid.Column="1" />
48-
<Button x:Name="btnTestDisconnected" Content="Test" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="7" Grid.Column="2" Click="btnTestDisconnected_Click"/>
47+
<TextBox x:Name="txtOnPlayerDisconnected" Tag="OnPlayerDisconnected" Margin="6" Grid.Row="7" Grid.Column="1" />
48+
<Button x:Name="btnTestDisconnected" Content="Test" Tag="OnPlayerDisconnected" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="7" Grid.Column="2" Click="btnTestWebhook_Click"/>
4949
<Label Content="Player Died" Margin="10,5,5,5" VerticalAlignment="Center" Grid.Row="8" Grid.Column="0"/>
50-
<TextBox x:Name="OnPlayerDied" Margin="5" Grid.Row="8" Grid.Column="1" />
51-
<Button x:Name="btnTestDied" Content="Test" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="8" Grid.Column="2" Click="btnTestDied_Click"/>
50+
<TextBox x:Name="txtOnPlayerDied" Tag="OnPlayerDied" Margin="5" Grid.Row="8" Grid.Column="1" />
51+
<Button x:Name="btnTestDied" Content="Test" Tag="OnPlayerDied" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="8" Grid.Column="2" Click="btnTestWebhook_Click"/>
5252
<Label Content="Wrong Password" Margin="10,5,5,5" VerticalAlignment="Center" Grid.Row="9" Grid.Column="0"/>
53-
<TextBox x:Name="OnFailedPassword" Margin="5" Grid.Row="9" Grid.Column="1" />
54-
<Button x:Name="btnFailedPassword" Content="Test" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="9" Grid.Column="2" Click="btnFailedPassword_Click"/>
53+
<TextBox x:Name="txtOnFailedPassword" Tag="OnFailedPassword" Margin="5" Grid.Row="9" Grid.Column="1" />
54+
<Button x:Name="btnFailedPassword" Content="Test" Tag="OnFailedPassword" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="9" Grid.Column="2" Click="btnTestWebhook_Click"/>
5555
<Label Content="Random Event" Margin="10,5,5,5" VerticalAlignment="Center" Grid.Row="10" Grid.Column="0"/>
56-
<TextBox x:Name="OnRandomServerEvent" Margin="5" Grid.Row="10" Grid.Column="1" />
57-
<Button x:Name="btnRandomServerEvent" Content="Test" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="10" Grid.Column="2" Click="btnRandomServerEvent_Click"/>
56+
<TextBox x:Name="txtOnRandomServerEvent" Tag="OnRandomServerEvent" Margin="5" Grid.Row="10" Grid.Column="1" />
57+
<Button x:Name="btnRandomServerEvent" Content="Test" Tag="OnRandomServerEvent" Margin="0,5,10,5" VerticalAlignment="Center" Grid.Row="10" Grid.Column="2" Click="btnTestWebhook_Click"/>
5858
<Grid Grid.Row="11" Grid.ColumnSpan="3" HorizontalAlignment="Center">
5959
<Grid.ColumnDefinitions>
6060
<ColumnDefinition Width="1*"/>

Diff for: DiscordWebhookWindow.xaml.cs

+26-56
Original file line numberDiff line numberDiff line change
@@ -32,24 +32,24 @@ public DiscordWebhookWindow(ValheimServer server)
3232

3333
txtWebhook.Text = _server.DiscordWebhook;
3434

35-
ContextMenu contextMenu = new ContextMenu();
36-
MenuItem defaultMenu = new MenuItem();
35+
var contextMenu = new ContextMenu();
36+
var defaultMenu = new MenuItem();
3737
contextMenu.Items.Add(defaultMenu);
3838
defaultMenu.Header = "Reset to default";
3939
defaultMenu.Click += DefaultMenu_Click;
4040

41-
messageControls = new List<TextBox>();
42-
messageControls.Add(OnPlayerConnected);
43-
messageControls.Add(OnPlayerDisconnected);
44-
messageControls.Add(OnPlayerDied);
45-
messageControls.Add(OnFailedPassword);
46-
messageControls.Add(OnRandomServerEvent);
47-
messageControls.Add(OnStarted);
48-
messageControls.Add(OnStartFailed);
49-
messageControls.Add(OnServerExited);
50-
foreach (TextBox textBox in messageControls)
41+
messageControls = new();
42+
messageControls.Add(txtOnPlayerConnected);
43+
messageControls.Add(txtOnPlayerDisconnected);
44+
messageControls.Add(txtOnPlayerDied);
45+
messageControls.Add(txtOnFailedPassword);
46+
messageControls.Add(txtOnRandomServerEvent);
47+
messageControls.Add(txtOnStarted);
48+
messageControls.Add(txtOnStartFailed);
49+
messageControls.Add(txtOnServerExited);
50+
foreach (var textBox in messageControls)
5151
{
52-
textBox.Text = server.GetWebhookMessage(textBox.Name);
52+
textBox.Text = server.GetWebhookMessage(textBox.Tag.ToString());
5353
textBox.ContextMenu = contextMenu;
5454
textBox.ContextMenuOpening += TextBox_ContextMenuOpening;
5555
}
@@ -62,66 +62,36 @@ private void TextBox_ContextMenuOpening(object sender, ContextMenuEventArgs e)
6262

6363
private void DefaultMenu_Click(object sender, RoutedEventArgs e)
6464
{
65-
clickedTextBox.Text = _server.DefaultWebhookMessages[clickedTextBox.Name];
66-
}
67-
68-
private void btnTestConnected_Click(object sender, RoutedEventArgs e)
69-
{
70-
_server.SendDiscordWebhook(OnPlayerConnected.Name, new Player("Bjorn", "123456789101112"));
71-
}
72-
73-
private void btnTestDisconnected_Click(object sender, RoutedEventArgs e)
74-
{
75-
_server.SendDiscordWebhook(OnPlayerDisconnected.Name, new Player("Bjorn", "123456789101112"));
76-
}
77-
78-
private void btnTestDied_Click(object sender, RoutedEventArgs e)
79-
{
80-
_server.SendDiscordWebhook(OnPlayerDied.Name, new Player("Bjorn", "123456789101112"));
81-
}
82-
83-
private void btnFailedPassword_Click(object sender, RoutedEventArgs e)
84-
{
85-
_server.SendDiscordWebhook(OnFailedPassword.Name, new Player("Bjorn", "123456789101112"));
86-
}
87-
88-
private void btnRandomServerEvent_Click(object sender, RoutedEventArgs e)
89-
{
90-
_server.SendDiscordWebhook(OnRandomServerEvent.Name, null, "army_bonemass");
65+
clickedTextBox.Text = ValheimServer.DiscordWebhookDefaultMessages[clickedTextBox.Tag.ToString()];
9166
}
9267

9368
private void btnSave_Click(object sender, RoutedEventArgs e)
9469
{
9570
_server.DiscordWebhook = txtWebhook.Text;
96-
foreach (TextBox textBox in messageControls)
71+
foreach (var textBox in messageControls)
9772
{
98-
if (textBox.Text != null && _server.DefaultWebhookMessages.ContainsKey(textBox.Name) && textBox.Text != this._server.DefaultWebhookMessages[textBox.Name])
73+
var webHookName = textBox.Tag.ToString();
74+
if (textBox.Text != null && ValheimServer.DiscordWebhookDefaultMessages.ContainsKey(webHookName) && textBox.Text != ValheimServer.DiscordWebhookDefaultMessages[webHookName])
9975
{
100-
_server.DiscordWebhookMessages[textBox.Name] = textBox.Text;
76+
_server.DiscordWebhookMessages[webHookName] = textBox.Text;
10177
}
102-
else if (_server.DefaultWebhookMessages.ContainsKey(textBox.Name) && textBox.Text == this._server.DefaultWebhookMessages[textBox.Name])
78+
else if (ValheimServer.DiscordWebhookDefaultMessages.ContainsKey(webHookName) && textBox.Text == ValheimServer.DiscordWebhookDefaultMessages[webHookName])
10379
{
104-
if (_server.DiscordWebhookMessages.ContainsKey(textBox.Name))
80+
if (_server.DiscordWebhookMessages.ContainsKey(webHookName))
10581
{
106-
_server.DiscordWebhookMessages.Remove(textBox.Name);
82+
_server.DiscordWebhookMessages.Remove(webHookName);
10783
}
10884
}
10985
}
11086
DialogResult = true;
11187
Close();
11288
}
113-
114-
private void btnTestServerStarted_Click(object sender, RoutedEventArgs e)
115-
{
116-
_server.SendDiscordWebhook(OnStarted.Name, null, null);
117-
}
118-
private void btnTestServerStartFailed_Click(object sender, RoutedEventArgs e)
89+
private void btnTestWebhook_Click(object sender, RoutedEventArgs e)
11990
{
120-
_server.SendDiscordWebhook(OnStartFailed.Name, null, null);
121-
}
122-
private void btnTestServerStopped_Click(object sender, RoutedEventArgs e)
123-
{
124-
_server.SendDiscordWebhook(OnStarted.Name, null, null);
91+
var oldUrl = _server.DiscordWebhook;
92+
_server.DiscordWebhook = txtWebhook.Text;
93+
_server.SendDiscordWebhook(((Button)sender).Tag.ToString(), new Player("Bjorn", "123456789101112"), "army_bonemass");
94+
_server.DiscordWebhook = oldUrl;
12595
}
12696

12797
private void btnCancel_Click(object sender, RoutedEventArgs e)

Diff for: InstallSteamCmdWindow.xaml.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ private void txtServerPath_MouseLeftButtonUp(object sender, MouseButtonEventArgs
126126

127127
private void btnInstallServer_Click(object sender, RoutedEventArgs e)
128128
{
129-
if (!File.Exists(txtServerPath.Text+"\\valheim_server.exe"))
129+
if (!File.Exists($@"{txtServerPath.Text}\{ValheimServer.ExecutableName}"))
130130
{
131131
btnInstallServer.IsEnabled = false;
132132
txtServerPath.MouseLeftButtonUp -= txtServerPath_MouseLeftButtonUp;
@@ -142,7 +142,7 @@ private void btnInstallServer_Click(object sender, RoutedEventArgs e)
142142
else
143143
{
144144
Properties.Settings.Default.ServerInstallType = (int)ValheimServer.ServerInstallMethod.SteamCMD;
145-
Properties.Settings.Default.ServerFilePath = txtServerPath.Text + "\\valheim_server.exe";
145+
Properties.Settings.Default.ServerFilePath = txtServerPath.Text + $@"\{ValheimServer.ExecutableName}";
146146
Properties.Settings.Default.SteamCMDPath = txtSteamCMDPath.Text;
147147
Properties.Settings.Default.Save();
148148
DialogResult = true;
@@ -154,10 +154,10 @@ private void SteamCmdProcess_Exited(object sender, EventArgs e)
154154
{
155155
this.Dispatcher.Invoke(() =>
156156
{
157-
if (File.Exists(txtServerPath.Text + "\\valheim_server.exe"))
157+
if (File.Exists($@"{txtServerPath.Text}\{ValheimServer.ExecutableName}"))
158158
{
159159
Properties.Settings.Default.ServerInstallType = (int)ValheimServer.ServerInstallMethod.SteamCMD;
160-
Properties.Settings.Default.ServerFilePath = txtServerPath.Text + "\\valheim_server.exe";
160+
Properties.Settings.Default.ServerFilePath = $@"{txtServerPath.Text}\{ValheimServer.ExecutableName}";
161161
Properties.Settings.Default.SteamCMDPath = txtSteamCMDPath.Text;
162162
Properties.Settings.Default.Save();
163163
DialogResult = true;

0 commit comments

Comments
 (0)