diff --git a/.vs/OpenSaveCloudClient/DesignTimeBuild/.dtbcache.v2 b/.vs/OpenSaveCloudClient/DesignTimeBuild/.dtbcache.v2
deleted file mode 100644
index f494b4a..0000000
Binary files a/.vs/OpenSaveCloudClient/DesignTimeBuild/.dtbcache.v2 and /dev/null differ
diff --git a/.vs/OpenSaveCloudClient/FileContentIndex/4294e2fc-fb72-4287-9d0e-dc8b3a84c3ce.vsidx b/.vs/OpenSaveCloudClient/FileContentIndex/4294e2fc-fb72-4287-9d0e-dc8b3a84c3ce.vsidx
deleted file mode 100644
index bef1d1f..0000000
Binary files a/.vs/OpenSaveCloudClient/FileContentIndex/4294e2fc-fb72-4287-9d0e-dc8b3a84c3ce.vsidx and /dev/null differ
diff --git a/.vs/OpenSaveCloudClient/FileContentIndex/8c361721-6db8-42c4-ae4a-f6f7fa10e855.vsidx b/.vs/OpenSaveCloudClient/FileContentIndex/8c361721-6db8-42c4-ae4a-f6f7fa10e855.vsidx
deleted file mode 100644
index beece9e..0000000
Binary files a/.vs/OpenSaveCloudClient/FileContentIndex/8c361721-6db8-42c4-ae4a-f6f7fa10e855.vsidx and /dev/null differ
diff --git a/.vs/OpenSaveCloudClient/FileContentIndex/a00d43d9-cc0b-42bf-b292-7c4296950020.vsidx b/.vs/OpenSaveCloudClient/FileContentIndex/a00d43d9-cc0b-42bf-b292-7c4296950020.vsidx
deleted file mode 100644
index 2a5bf64..0000000
Binary files a/.vs/OpenSaveCloudClient/FileContentIndex/a00d43d9-cc0b-42bf-b292-7c4296950020.vsidx and /dev/null differ
diff --git a/.vs/OpenSaveCloudClient/FileContentIndex/e175e10d-fa29-474a-91ab-8c8d01429ac3.vsidx b/.vs/OpenSaveCloudClient/FileContentIndex/e175e10d-fa29-474a-91ab-8c8d01429ac3.vsidx
deleted file mode 100644
index 4789dbf..0000000
Binary files a/.vs/OpenSaveCloudClient/FileContentIndex/e175e10d-fa29-474a-91ab-8c8d01429ac3.vsidx and /dev/null differ
diff --git a/.vs/OpenSaveCloudClient/FileContentIndex/read.lock b/.vs/OpenSaveCloudClient/FileContentIndex/read.lock
deleted file mode 100644
index e69de29..0000000
diff --git a/.vs/OpenSaveCloudClient/v17/.futdcache.v1 b/.vs/OpenSaveCloudClient/v17/.futdcache.v1
deleted file mode 100644
index 39922d0..0000000
Binary files a/.vs/OpenSaveCloudClient/v17/.futdcache.v1 and /dev/null differ
diff --git a/.vs/ProjectEvaluation/opensavecloudclient.metadata.v2 b/.vs/ProjectEvaluation/opensavecloudclient.metadata.v2
deleted file mode 100644
index a718788..0000000
Binary files a/.vs/ProjectEvaluation/opensavecloudclient.metadata.v2 and /dev/null differ
diff --git a/.vs/ProjectEvaluation/opensavecloudclient.projects.v2 b/.vs/ProjectEvaluation/opensavecloudclient.projects.v2
deleted file mode 100644
index 6e8cb32..0000000
Binary files a/.vs/ProjectEvaluation/opensavecloudclient.projects.v2 and /dev/null differ
diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json
deleted file mode 100644
index af7c716..0000000
--- a/.vs/VSWorkspaceState.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "ExpandedNodes": [
- "",
- "\\OpenSaveCloudClient"
- ],
- "SelectedNode": "\\OpenSaveCloudClient\\OpenSaveCloudClient.csproj",
- "PreviewInSolutionExplorer": false
-}
\ No newline at end of file
diff --git a/.vs/open-save-cloud-client/FileContentIndex/d134a4bb-18ac-4a05-aec4-2e49b36c4be8.vsidx b/.vs/open-save-cloud-client/FileContentIndex/d134a4bb-18ac-4a05-aec4-2e49b36c4be8.vsidx
deleted file mode 100644
index f576cf6..0000000
Binary files a/.vs/open-save-cloud-client/FileContentIndex/d134a4bb-18ac-4a05-aec4-2e49b36c4be8.vsidx and /dev/null differ
diff --git a/.vs/open-save-cloud-client/FileContentIndex/read.lock b/.vs/open-save-cloud-client/FileContentIndex/read.lock
deleted file mode 100644
index e69de29..0000000
diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite
deleted file mode 100644
index 43a8bb3..0000000
Binary files a/.vs/slnx.sqlite and /dev/null differ
diff --git a/OpenSaveCloudCli/OpenSaveCloudCli.csproj b/OpenSaveCloudCli/OpenSaveCloudCli.csproj
new file mode 100644
index 0000000..e324a37
--- /dev/null
+++ b/OpenSaveCloudCli/OpenSaveCloudCli.csproj
@@ -0,0 +1,14 @@
+
+
+
+ Exe
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/OpenSaveCloudCli/Program.cs b/OpenSaveCloudCli/Program.cs
new file mode 100644
index 0000000..32aa2bc
--- /dev/null
+++ b/OpenSaveCloudCli/Program.cs
@@ -0,0 +1,36 @@
+using OpenSaveCloudCore.Core;
+using System.Reflection;
+
+namespace OpenSaveCloudCli
+{
+ internal static class Program
+ {
+ static int Main(string[] args)
+ {
+ if (args.Contains("-v") || args.Contains("--version"))
+ {
+ Version();
+ }
+ return 0;
+ }
+
+ static void Version()
+ {
+ Assembly a = Assembly.GetExecutingAssembly();
+ Version? v = a.GetName().Version;
+ string clientInfo = "C# [Core .NET {0}/{1}]";
+ Version dotNetVersion = Environment.Version;
+ string? clrArch = Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE");
+ clientInfo = string.Format(clientInfo, dotNetVersion, clrArch);
+
+ Console.WriteLine("Open Save Cloud - Terminal Client (Cross Platform)");
+ if (v != null)
+ {
+ Console.WriteLine("v{0}", v.ToString());
+ }
+ Console.WriteLine("Running on .Net {0}", clientInfo);
+
+ // TODO get server version
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSaveCloudClient.sln b/OpenSaveCloudClient.sln
index 8408595..2f12835 100644
--- a/OpenSaveCloudClient.sln
+++ b/OpenSaveCloudClient.sln
@@ -4,6 +4,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00
VisualStudioVersion = 17.2.32505.173
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenSaveCloudClient", "OpenSaveCloudClient\OpenSaveCloudClient.csproj", "{5BD9E525-B234-4AE2-9780-86E959592258}"
+ ProjectSection(ProjectDependencies) = postProject
+ {496FCF95-DA39-4699-BDF9-8824FFE58F16} = {496FCF95-DA39-4699-BDF9-8824FFE58F16}
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSaveCloudCore", "OpenSaveCloudCore\OpenSaveCloudCore.csproj", "{496FCF95-DA39-4699-BDF9-8824FFE58F16}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSaveCloudCli", "OpenSaveCloudCli\OpenSaveCloudCli.csproj", "{3D3DD97A-9140-458D-BB94-3505F362A305}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -21,6 +28,22 @@ Global
{5BD9E525-B234-4AE2-9780-86E959592258}.Release|Any CPU.Build.0 = Release|Any CPU
{5BD9E525-B234-4AE2-9780-86E959592258}.Release|x64.ActiveCfg = Release|x64
{5BD9E525-B234-4AE2-9780-86E959592258}.Release|x64.Build.0 = Release|x64
+ {496FCF95-DA39-4699-BDF9-8824FFE58F16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {496FCF95-DA39-4699-BDF9-8824FFE58F16}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {496FCF95-DA39-4699-BDF9-8824FFE58F16}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {496FCF95-DA39-4699-BDF9-8824FFE58F16}.Debug|x64.Build.0 = Debug|Any CPU
+ {496FCF95-DA39-4699-BDF9-8824FFE58F16}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {496FCF95-DA39-4699-BDF9-8824FFE58F16}.Release|Any CPU.Build.0 = Release|Any CPU
+ {496FCF95-DA39-4699-BDF9-8824FFE58F16}.Release|x64.ActiveCfg = Release|Any CPU
+ {496FCF95-DA39-4699-BDF9-8824FFE58F16}.Release|x64.Build.0 = Release|Any CPU
+ {3D3DD97A-9140-458D-BB94-3505F362A305}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3D3DD97A-9140-458D-BB94-3505F362A305}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3D3DD97A-9140-458D-BB94-3505F362A305}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {3D3DD97A-9140-458D-BB94-3505F362A305}.Debug|x64.Build.0 = Debug|Any CPU
+ {3D3DD97A-9140-458D-BB94-3505F362A305}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3D3DD97A-9140-458D-BB94-3505F362A305}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3D3DD97A-9140-458D-BB94-3505F362A305}.Release|x64.ActiveCfg = Release|Any CPU
+ {3D3DD97A-9140-458D-BB94-3505F362A305}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/OpenSaveCloudClient/AboutBox.cs b/OpenSaveCloudClient/AboutBox.cs
index c2ea889..00227da 100644
--- a/OpenSaveCloudClient/AboutBox.cs
+++ b/OpenSaveCloudClient/AboutBox.cs
@@ -1,5 +1,5 @@
-using OpenSaveCloudClient.Core;
-using OpenSaveCloudClient.Models.Remote;
+using OpenSaveCloudCore.Core;
+using OpenSaveCloudCore.Models.Remote;
using System;
using System.Collections.Generic;
using System.ComponentModel;
diff --git a/OpenSaveCloudClient/AddGameForm.cs b/OpenSaveCloudClient/AddGameForm.cs
index 4728861..b6fe79d 100644
--- a/OpenSaveCloudClient/AddGameForm.cs
+++ b/OpenSaveCloudClient/AddGameForm.cs
@@ -1,5 +1,5 @@
-using OpenSaveCloudClient.Core;
-using OpenSaveCloudClient.Models;
+using OpenSaveCloudCore.Core;
+using OpenSaveCloudCore.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
diff --git a/OpenSaveCloudClient/AddUser.cs b/OpenSaveCloudClient/AddUser.cs
index 0a8e89a..97845be 100644
--- a/OpenSaveCloudClient/AddUser.cs
+++ b/OpenSaveCloudClient/AddUser.cs
@@ -1,5 +1,5 @@
-using OpenSaveCloudClient.Core;
-using OpenSaveCloudClient.Models.Remote;
+using OpenSaveCloudCore.Core;
+using OpenSaveCloudCore.Models.Remote;
using System;
using System.Collections.Generic;
using System.ComponentModel;
diff --git a/OpenSaveCloudClient/DetailForm.cs b/OpenSaveCloudClient/DetailForm.cs
index b8859c6..eba2357 100644
--- a/OpenSaveCloudClient/DetailForm.cs
+++ b/OpenSaveCloudClient/DetailForm.cs
@@ -1,5 +1,5 @@
-using OpenSaveCloudClient.Core;
-using OpenSaveCloudClient.Models;
+using OpenSaveCloudCore.Core;
+using OpenSaveCloudCore.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
diff --git a/OpenSaveCloudClient/DownloadGameForm.cs b/OpenSaveCloudClient/DownloadGameForm.cs
index 83b73a9..da1aee5 100644
--- a/OpenSaveCloudClient/DownloadGameForm.cs
+++ b/OpenSaveCloudClient/DownloadGameForm.cs
@@ -1,6 +1,6 @@
-using OpenSaveCloudClient.Core;
-using OpenSaveCloudClient.Models;
-using OpenSaveCloudClient.Models.Remote;
+using OpenSaveCloudCore.Core;
+using OpenSaveCloudCore.Models;
+using OpenSaveCloudCore.Models.Remote;
using System;
using System.Collections.Generic;
using System.ComponentModel;
diff --git a/OpenSaveCloudClient/GameLibraryForm.cs b/OpenSaveCloudClient/GameLibraryForm.cs
index b7871f7..4a7d95e 100644
--- a/OpenSaveCloudClient/GameLibraryForm.cs
+++ b/OpenSaveCloudClient/GameLibraryForm.cs
@@ -1,6 +1,6 @@
-using OpenSaveCloudClient.Models;
-using OpenSaveCloudClient.Core;
-using OpenSaveCloudClient.Models.Remote;
+using OpenSaveCloudCore.Models;
+using OpenSaveCloudCore.Core;
+using OpenSaveCloudCore.Models.Remote;
namespace OpenSaveCloudClient
{
diff --git a/OpenSaveCloudClient/LoginForm.cs b/OpenSaveCloudClient/LoginForm.cs
index d94ecbe..324b1aa 100644
--- a/OpenSaveCloudClient/LoginForm.cs
+++ b/OpenSaveCloudClient/LoginForm.cs
@@ -1,4 +1,4 @@
-using OpenSaveCloudClient.Core;
+using OpenSaveCloudCore.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel;
diff --git a/OpenSaveCloudClient/LogsForm.cs b/OpenSaveCloudClient/LogsForm.cs
index 0806aa6..cc6b85d 100644
--- a/OpenSaveCloudClient/LogsForm.cs
+++ b/OpenSaveCloudClient/LogsForm.cs
@@ -7,8 +7,8 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
-using OpenSaveCloudClient.Core;
-using OpenSaveCloudClient.Models;
+using OpenSaveCloudCore.Core;
+using OpenSaveCloudCore.Models;
namespace OpenSaveCloudClient
{
diff --git a/OpenSaveCloudClient/OpenSaveCloudClient.csproj b/OpenSaveCloudClient/OpenSaveCloudClient.csproj
index 69d3fa2..b2d8279 100644
--- a/OpenSaveCloudClient/OpenSaveCloudClient.csproj
+++ b/OpenSaveCloudClient/OpenSaveCloudClient.csproj
@@ -14,7 +14,7 @@
True
D:\keyPair.snk
6.0-all
- 1.0.2
+ 1.0.3
@@ -38,7 +38,7 @@
-
+
diff --git a/OpenSaveCloudClient/SettingsForm.cs b/OpenSaveCloudClient/SettingsForm.cs
index 9028930..5410136 100644
--- a/OpenSaveCloudClient/SettingsForm.cs
+++ b/OpenSaveCloudClient/SettingsForm.cs
@@ -7,7 +7,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
-using OpenSaveCloudClient.Models;
+using OpenSaveCloudCore.Models;
namespace OpenSaveCloudClient
{
diff --git a/OpenSaveCloudClient/TasksForm.cs b/OpenSaveCloudClient/TasksForm.cs
index bdecedc..2b5e4ba 100644
--- a/OpenSaveCloudClient/TasksForm.cs
+++ b/OpenSaveCloudClient/TasksForm.cs
@@ -1,5 +1,5 @@
-using OpenSaveCloudClient.Core;
-using OpenSaveCloudClient.Models;
+using OpenSaveCloudCore.Core;
+using OpenSaveCloudCore.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
diff --git a/OpenSaveCloudClient/UserForm.cs b/OpenSaveCloudClient/UserForm.cs
index 22d4c53..c1fa781 100644
--- a/OpenSaveCloudClient/UserForm.cs
+++ b/OpenSaveCloudClient/UserForm.cs
@@ -1,5 +1,5 @@
-using OpenSaveCloudClient.Core;
-using OpenSaveCloudClient.Models.Remote;
+using OpenSaveCloudCore.Core;
+using OpenSaveCloudCore.Models.Remote;
using System;
using System.Collections.Generic;
using System.ComponentModel;
diff --git a/OpenSaveCloudClient/UserManagementForm.cs b/OpenSaveCloudClient/UserManagementForm.cs
index 7af2ee9..c9b5357 100644
--- a/OpenSaveCloudClient/UserManagementForm.cs
+++ b/OpenSaveCloudClient/UserManagementForm.cs
@@ -1,5 +1,5 @@
-using OpenSaveCloudClient.Core;
-using OpenSaveCloudClient.Models.Remote;
+using OpenSaveCloudCore.Core;
+using OpenSaveCloudCore.Models.Remote;
using System;
using System.Collections.Generic;
using System.ComponentModel;
diff --git a/OpenSaveCloudClient/WaitingForm.cs b/OpenSaveCloudClient/WaitingForm.cs
index 6acf4e8..0cd85f0 100644
--- a/OpenSaveCloudClient/WaitingForm.cs
+++ b/OpenSaveCloudClient/WaitingForm.cs
@@ -1,5 +1,5 @@
-using OpenSaveCloudClient.Core;
-using OpenSaveCloudClient.Models;
+using OpenSaveCloudCore.Core;
+using OpenSaveCloudCore.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
diff --git a/OpenSaveCloudClient/Core/HashTool.cs b/OpenSaveCloudCore/Core/HashTool.cs
similarity index 96%
rename from OpenSaveCloudClient/Core/HashTool.cs
rename to OpenSaveCloudCore/Core/HashTool.cs
index c47ede3..69f1a54 100644
--- a/OpenSaveCloudClient/Core/HashTool.cs
+++ b/OpenSaveCloudCore/Core/HashTool.cs
@@ -5,7 +5,7 @@ using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Core
+namespace OpenSaveCloudCore.Core
{
internal class HashTool
{
diff --git a/OpenSaveCloudClient/Core/LogManager.cs b/OpenSaveCloudCore/Core/LogManager.cs
similarity index 94%
rename from OpenSaveCloudClient/Core/LogManager.cs
rename to OpenSaveCloudCore/Core/LogManager.cs
index 4db005e..7cce6c5 100644
--- a/OpenSaveCloudClient/Core/LogManager.cs
+++ b/OpenSaveCloudCore/Core/LogManager.cs
@@ -1,11 +1,11 @@
-using OpenSaveCloudClient.Models;
+using OpenSaveCloudCore.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Core
+namespace OpenSaveCloudCore.Core
{
public class LogManager
{
diff --git a/OpenSaveCloudClient/Core/PasswordTool.cs b/OpenSaveCloudCore/Core/PasswordTool.cs
similarity index 94%
rename from OpenSaveCloudClient/Core/PasswordTool.cs
rename to OpenSaveCloudCore/Core/PasswordTool.cs
index 11fe593..c0106d4 100644
--- a/OpenSaveCloudClient/Core/PasswordTool.cs
+++ b/OpenSaveCloudCore/Core/PasswordTool.cs
@@ -5,7 +5,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Core
+namespace OpenSaveCloudCore.Core
{
public class PasswordTool
{
diff --git a/OpenSaveCloudClient/Core/SaveManager.cs b/OpenSaveCloudCore/Core/SaveManager.cs
similarity index 94%
rename from OpenSaveCloudClient/Core/SaveManager.cs
rename to OpenSaveCloudCore/Core/SaveManager.cs
index 592aaf1..cbf2181 100644
--- a/OpenSaveCloudClient/Core/SaveManager.cs
+++ b/OpenSaveCloudCore/Core/SaveManager.cs
@@ -4,9 +4,9 @@ using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
-using OpenSaveCloudClient.Models;
+using OpenSaveCloudCore.Models;
-namespace OpenSaveCloudClient.Core
+namespace OpenSaveCloudCore.Core
{
public class SaveManager
{
diff --git a/OpenSaveCloudClient/Core/ServerConnector.cs b/OpenSaveCloudCore/Core/ServerConnector.cs
similarity index 97%
rename from OpenSaveCloudClient/Core/ServerConnector.cs
rename to OpenSaveCloudCore/Core/ServerConnector.cs
index 6175a83..c6d0f45 100644
--- a/OpenSaveCloudClient/Core/ServerConnector.cs
+++ b/OpenSaveCloudCore/Core/ServerConnector.cs
@@ -4,12 +4,12 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.Json;
-using OpenSaveCloudClient.Models.Remote;
-using OpenSaveCloudClient.Models;
+using OpenSaveCloudCore.Models.Remote;
+using OpenSaveCloudCore.Models;
using System.Net.Http.Headers;
using System.IO.Compression;
-namespace OpenSaveCloudClient.Core
+namespace OpenSaveCloudCore.Core
{
///
/// This class is a connector to the remote Open Save Cloud server, it contains all the function that are mapped to the server endpoint
diff --git a/OpenSaveCloudClient/Core/TaskManager.cs b/OpenSaveCloudCore/Core/TaskManager.cs
similarity index 95%
rename from OpenSaveCloudClient/Core/TaskManager.cs
rename to OpenSaveCloudCore/Core/TaskManager.cs
index ec1cfec..b20a821 100644
--- a/OpenSaveCloudClient/Core/TaskManager.cs
+++ b/OpenSaveCloudCore/Core/TaskManager.cs
@@ -1,11 +1,11 @@
-using OpenSaveCloudClient.Models;
+using OpenSaveCloudCore.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Core
+namespace OpenSaveCloudCore.Core
{
public class TaskManager
{
diff --git a/OpenSaveCloudClient/Models/AsyncTaskInformation.cs b/OpenSaveCloudCore/Models/AsyncTaskInformation.cs
similarity index 93%
rename from OpenSaveCloudClient/Models/AsyncTaskInformation.cs
rename to OpenSaveCloudCore/Models/AsyncTaskInformation.cs
index 420ad81..8aed21d 100644
--- a/OpenSaveCloudClient/Models/AsyncTaskInformation.cs
+++ b/OpenSaveCloudCore/Models/AsyncTaskInformation.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models
+namespace OpenSaveCloudCore.Models
{
public class AsyncTaskInformation
{
diff --git a/OpenSaveCloudClient/Models/AsyncTaskStatus.cs b/OpenSaveCloudCore/Models/AsyncTaskStatus.cs
similarity index 81%
rename from OpenSaveCloudClient/Models/AsyncTaskStatus.cs
rename to OpenSaveCloudCore/Models/AsyncTaskStatus.cs
index c9e981c..909cf65 100644
--- a/OpenSaveCloudClient/Models/AsyncTaskStatus.cs
+++ b/OpenSaveCloudCore/Models/AsyncTaskStatus.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models
+namespace OpenSaveCloudCore.Models
{
public enum AsyncTaskStatus
{
diff --git a/OpenSaveCloudClient/Models/Configuration.cs b/OpenSaveCloudCore/Models/Configuration.cs
similarity index 95%
rename from OpenSaveCloudClient/Models/Configuration.cs
rename to OpenSaveCloudCore/Models/Configuration.cs
index be6f254..91421c5 100644
--- a/OpenSaveCloudClient/Models/Configuration.cs
+++ b/OpenSaveCloudCore/Models/Configuration.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Text.Json;
-namespace OpenSaveCloudClient.Models
+namespace OpenSaveCloudCore.Models
{
public class UserConfiguration
{
diff --git a/OpenSaveCloudClient/Models/GameSave.cs b/OpenSaveCloudCore/Models/GameSave.cs
similarity index 95%
rename from OpenSaveCloudClient/Models/GameSave.cs
rename to OpenSaveCloudCore/Models/GameSave.cs
index 52e6234..84436b9 100644
--- a/OpenSaveCloudClient/Models/GameSave.cs
+++ b/OpenSaveCloudCore/Models/GameSave.cs
@@ -6,10 +6,10 @@ using System.Text.Json.Serialization;
using System.Threading.Tasks;
using System.IO.Compression;
using System.Security.Cryptography;
-using OpenSaveCloudClient.Core;
+using OpenSaveCloudCore.Core;
using System.Globalization;
-namespace OpenSaveCloudClient.Models
+namespace OpenSaveCloudCore.Models
{
public class GameSave
{
diff --git a/OpenSaveCloudClient/Models/Log.cs b/OpenSaveCloudCore/Models/Log.cs
similarity index 86%
rename from OpenSaveCloudClient/Models/Log.cs
rename to OpenSaveCloudCore/Models/Log.cs
index 1f82153..15c7632 100644
--- a/OpenSaveCloudClient/Models/Log.cs
+++ b/OpenSaveCloudCore/Models/Log.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models
+namespace OpenSaveCloudCore.Models
{
public enum LogSeverity
{
diff --git a/OpenSaveCloudClient/Models/Remote/AccessToken.cs b/OpenSaveCloudCore/Models/Remote/AccessToken.cs
similarity index 82%
rename from OpenSaveCloudClient/Models/Remote/AccessToken.cs
rename to OpenSaveCloudCore/Models/Remote/AccessToken.cs
index 188a236..f2b2e35 100644
--- a/OpenSaveCloudClient/Models/Remote/AccessToken.cs
+++ b/OpenSaveCloudCore/Models/Remote/AccessToken.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class AccessToken
{
diff --git a/OpenSaveCloudClient/Models/Remote/Credential.cs b/OpenSaveCloudCore/Models/Remote/Credential.cs
similarity index 85%
rename from OpenSaveCloudClient/Models/Remote/Credential.cs
rename to OpenSaveCloudCore/Models/Remote/Credential.cs
index 7332ad4..2ae2e8b 100644
--- a/OpenSaveCloudClient/Models/Remote/Credential.cs
+++ b/OpenSaveCloudCore/Models/Remote/Credential.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class Credential
{
diff --git a/OpenSaveCloudClient/Models/Remote/Game.cs b/OpenSaveCloudCore/Models/Remote/Game.cs
similarity index 89%
rename from OpenSaveCloudClient/Models/Remote/Game.cs
rename to OpenSaveCloudCore/Models/Remote/Game.cs
index a8524f0..731bebf 100644
--- a/OpenSaveCloudClient/Models/Remote/Game.cs
+++ b/OpenSaveCloudCore/Models/Remote/Game.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class Game
{
diff --git a/OpenSaveCloudClient/Models/Remote/GameUploadToken.cs b/OpenSaveCloudCore/Models/Remote/GameUploadToken.cs
similarity index 85%
rename from OpenSaveCloudClient/Models/Remote/GameUploadToken.cs
rename to OpenSaveCloudCore/Models/Remote/GameUploadToken.cs
index aacc4b7..4c56b2a 100644
--- a/OpenSaveCloudClient/Models/Remote/GameUploadToken.cs
+++ b/OpenSaveCloudCore/Models/Remote/GameUploadToken.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class GameUploadToken
{
diff --git a/OpenSaveCloudClient/Models/Remote/HttpError.cs b/OpenSaveCloudCore/Models/Remote/HttpError.cs
similarity index 89%
rename from OpenSaveCloudClient/Models/Remote/HttpError.cs
rename to OpenSaveCloudCore/Models/Remote/HttpError.cs
index 74b99f1..8a6a73b 100644
--- a/OpenSaveCloudClient/Models/Remote/HttpError.cs
+++ b/OpenSaveCloudCore/Models/Remote/HttpError.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class HttpError
{
diff --git a/OpenSaveCloudClient/Models/Remote/LockError.cs b/OpenSaveCloudCore/Models/Remote/LockError.cs
similarity index 82%
rename from OpenSaveCloudClient/Models/Remote/LockError.cs
rename to OpenSaveCloudCore/Models/Remote/LockError.cs
index 64c8eaa..0347b50 100644
--- a/OpenSaveCloudClient/Models/Remote/LockError.cs
+++ b/OpenSaveCloudCore/Models/Remote/LockError.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class LockError
{
diff --git a/OpenSaveCloudClient/Models/Remote/NewGameInfo.cs b/OpenSaveCloudCore/Models/Remote/NewGameInfo.cs
similarity index 82%
rename from OpenSaveCloudClient/Models/Remote/NewGameInfo.cs
rename to OpenSaveCloudCore/Models/Remote/NewGameInfo.cs
index 9a79ab6..7d0b0ba 100644
--- a/OpenSaveCloudClient/Models/Remote/NewGameInfo.cs
+++ b/OpenSaveCloudCore/Models/Remote/NewGameInfo.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class NewGameInfo
{
diff --git a/OpenSaveCloudClient/Models/Remote/NewPassword.cs b/OpenSaveCloudCore/Models/Remote/NewPassword.cs
similarity index 89%
rename from OpenSaveCloudClient/Models/Remote/NewPassword.cs
rename to OpenSaveCloudCore/Models/Remote/NewPassword.cs
index 89ee9ae..c688802 100644
--- a/OpenSaveCloudClient/Models/Remote/NewPassword.cs
+++ b/OpenSaveCloudCore/Models/Remote/NewPassword.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class NewPassword
{
diff --git a/OpenSaveCloudClient/Models/Remote/Registration.cs b/OpenSaveCloudCore/Models/Remote/Registration.cs
similarity index 85%
rename from OpenSaveCloudClient/Models/Remote/Registration.cs
rename to OpenSaveCloudCore/Models/Remote/Registration.cs
index db58756..5c6adf4 100644
--- a/OpenSaveCloudClient/Models/Remote/Registration.cs
+++ b/OpenSaveCloudCore/Models/Remote/Registration.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class Registration
{
diff --git a/OpenSaveCloudClient/Models/Remote/ServerInformation.cs b/OpenSaveCloudCore/Models/Remote/ServerInformation.cs
similarity index 90%
rename from OpenSaveCloudClient/Models/Remote/ServerInformation.cs
rename to OpenSaveCloudCore/Models/Remote/ServerInformation.cs
index dd77396..37113a2 100644
--- a/OpenSaveCloudClient/Models/Remote/ServerInformation.cs
+++ b/OpenSaveCloudCore/Models/Remote/ServerInformation.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class ServerInformation
{
diff --git a/OpenSaveCloudClient/Models/Remote/TokenValidation.cs b/OpenSaveCloudCore/Models/Remote/TokenValidation.cs
similarity index 82%
rename from OpenSaveCloudClient/Models/Remote/TokenValidation.cs
rename to OpenSaveCloudCore/Models/Remote/TokenValidation.cs
index 4c1e721..73e501e 100644
--- a/OpenSaveCloudClient/Models/Remote/TokenValidation.cs
+++ b/OpenSaveCloudCore/Models/Remote/TokenValidation.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class TokenValidation
{
diff --git a/OpenSaveCloudClient/Models/Remote/UpdateUsername.cs b/OpenSaveCloudCore/Models/Remote/UpdateUsername.cs
similarity index 85%
rename from OpenSaveCloudClient/Models/Remote/UpdateUsername.cs
rename to OpenSaveCloudCore/Models/Remote/UpdateUsername.cs
index 8c9fa6c..5efc8f2 100644
--- a/OpenSaveCloudClient/Models/Remote/UpdateUsername.cs
+++ b/OpenSaveCloudCore/Models/Remote/UpdateUsername.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class UpdateUsername
{
diff --git a/OpenSaveCloudClient/Models/Remote/UploadGameInfo.cs b/OpenSaveCloudCore/Models/Remote/UploadGameInfo.cs
similarity index 82%
rename from OpenSaveCloudClient/Models/Remote/UploadGameInfo.cs
rename to OpenSaveCloudCore/Models/Remote/UploadGameInfo.cs
index ba79a6e..f379a7e 100644
--- a/OpenSaveCloudClient/Models/Remote/UploadGameInfo.cs
+++ b/OpenSaveCloudCore/Models/Remote/UploadGameInfo.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class UploadGameInfo
{
diff --git a/OpenSaveCloudClient/Models/Remote/User.cs b/OpenSaveCloudCore/Models/Remote/User.cs
similarity index 92%
rename from OpenSaveCloudClient/Models/Remote/User.cs
rename to OpenSaveCloudCore/Models/Remote/User.cs
index 22100a3..1a5ea32 100644
--- a/OpenSaveCloudClient/Models/Remote/User.cs
+++ b/OpenSaveCloudCore/Models/Remote/User.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
-namespace OpenSaveCloudClient.Models.Remote
+namespace OpenSaveCloudCore.Models.Remote
{
public class User
{
diff --git a/OpenSaveCloudCore/OpenSaveCloudCore.csproj b/OpenSaveCloudCore/OpenSaveCloudCore.csproj
new file mode 100644
index 0000000..c358ec5
--- /dev/null
+++ b/OpenSaveCloudCore/OpenSaveCloudCore.csproj
@@ -0,0 +1,14 @@
+
+
+
+ net6.0
+ enable
+ enable
+ 1.0.0
+
+
+
+
+
+
+