mirror of
https://github.com/tribufu/ServerManagers
synced 2026-05-06 15:17:34 +00:00
Reset Server Button
- added new button to reset your server.
This commit is contained in:
parent
e2f92bf7a9
commit
9c5b096429
19 changed files with 308 additions and 136 deletions
|
|
@ -176,6 +176,9 @@
|
|||
<HintPath>..\packages\Microsoft.Tpl.Dataflow.4.5.24\lib\portable-net45+win8+wpa81\System.Threading.Tasks.Dataflow.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Transactions" />
|
||||
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Expression.Blend.Sdk.1.0.2\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
||||
</Reference>
|
||||
|
|
|
|||
|
|
@ -1084,6 +1084,10 @@
|
|||
<sys:String x:Key="ServerSettings_BackupServer_Title">Backup Server</sys:String>
|
||||
<sys:String x:Key="ServerSettings_BackupServer_FailedTitle">Backup Server Error</sys:String>
|
||||
<sys:String x:Key="ServerSettings_BackupServer_SuccessfulLabel">The backup was successful.</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ResetServer_Title">Reset Server</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ResetServer_FailedTitle">Reset Server Error</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ResetServer_ConfirmationLabel">This will delete all the server files and reset your server back to new. Do you wish to proceed?</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ResetServer_SuccessfulLabel">The reset was successful.</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ShutdownServer_FailedTitle">Shutdown Server Error</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ShutdownServer_CancelledTitle">Shutdown Server Cancelled</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ShutdownServer_AlreadyOpenLabel">The shutdown window is already open for this server.</sys:String>
|
||||
|
|
@ -1161,6 +1165,8 @@
|
|||
<sys:String x:Key="ServerSettings_ModIdsTooltip">A comma-separated list of mod ids, in the order in which they should be applied.</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ModDetailsTooltip">View the mod details.</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ModUpgradeTooltip">Upgrade to the latest version of the mods that is currently available to download.</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ResetServerButtonLabel">Reset</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ResetServerButtonTooltip">Deletes all the server files and resets your server back to new.</sys:String>
|
||||
|
||||
<sys:String x:Key="ServerSettings_SavesLabel">Saves</sys:String>
|
||||
<sys:String x:Key="ServerSettings_AutoSavesPeriodLabel">Auto Save Period:</sys:String>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using ServerManagerTool.Common.Lib;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
|
@ -101,5 +102,41 @@ namespace ServerManagerTool.Lib
|
|||
this.Profile.LastInstalledVersion = this.Runtime.Version.ToString();
|
||||
return success;
|
||||
}
|
||||
|
||||
public async Task ResetAsync()
|
||||
{
|
||||
// delete the world files (*.db*)
|
||||
var saveFolder = ServerProfile.GetProfileSavePath(Profile);
|
||||
if (Directory.Exists(saveFolder))
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
foreach (var file in Directory.GetFiles(saveFolder, "*.db*", SearchOption.TopDirectoryOnly))
|
||||
{
|
||||
File.Delete(file);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// delete the mod files (SaveGames)
|
||||
var saveGamesFolder = ServerProfile.GetProfileSaveGamesPath(Profile);
|
||||
if (Directory.Exists(saveGamesFolder))
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
Directory.Delete(saveGamesFolder, true);
|
||||
});
|
||||
}
|
||||
|
||||
// delete the log files (Logs)
|
||||
var logsFolder = Path.Combine(Profile.InstallDirectory, Config.Default.SavedRelativePath, Config.Default.LogsRelativePath);
|
||||
if (Directory.Exists(logsFolder))
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
Directory.Delete(logsFolder, true);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2011,9 +2011,9 @@ namespace ServerManagerTool.Lib
|
|||
|
||||
// backup the world save file
|
||||
var key = string.Empty;
|
||||
var files = new Dictionary<string, List<string>>
|
||||
var files = new Dictionary<string, List<(string, string)>>
|
||||
{
|
||||
{ key, new List<string> { worldFile } }
|
||||
{ key, new List<(string, string)> { (worldFile, worldFileName) } }
|
||||
};
|
||||
|
||||
if (Config.Default.AutoBackup_IncludeSaveGamesFolder)
|
||||
|
|
@ -2030,9 +2030,9 @@ namespace ServerManagerTool.Lib
|
|||
{
|
||||
key = file.DirectoryName.Replace(saveGamesFolder, Config.Default.SaveGamesRelativePath);
|
||||
if (files.ContainsKey(key))
|
||||
files[key].Add(file.FullName);
|
||||
files[key].Add((file.FullName, file.Name));
|
||||
else
|
||||
files.Add(key, new List<string> { file.FullName });
|
||||
files.Add(key, new List<(string, string)> { (file.FullName, file.Name) });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -576,6 +576,40 @@
|
|||
|
||||
<Label Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Content="{DynamicResource ServerSettings_MapPathLabel}" ToolTip="{DynamicResource ServerSettings_MapPathTooltip}"/>
|
||||
<ComboBox Grid.Row="0" Grid.Column="1" Margin="1" Name="GameMapComboBox" IsEditable="True" ItemsSource="{Binding BaseGameMaps, ElementName=SettingsControl, UpdateSourceTrigger=PropertyChanged}" SelectedValue="{Binding ServerMap, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True}" SelectedValuePath="ValueMember" DisplayMemberPath="DisplayMember" LostFocus="ComboBoxItemList_LostFocus" PreviewMouseWheel="ComboBox_PreviewMouseWheel" SourceUpdated="MapName_SourceUpdated" ToolTip="{DynamicResource ServerSettings_MapPathTooltip}"/>
|
||||
<Button Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" Margin="5,1,0,0" DataContext="{Binding Runtime, ElementName=SettingsControl}" Click="ResetServer_Click">
|
||||
<Button.Style>
|
||||
<Style BasedOn="{StaticResource {x:Type Button}}" TargetType="{x:Type Button}">
|
||||
<Setter Property="Content" Value="{DynamicResource ServerSettings_ResetServerButtonLabel}"/>
|
||||
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_ResetServerButtonTooltip}" />
|
||||
<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="False"/>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Button.Style>
|
||||
</Button>
|
||||
|
||||
<Label Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" Content="{DynamicResource ServerSettings_MapSaveNameLabel}" ToolTip="{DynamicResource ServerSettings_MapSaveNameTooltip}"/>
|
||||
<TextBox Grid.Row="1" Grid.Column="1" Margin="1" VerticalContentAlignment="Center" Text="{Binding ServerMapSaveFileName}" ToolTip="{DynamicResource ServerSettings_MapSaveNameTooltip}"/>
|
||||
|
|
|
|||
|
|
@ -849,6 +849,29 @@ namespace ServerManagerTool
|
|||
MessageBox.Show(_globalizer.GetResourceString("ServerSettings_ServerAutoSettings_ErrorLabel"), _globalizer.GetResourceString("ServerSettings_ServerAutoSettings_ErrorTitle"), MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
}
|
||||
|
||||
private async void ResetServer_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (MessageBox.Show(_globalizer.GetResourceString("ServerSettings_ResetServer_ConfirmationLabel"), _globalizer.GetResourceString("ServerSettings_ResetServer_Title"), MessageBoxButton.YesNo, MessageBoxImage.Warning) != MessageBoxResult.Yes)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
Application.Current.Dispatcher.Invoke(() => this.Cursor = System.Windows.Input.Cursors.Wait);
|
||||
|
||||
await this.Server.ResetAsync();
|
||||
|
||||
MessageBox.Show(_globalizer.GetResourceString("ServerSettings_ResetServer_SuccessfulLabel"), _globalizer.GetResourceString("ServerSettings_ResetServer_Title"), MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message, _globalizer.GetResourceString("ServerSettings_ResetServer_FailedTitle"), MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Application.Current.Dispatcher.Invoke(() => this.Cursor = null);
|
||||
}
|
||||
}
|
||||
|
||||
private async void SaveBackup_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
try
|
||||
|
|
|
|||
|
|
@ -7,6 +7,29 @@
|
|||
<link href="http://servermanagers.freeforums.net/" />
|
||||
<updated>2022-06-13T00:00:00Z</updated>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:4E189446-9861-4B64-9B27-0E3E655CD1CA</id>
|
||||
<title>1.1.75 (1.1.75.1)</title>
|
||||
<summary>1.1.75.1</summary>
|
||||
<link href="" />
|
||||
<updated>2022-06-16T00: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;">NEW</u>
|
||||
<br/>
|
||||
<ul>
|
||||
<li>Reset Server - added new button to reset your server. This will delete all server files and reset your server back to new.</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
</content>
|
||||
<author>
|
||||
<name>bletch</name>
|
||||
<email>bletch1971@hotmail.com</email>
|
||||
</author>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:4E189446-9861-4B64-9B27-0E3E655CD1CA</id>
|
||||
<title>1.1.74 (1.1.74.3)</title>
|
||||
|
|
|
|||
|
|
@ -8,64 +8,18 @@
|
|||
<updated>2022-06-16T00:00:00Z</updated>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:C9BB0F58-3C98-4E69-A0D1-E962EB61072C</id>
|
||||
<title>1.1.74 (1.1.74.3)</title>
|
||||
<summary>1.1.74.3</summary>
|
||||
<id>urn:uuid:4E189446-9861-4B64-9B27-0E3E655CD1CA</id>
|
||||
<title>1.1.75 (1.1.75.1)</title>
|
||||
<summary>1.1.75.1</summary>
|
||||
<link href="" />
|
||||
<updated>2022-06-16T00: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;">NEW</u>
|
||||
<br/>
|
||||
<ul>
|
||||
<li>Global Settings - fixed the bug that cleared the Backup Rcon message mode when changing languages.</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
</content>
|
||||
<author>
|
||||
<name>bletch</name>
|
||||
<email>bletch1971@hotmail.com</email>
|
||||
</author>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:74CFB107-BB04-4A41-B41A-DD6AFB1E8D0F</id>
|
||||
<title>1.1.74 (1.1.74.2)</title>
|
||||
<summary>1.1.74.2</summary>
|
||||
<link href="" />
|
||||
<updated>2022-06-15T00: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 Message Modes - now loads them from the gamedata file, so they can be extended without a code change.</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
</content>
|
||||
<author>
|
||||
<name>bletch</name>
|
||||
<email>bletch1971@hotmail.com</email>
|
||||
</author>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<id>urn:uuid:4E189446-9861-4B64-9B27-0E3E655CD1CA</id>
|
||||
<title>1.1.74 (1.1.74.1)</title>
|
||||
<summary>1.1.74.1</summary>
|
||||
<link href="" />
|
||||
<updated>2022-06-13T00: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>Updated to query master timeouts from 10 seconds to 30 seconds.</li>
|
||||
<li>Reset Server - added new button to reset your server. This will delete all server files and reset your server back to new.</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
|
||||
<package id="NLog" version="4.7.2" targetFramework="net462" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.112.1" targetFramework="net462" />
|
||||
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
|
||||
<package id="TaskScheduler" version="2.8.19" targetFramework="net462" />
|
||||
<package id="WindowsAPICodePack-Core" version="1.1.2" targetFramework="net462" />
|
||||
<package id="WindowsAPICodePack-Shell" version="1.1.1" targetFramework="net462" />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue