From 7122d978a64c9cb9c9243a61c7d12fd61da558e7 Mon Sep 17 00:00:00 2001 From: Bluzume <39113159+KuromeSan@users.noreply.github.com> Date: Mon, 25 Oct 2021 07:11:34 -0400 Subject: [PATCH] add !VERSION --- HorseIsleServer/HorseIsleServer.sln | 17 ------ .../HorseIsleServer/Game/Chat/Chat.cs | 3 + .../HorseIsleServer/Game/Chat/Command.cs | 11 ++++ .../HorseIsleServer/HorseIsleServer.csproj | 22 +++++--- .../Properties/Resources.Designer.cs | 10 ++++ .../HorseIsleServer/Properties/Resources.resx | 5 +- .../HorseIsleServer/Resources/GitCommit | 1 + .../HorseIsleServer/Server/ServerVersion.cs | 56 +++++++++++++++++++ 8 files changed, 99 insertions(+), 26 deletions(-) create mode 100644 HorseIsleServer/HorseIsleServer/Resources/GitCommit create mode 100644 HorseIsleServer/HorseIsleServer/Server/ServerVersion.cs diff --git a/HorseIsleServer/HorseIsleServer.sln b/HorseIsleServer/HorseIsleServer.sln index a5f51b9..8296a37 100644 --- a/HorseIsleServer/HorseIsleServer.sln +++ b/HorseIsleServer/HorseIsleServer.sln @@ -7,30 +7,24 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HorseIsleServer", "HorseIsl EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU Debug|ARM = Debug|ARM Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 - Linux|Any CPU = Linux|Any CPU Linux|ARM = Linux|ARM Linux|ARM64 = Linux|ARM64 Linux|x64 = Linux|x64 Linux|x86 = Linux|x86 - MacOS|Any CPU = MacOS|Any CPU MacOS|ARM = MacOS|ARM MacOS|ARM64 = MacOS|ARM64 MacOS|x64 = MacOS|x64 MacOS|x86 = MacOS|x86 - Windows|Any CPU = Windows|Any CPU Windows|ARM = Windows|ARM Windows|ARM64 = Windows|ARM64 Windows|x64 = Windows|x64 Windows|x86 = Windows|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|Any CPU.Build.0 = Debug|Any CPU {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|ARM.ActiveCfg = Debug|ARM {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|ARM.Build.0 = Debug|ARM {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|ARM64.ActiveCfg = Debug|ARM64 @@ -39,8 +33,6 @@ Global {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x64.Build.0 = Debug|x64 {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x86.ActiveCfg = Debug|x86 {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x86.Build.0 = Debug|x86 - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|Any CPU.ActiveCfg = Linux|Any CPU - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|Any CPU.Build.0 = Linux|Any CPU {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|ARM.ActiveCfg = Linux|ARM {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|ARM.Build.0 = Linux|ARM {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|ARM64.ActiveCfg = Linux|ARM64 @@ -49,22 +41,13 @@ Global {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x64.Build.0 = Linux|x64 {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x86.ActiveCfg = Linux|x86 {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x86.Build.0 = Linux|x86 - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|Any CPU.ActiveCfg = MacOS|Any CPU - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|Any CPU.Build.0 = MacOS|Any CPU {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM.ActiveCfg = MacOS|ARM - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM.Build.0 = MacOS|ARM {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM64.ActiveCfg = MacOS|ARM64 - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM64.Build.0 = MacOS|ARM64 {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x64.ActiveCfg = MacOS|x64 {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x64.Build.0 = MacOS|x64 {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x86.ActiveCfg = MacOS|x86 - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x86.Build.0 = MacOS|x86 - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|Any CPU.ActiveCfg = Windows|Any CPU - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|Any CPU.Build.0 = Windows|Any CPU {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM.ActiveCfg = Windows|ARM - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM.Build.0 = Windows|ARM {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM64.ActiveCfg = Windows|ARM64 - {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM64.Build.0 = Windows|ARM64 {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x64.ActiveCfg = Windows|x64 {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x64.Build.0 = Windows|x64 {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x86.ActiveCfg = Windows|x86 diff --git a/HorseIsleServer/HorseIsleServer/Game/Chat/Chat.cs b/HorseIsleServer/HorseIsleServer/Game/Chat/Chat.cs index 61dc915..1e06fdc 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Chat/Chat.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Chat/Chat.cs @@ -177,6 +177,9 @@ namespace HISP.Game.Chat else if (message.ToUpper().StartsWith("!DANCE")) return Command.Dance(message, args, user); + + else if (message.ToUpper().StartsWith("!VERSION")) + return Command.Version(message, args, user); } return false; } diff --git a/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs b/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs index 5a19440..de295e6 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs @@ -160,6 +160,17 @@ namespace HISP.Game.Chat return true; } + public static bool Version(string message, string[] args, User user) + { + // Get current version and send to client + byte[] versionPacket = PacketBuilder.CreateChat(ServerVersion.GetBuildString(), PacketBuilder.CHAT_BOTTOM_RIGHT); + user.LoggedinClient.SendPacket(versionPacket); + + // Send Command complete message to client. + byte[] versionCommandCompletePacket = PacketBuilder.CreateChat(Messages.FormatPlayerCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT); + user.LoggedinClient.SendPacket(versionCommandCompletePacket); + return true; + } public static bool Ban(string message, string[] args, User user) { if (args.Length <= 0) diff --git a/HorseIsleServer/HorseIsleServer/HorseIsleServer.csproj b/HorseIsleServer/HorseIsleServer/HorseIsleServer.csproj index 5be4c7b..3c84c76 100644 --- a/HorseIsleServer/HorseIsleServer/HorseIsleServer.csproj +++ b/HorseIsleServer/HorseIsleServer/HorseIsleServer.csproj @@ -3,7 +3,7 @@ Exe HISP 8.0 - x64;x86;ARM;ARM64;AnyCPU + x64;x86;ARM;ARM64 Windows;Debug;Linux;MacOS @@ -39,6 +39,8 @@ false true icon.ico + HISP.Program + OnBuildSuccess icon.ico @@ -46,6 +48,7 @@ win-x86 true x86 + OS_WINDOWS;ARCH_X86 icon.ico @@ -53,34 +56,37 @@ win-x64 true x64 + OS_WINDOWS;ARCH_X86_64 net5.0 linux-x64 true - x64 + x64 + OS_LINUX;ARCH_X86_64 net5.0 osx-x64 true - x64 + x64 + OS_MACOS;ARCH_x86_64 net5.0 linux-arm true ARM + OS_LINUX;ARCH_ARM net5.0 linux-arm64 true ARM64 + OS_LINUX;ARCH_ARM64 - - net5.0 - win-x86;win-x64;win-arm;win-arm64;linux-x64;linux-arm;linux-arm64;osx-x64 - true - + + + diff --git a/HorseIsleServer/HorseIsleServer/Properties/Resources.Designer.cs b/HorseIsleServer/HorseIsleServer/Properties/Resources.Designer.cs index 722097e..aecea91 100644 --- a/HorseIsleServer/HorseIsleServer/Properties/Resources.Designer.cs +++ b/HorseIsleServer/HorseIsleServer/Properties/Resources.Designer.cs @@ -104,5 +104,15 @@ namespace HISP.Properties { return ResourceManager.GetString("DefaultServerProperties", resourceCulture); } } + + /// + /// UNKNOWN COMMIT HASH + /// + internal static string GitCommit { + get { + return ResourceManager.GetString("GitCommit", resourceCulture); + } + } + } } diff --git a/HorseIsleServer/HorseIsleServer/Properties/Resources.resx b/HorseIsleServer/HorseIsleServer/Properties/Resources.resx index 31a2ca5..7b5bcd9 100644 --- a/HorseIsleServer/HorseIsleServer/Properties/Resources.resx +++ b/HorseIsleServer/HorseIsleServer/Properties/Resources.resx @@ -124,4 +124,7 @@ ..\Resources\server.properties;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - + + ..\Resources\GitCommit;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + \ No newline at end of file diff --git a/HorseIsleServer/HorseIsleServer/Resources/GitCommit b/HorseIsleServer/HorseIsleServer/Resources/GitCommit new file mode 100644 index 0000000..5cd5286 --- /dev/null +++ b/HorseIsleServer/HorseIsleServer/Resources/GitCommit @@ -0,0 +1 @@ +1204d586bd47400b2a091e9906481f46da33a22a diff --git a/HorseIsleServer/HorseIsleServer/Server/ServerVersion.cs b/HorseIsleServer/HorseIsleServer/Server/ServerVersion.cs new file mode 100644 index 0000000..c2c46a7 --- /dev/null +++ b/HorseIsleServer/HorseIsleServer/Server/ServerVersion.cs @@ -0,0 +1,56 @@ +using HISP.Properties; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HISP.Server +{ + public class ServerVersion + { + public static int MAJOR = 1; + public static int MINOR = 3; + public static string PRODUCT = "HISP"; + + public static string GetArchitecture() + { +#if ARCH_X86_64 + return "x86_64"; +#elif ARCH_X86 + return "x86"; +#elif ARCH_ARM + return "ARM"; +#elif ARCH_ARM64 + return "ARM64" +#else + return "UNK_ARCH"; +#endif + } + public static string GetPlatform() + { +#if OS_WINDOWS + return "WINDOWS"; +#elif OS_LINUX + return "LINUX"; +#elif OS_MACOS + return "MACOS"; +#else + return "UNK_PLATFORM"; +#endif + + } + public static string GetVersionString() + { + return "v" + MAJOR.ToString() + "." + MINOR.ToString(); + } + public static string GetCommitHash(int TotalBytes) + { + return Resources.GitCommit.Substring(0, TotalBytes * 2); + } + public static string GetBuildString() + { + return PRODUCT + " " + GetVersionString() + " " + GetCommitHash(4) + "; (" + GetArchitecture() + "; " + GetPlatform() + ")"; + } + } +}