diff --git a/README.md b/README.md index 5a0e041..e440a15 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ git config --local user.email "USERNAME@SOMETHING.com" ## Requirements -- Escape From Tarkov 30626 +- Escape From Tarkov 31124 - .NET 8 SDK - Visual Studio Code - [PowerShell v7](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows) diff --git a/project/SPT.Launcher.Base/Controllers/GameStarter.cs b/project/SPT.Launcher.Base/Controllers/GameStarter.cs index f545964..2dcf1a2 100644 --- a/project/SPT.Launcher.Base/Controllers/GameStarter.cs +++ b/project/SPT.Launcher.Base/Controllers/GameStarter.cs @@ -223,7 +223,7 @@ namespace SPT.Launcher LogManager.Instance.Info($"[LaunchGame] spt-core.dll version: {dllVersion}"); // Edge case, running on locally built modules dlls, ignore check and return ok - if (dllVersion.Major == 0) return false; + if (dllVersion.Major == 1) return false; // check 'X'.x.x if (serverVersion.Major != dllVersion.Major) return true; diff --git a/project/SPT.Launcher/SPT_Data/Launcher/Patches/SPT-core/EscapeFromTarkov_Data/Managed/Assembly-CSharp.dll.bpf b/project/SPT.Launcher/SPT_Data/Launcher/Patches/SPT-core/EscapeFromTarkov_Data/Managed/Assembly-CSharp.dll.bpf index 93c3e2e..8dde468 100644 Binary files a/project/SPT.Launcher/SPT_Data/Launcher/Patches/SPT-core/EscapeFromTarkov_Data/Managed/Assembly-CSharp.dll.bpf and b/project/SPT.Launcher/SPT_Data/Launcher/Patches/SPT-core/EscapeFromTarkov_Data/Managed/Assembly-CSharp.dll.bpf differ diff --git a/project/SPT.Launcher/ViewModels/SettingsViewModel.cs b/project/SPT.Launcher/ViewModels/SettingsViewModel.cs index 86f402a..928bb49 100644 --- a/project/SPT.Launcher/ViewModels/SettingsViewModel.cs +++ b/project/SPT.Launcher/ViewModels/SettingsViewModel.cs @@ -2,9 +2,7 @@ using SPT.Launcher.Helpers; using SPT.Launcher.Models; using SPT.Launcher.Models.Launcher; -using SPT.Launcher.ViewModels.Dialogs; using Avalonia; -using Avalonia.Controls; using ReactiveUI; using System; using System.Collections.Generic; @@ -50,19 +48,42 @@ namespace SPT.Launcher.ViewModels return; } - var traceLogs = Directory.GetFiles(Path.Join(LauncherSettingsProvider.Instance.GamePath, "Logs"), $"{DateTime.Now:yyyy.MM.dd}_* traces.log", SearchOption.AllDirectories); + var filesToCopy = new List { LogManager.Instance.LogFile }; - var traceLog = traceLogs.Length > 0 ? traceLogs[0] : ""; + var serverLog = Path.Join(LauncherSettingsProvider.Instance.GamePath, @"\user\logs", + $"server-{DateTime.Now:yyyy-MM-dd}.log"); + var bepinexLog = Path.Join(LauncherSettingsProvider.Instance.GamePath, @"BepInEx\LogOutput.log"); - var filesToCopy = new string[] + if (AccountManager.SelectedAccount?.id != null) { - Path.Join(LauncherSettingsProvider.Instance.GamePath, @"\user\logs", $"server-{DateTime.Now:yyyy-MM-dd}.log"), - traceLog, - Path.Join(LauncherSettingsProvider.Instance.GamePath, @"BepInEx\LogOutput.log"), - Path.Join(LauncherSettingsProvider.Instance.GamePath, @"\user\profiles", $"{AccountManager.SelectedAccount.id}.json"), - LogManager.Instance.LogFile, - }; + filesToCopy.Add(Path.Join(LauncherSettingsProvider.Instance.GamePath, @"\user\profiles", + $"{AccountManager.SelectedAccount.id}.json")); + } + if (File.Exists(serverLog)) + { + filesToCopy.Add(serverLog); + } + + if (File.Exists(bepinexLog)) + { + filesToCopy.Add(bepinexLog); + } + + var logsPath = Path.Join(LauncherSettingsProvider.Instance.GamePath, "Logs"); + if (Directory.Exists(logsPath)) + { + var traceLogs = Directory.GetFiles(logsPath, $"{DateTime.Now:yyyy.MM.dd}_* traces.log", + SearchOption.AllDirectories); + + var log = traceLogs.Length > 0 ? traceLogs[0] : ""; + + if (!string.IsNullOrWhiteSpace(log)) + { + filesToCopy.Add(log); + } + } + List files = new List(); foreach (var logPath in filesToCopy)