diff --git a/src/ARKServerManager/ARKServerManager.csproj b/src/ARKServerManager/ARKServerManager.csproj
index b748599d..15616b94 100644
--- a/src/ARKServerManager/ARKServerManager.csproj
+++ b/src/ARKServerManager/ARKServerManager.csproj
@@ -321,7 +321,7 @@
-
+
diff --git a/src/ARKServerManager/Lib/ServerApp.cs b/src/ARKServerManager/Lib/ServerApp.cs
index 7337be7c..a02dfa69 100644
--- a/src/ARKServerManager/Lib/ServerApp.cs
+++ b/src/ARKServerManager/Lib/ServerApp.cs
@@ -2040,14 +2040,14 @@ namespace ServerManagerTool.Lib
var saveFolderInfo = new DirectoryInfo(saveFolder);
// backup the world save file
- ZipUtils.ZipAFile(backupFile, worldFileName, worldFile, comment.ToString());
+ ZipUtils.ZipFile(backupFile, worldFileName, worldFile, comment.ToString());
// backup the player files
var playerFileFilter = $"*{Config.Default.PlayerFileExtension}";
var playerFiles = saveFolderInfo.GetFiles(playerFileFilter, SearchOption.TopDirectoryOnly);
foreach (var file in playerFiles)
{
- ZipUtils.ZipAFile(backupFile, file.Name, file.FullName);
+ ZipUtils.ZipFile(backupFile, file.Name, file.FullName);
}
// backup the tribe files
@@ -2055,7 +2055,7 @@ namespace ServerManagerTool.Lib
var tribeFiles = saveFolderInfo.GetFiles(tribeFileFilter, SearchOption.TopDirectoryOnly);
foreach (var file in tribeFiles)
{
- ZipUtils.ZipAFile(backupFile, file.Name, file.FullName);
+ ZipUtils.ZipFile(backupFile, file.Name, file.FullName);
}
// backup the tribute tribe files
@@ -2063,7 +2063,7 @@ namespace ServerManagerTool.Lib
var tributeTribeFiles = saveFolderInfo.GetFiles(tributeTribeFileFilter, SearchOption.TopDirectoryOnly);
foreach (var file in tributeTribeFiles)
{
- ZipUtils.ZipAFile(backupFile, file.Name, file.FullName);
+ ZipUtils.ZipFile(backupFile, file.Name, file.FullName);
}
if (Config.Default.AutoBackup_IncludeSaveGamesFolder)
@@ -2078,7 +2078,7 @@ namespace ServerManagerTool.Lib
var saveGamesFiles = saveGamesFolderInfo.GetFiles(saveGamesFileFilter, SearchOption.AllDirectories);
foreach (var file in saveGamesFiles)
{
- ZipUtils.ZipAFile(backupFile, file.FullName.Replace(saveGamesFolder, Config.Default.SaveGamesRelativePath), file.FullName);
+ ZipUtils.ZipFile(backupFile, file.FullName.Replace(saveGamesFolder, Config.Default.SaveGamesRelativePath), file.FullName);
}
}
}
@@ -2365,10 +2365,10 @@ namespace ServerManagerTool.Lib
switch (commandValue.ToLower())
{
case "global":
- return ServerRCON.RCON_COMMAND_SERVERCHAT;
+ return ServerRcon.RCON_COMMAND_SERVERCHAT;
default:
- return ServerRCON.RCON_COMMAND_BROADCAST;
+ return ServerRcon.RCON_COMMAND_BROADCAST;
}
}
diff --git a/src/ARKServerManager/Lib/ServerRCON.cs b/src/ARKServerManager/Lib/ServerRCON.cs
index 3f2a0b78..38b98a05 100644
--- a/src/ARKServerManager/Lib/ServerRCON.cs
+++ b/src/ARKServerManager/Lib/ServerRCON.cs
@@ -7,12 +7,10 @@ using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Model;
using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
-using ServerManagerTool.Lib.ViewModel;
using ServerManagerTool.Lib.ViewModel.RCON;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
-using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Net;
@@ -23,7 +21,7 @@ using WPFSharp.Globalizer;
namespace ServerManagerTool.Lib
{
- public class ServerRCON : DependencyObject, IAsyncDisposable
+ public class ServerRcon : DependencyObject, IAsyncDisposable
{
private const int STEAM_UPDATE_INTERVAL = 60;
private const int PLAYER_LIST_INTERVAL = 5000;
@@ -39,11 +37,11 @@ namespace ServerManagerTool.Lib
public event EventHandler PlayersCollectionUpdated;
- public static readonly DependencyProperty StatusProperty = DependencyProperty.Register(nameof(Status), typeof(ConsoleStatus), typeof(ServerRCON), new PropertyMetadata(ConsoleStatus.Disconnected));
- public static readonly DependencyProperty PlayersProperty = DependencyProperty.Register(nameof(Players), typeof(SortableObservableCollection), typeof(ServerRCON), new PropertyMetadata(null));
- public static readonly DependencyProperty CountPlayersProperty = DependencyProperty.Register(nameof(CountPlayers), typeof(int), typeof(ServerRCON), new PropertyMetadata(0));
- public static readonly DependencyProperty CountInvalidPlayersProperty = DependencyProperty.Register(nameof(CountInvalidPlayers), typeof(int), typeof(ServerRCON), new PropertyMetadata(0));
- public static readonly DependencyProperty CountOnlinePlayersProperty = DependencyProperty.Register(nameof(CountOnlinePlayers), typeof(int), typeof(ServerRCON), new PropertyMetadata(0));
+ public static readonly DependencyProperty StatusProperty = DependencyProperty.Register(nameof(Status), typeof(ConsoleStatus), typeof(ServerRcon), new PropertyMetadata(ConsoleStatus.Disconnected));
+ public static readonly DependencyProperty PlayersProperty = DependencyProperty.Register(nameof(Players), typeof(SortableObservableCollection), typeof(ServerRcon), new PropertyMetadata(null));
+ public static readonly DependencyProperty CountPlayersProperty = DependencyProperty.Register(nameof(CountPlayers), typeof(int), typeof(ServerRcon), new PropertyMetadata(0));
+ public static readonly DependencyProperty CountInvalidPlayersProperty = DependencyProperty.Register(nameof(CountInvalidPlayers), typeof(int), typeof(ServerRcon), new PropertyMetadata(0));
+ public static readonly DependencyProperty CountOnlinePlayersProperty = DependencyProperty.Register(nameof(CountOnlinePlayers), typeof(int), typeof(ServerRcon), new PropertyMetadata(0));
private static readonly char[] lineSplitChars = new char[] { '\n' };
private static readonly char[] argsSplitChars = new char[] { ' ' };
@@ -67,7 +65,7 @@ namespace ServerManagerTool.Lib
private readonly Logger _errorLogger;
private bool _disposed = false;
- public ServerRCON(RCONParameters parameters)
+ public ServerRcon(RCONParameters parameters)
{
_rconParameters = parameters;
@@ -363,20 +361,23 @@ namespace ServerManagerTool.Lib
onlinePlayers.Add(newPlayer);
var playerJoined = false;
- _players.AddOrUpdate(newPlayer.PlayerId,
- (k) =>
- {
- playerJoined = true;
- return newPlayer;
- },
- (k, v) =>
- {
- playerJoined = !v.IsOnline;
- v.PlayerName = newPlayer.PlayerName;
- v.IsOnline = newPlayer.IsOnline;
- return v;
- }
- );
+ if (!string.IsNullOrWhiteSpace(newPlayer.PlayerName))
+ {
+ _players.AddOrUpdate(newPlayer.PlayerId,
+ (k) =>
+ {
+ playerJoined = true;
+ return newPlayer;
+ },
+ (k, v) =>
+ {
+ playerJoined = !v.IsOnline;
+ v.PlayerName = newPlayer.PlayerName;
+ v.IsOnline = newPlayer.IsOnline;
+ return v;
+ }
+ );
+ }
if (playerJoined)
{
diff --git a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs
index b610de8c..f3187e73 100644
--- a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs
+++ b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs
@@ -952,7 +952,7 @@ namespace ServerManagerTool
ZipUtils.ZipFiles(zipFile, files, comment.ToString());
foreach (var kvp in obfuscateFiles)
{
- ZipUtils.ZipAFile(zipFile, kvp.Key, kvp.Value);
+ ZipUtils.ZipContent(zipFile, kvp.Key, kvp.Value);
}
var message = _globalizer.GetResourceString("ServerSettings_SupportZipSuccessLabel").Replace("{filename}", Path.GetFileName(zipFile));
diff --git a/src/ARKServerManager/VersionFeed.xml b/src/ARKServerManager/VersionFeed.xml
index 00306366..b15faf36 100644
--- a/src/ARKServerManager/VersionFeed.xml
+++ b/src/ARKServerManager/VersionFeed.xml
@@ -9,13 +9,18 @@
urn:uuid:2C48A585-72D2-43FB-8987-6B5F0B3E460F
- 1.1.425 (1.1.425.5)
- 1.1.425.5
+ 1.1.425 (1.1.425.6)
+ 1.1.425.6
2022-05-08T00:00:00Z
+ BUGFIX
+
+
+ - World Save Backup - fixed the backup of the files.
+
CHANGE
diff --git a/src/ARKServerManager/VersionFeedBeta.xml b/src/ARKServerManager/VersionFeedBeta.xml
index aab4b0a6..93752b9e 100644
--- a/src/ARKServerManager/VersionFeedBeta.xml
+++ b/src/ARKServerManager/VersionFeedBeta.xml
@@ -7,6 +7,29 @@
2022-05-08T00:00:00Z
+
+ urn:uuid:973E001F-223C-4B57-89F7-8B8040900A7C
+ 1.1.425 (1.1.425.6)
+ 1.1.425.6
+
+ 2022-05-08T00:00:00Z
+
+
+
+ BUGFIX
+
+
+ - World Save Backup - fixed the backup of the files.
+
+
+
+
+
+ bletch
+ bletch1971@hotmail.com
+
+
+
urn:uuid:CEA21F86-5943-46F9-8807-604695E42A25
1.1.425 (1.1.425.5)
diff --git a/src/ARKServerManager/Windows/RCONWindow.xaml.cs b/src/ARKServerManager/Windows/RCONWindow.xaml.cs
index 50e87f9b..dd846b91 100644
--- a/src/ARKServerManager/Windows/RCONWindow.xaml.cs
+++ b/src/ARKServerManager/Windows/RCONWindow.xaml.cs
@@ -176,7 +176,7 @@ namespace ServerManagerTool
public static readonly DependencyProperty PlayersViewProperty = DependencyProperty.Register(nameof(PlayersView), typeof(ICollectionView), typeof(RCONWindow), new PropertyMetadata(null));
public static readonly DependencyProperty RCONParametersProperty = DependencyProperty.Register(nameof(RCONParameters), typeof(RCONParameters), typeof(RCONWindow), new PropertyMetadata(null));
public static readonly DependencyProperty ScrollOnNewInputProperty = DependencyProperty.Register(nameof(ScrollOnNewInput), typeof(bool), typeof(RCONWindow), new PropertyMetadata(true));
- public static readonly DependencyProperty ServerRCONProperty = DependencyProperty.Register(nameof(ServerRCON), typeof(ServerRCON), typeof(RCONWindow), new PropertyMetadata(null));
+ public static readonly DependencyProperty ServerRCONProperty = DependencyProperty.Register(nameof(ServerRCON), typeof(ServerRcon), typeof(RCONWindow), new PropertyMetadata(null));
public RCONWindow(RCONParameters parameters)
{
@@ -187,7 +187,7 @@ namespace ServerManagerTool
this.PlayerFiltering = (PlayerFilterType)Config.Default.RCON_PlayerListFilter;
this.PlayerSorting = (PlayerSortType)Config.Default.RCON_PlayerListSort;
this.RCONParameters = parameters;
- this.ServerRCON = new ServerRCON(parameters);
+ this.ServerRCON = new ServerRcon(parameters);
this.ServerRCON.RegisterCommandListener(RenderRCONCommandOutput);
this.ServerRCON.Players.CollectionChanged += Players_CollectionChanged;
this.ServerRCON.PlayersCollectionUpdated += Players_CollectionUpdated;
@@ -195,7 +195,7 @@ namespace ServerManagerTool
this.PlayersView = CollectionViewSource.GetDefaultView(this.ServerRCON.Players);
this.PlayersView.Filter = new Predicate