diff --git a/Application/Application.csproj b/Application/Application.csproj index f6d81e0f..b19b95ee 100644 --- a/Application/Application.csproj +++ b/Application/Application.csproj @@ -6,7 +6,7 @@ 2.1.5 false RaidMax.IW4MAdmin.Application - 2.1.9.6 + 2.2 RaidMax Forever None IW4MAdmin @@ -31,8 +31,8 @@ true true - 2.1.9.6 - 2.1.9.6 + 2.2.0.0 + 2.2.0.0 @@ -94,6 +94,6 @@ - + diff --git a/Application/BuildScripts/PostPublish.bat b/Application/BuildScripts/PostPublish.bat index 49d175a5..317b111e 100644 --- a/Application/BuildScripts/PostPublish.bat +++ b/Application/BuildScripts/PostPublish.bat @@ -58,42 +58,50 @@ del "%SolutionDir%Publish\WindowsPrerelease\*pdb" echo setting up library folders -echo PR-Config -if not exist "%SolutionDir%Publish\WindowsPrerelease\Configuration" md "%SolutionDir%Publish\WindowsPrerelease\Configuration" -move "%SolutionDir%Publish\WindowsPrerelease\DefaultSettings.json" "%SolutionDir%Publish\WindowsPrerelease\Configuration\" +if "%CurrentConfiguration%" == "Prerelease" ( + echo PR-Config + if not exist "%SolutionDir%Publish\WindowsPrerelease\Configuration" md "%SolutionDir%Publish\WindowsPrerelease\Configuration" + move "%SolutionDir%Publish\WindowsPrerelease\DefaultSettings.json" "%SolutionDir%Publish\WindowsPrerelease\Configuration\" +) -if "%CurrentConfiguration" == "Release" ( +if "%CurrentConfiguration%" == "Release" ( echo R-Config if not exist "%SolutionDir%Publish\Windows\Configuration" md "%SolutionDir%Publish\Windows\Configuration" if exist "%SolutionDir%Publish\Windows\DefaultSettings.json" move "%SolutionDir%Publish\Windows\DefaultSettings.json" "%SolutionDir%Publish\Windows\Configuration\DefaultSettings.json" ) -echo PR-LIB -if not exist "%SolutionDir%Publish\WindowsPrerelease\Lib\" md "%SolutionDir%Publish\WindowsPrerelease\Lib\" -move "%SolutionDir%Publish\WindowsPrerelease\*.dll" "%SolutionDir%Publish\WindowsPrerelease\Lib\" -move "%SolutionDir%Publish\WindowsPrerelease\*.json" "%SolutionDir%Publish\WindowsPrerelease\Lib\" +if "%CurrentConfiguration%" == "Prerelease" ( + echo PR-LIB + if not exist "%SolutionDir%Publish\WindowsPrerelease\Lib\" md "%SolutionDir%Publish\WindowsPrerelease\Lib\" + move "%SolutionDir%Publish\WindowsPrerelease\*.dll" "%SolutionDir%Publish\WindowsPrerelease\Lib\" + move "%SolutionDir%Publish\WindowsPrerelease\*.json" "%SolutionDir%Publish\WindowsPrerelease\Lib\" +) -if "%CurrentConfiguration" == "Release" ( +if "%CurrentConfiguration%" == "Release" ( echo R-LIB if not exist "%SolutionDir%Publish\Windows\Lib\" md "%SolutionDir%Publish\Windows\Lib\" move "%SolutionDir%Publish\Windows\*.dll" "%SolutionDir%Publish\Windows\Lib\" move "%SolutionDir%Publish\Windows\*.json" "%SolutionDir%Publish\Windows\Lib\" ) -echo PR-RT -move "%SolutionDir%Publish\WindowsPrerelease\runtimes" "%SolutionDir%Publish\WindowsPrerelease\Lib\runtimes" -if exist "%SolutionDir%Publish\WindowsPrerelease\refs" move "%SolutionDir%Publish\WindowsPrerelease\refs" "%SolutionDir%Publish\WindowsPrerelease\Lib\refs" +if "%CurrentConfiguration%" == "Prerelease" ( + echo PR-RT + move "%SolutionDir%Publish\WindowsPrerelease\runtimes" "%SolutionDir%Publish\WindowsPrerelease\Lib\runtimes" + if exist "%SolutionDir%Publish\WindowsPrerelease\refs" move "%SolutionDir%Publish\WindowsPrerelease\refs" "%SolutionDir%Publish\WindowsPrerelease\Lib\refs" +) -if "%CurrentConfiguration" == "Release" ( +if "%CurrentConfiguration%" == "Release" ( echo R-RT move "%SolutionDir%Publish\Windows\runtimes" "%SolutionDir%Publish\Windows\Lib\runtimes" if exist "%SolutionDir%Publish\Windows\refs" move "%SolutionDir%Publish\Windows\refs" "%SolutionDir%Publish\Windows\Lib\refs" ) echo making start scripts -@echo dotnet Lib/IW4MAdmin.dll > "%SolutionDir%Publish\WindowsPrerelease\StartIW4MAdmin.cmd" -@echo dotnet Lib/IW4MAdmin.dll > "%SolutionDir%Publish\Windows\StartIW4MAdmin.cmd" +@(echo dotnet Lib/IW4MAdmin.dll && echo pause) > "%SolutionDir%Publish\WindowsPrerelease\StartIW4MAdmin.cmd" +@(echo dotnet Lib/IW4MAdmin.dll && echo pause) > "%SolutionDir%Publish\Windows\StartIW4MAdmin.cmd" @(echo #!/bin/bash && echo dotnet Lib\IW4MAdmin.dll) > "%SolutionDir%Publish\WindowsPrerelease\StartIW4MAdmin.sh" @(echo #!/bin/bash && echo dotnet Lib\IW4MAdmin.dll) > "%SolutionDir%Publish\Windows\StartIW4MAdmin.sh" + +eCHO "%CurrentConfiguration%" diff --git a/Application/DefaultSettings.json b/Application/DefaultSettings.json index 128d0349..121fde6f 100644 --- a/Application/DefaultSettings.json +++ b/Application/DefaultSettings.json @@ -25,11 +25,6 @@ "Name": "mp_rust" }, - { - "Alias": "Highrise", - "Name": "mp_highrise" - }, - { "Alias": "Terminal", "Name": "mp_terminal" diff --git a/Application/Main.cs b/Application/Main.cs index a8654140..358dc478 100644 --- a/Application/Main.cs +++ b/Application/Main.cs @@ -38,13 +38,14 @@ namespace IW4MAdmin.Application try { + loc = Utilities.CurrentLocalization.LocalizationIndex; Console.CancelKeyPress += new ConsoleCancelEventHandler(OnCancelKey); CheckDirectories(); ServerManager = ApplicationManager.GetInstance(); Localization.Configure.Initialize(ServerManager.GetApplicationSettings().Configuration()?.CustomLocale); - loc = Utilities.CurrentLocalization.LocalizationIndex; + ServerManager.Logger.WriteInfo($"Version is {Version}"); @@ -148,7 +149,7 @@ namespace IW4MAdmin.Application { e = e.InnerException; } - Console.WriteLine($"Exception: {e.Message}"); + Console.WriteLine(e.Message); Console.WriteLine(loc["MANAGER_EXIT"]); Console.ReadKey(); return; diff --git a/Application/Server.cs b/Application/Server.cs index cde4904a..2c66df61 100644 --- a/Application/Server.cs +++ b/Application/Server.cs @@ -33,21 +33,30 @@ namespace IW4MAdmin public override int GetHashCode() { - // todo: make this better with collisions - int id = Math.Abs($"{IP}:{Port.ToString()}".Select(a => (int)a).Sum()); - - // hack: this is a nasty fix for get hashcode being changed - switch (id) + if (GameName == Game.IW4) { - case 765: - return 886229536; - case 760: - return 1645744423; - case 761: - return 1645809959; + // todo: make this better with collisions + int id = Math.Abs($"{IP}:{Port.ToString()}".Select(a => (int)a).Sum()); + + // hack: this is a nasty fix for get hashcode being changed + switch (id) + { + case 765: + return 886229536; + case 760: + return 1645744423; + case 761: + return 1645809959; + } + + return id; } - return id; + else + { + int id = HashCode.Combine(IP, Port); + return id < 0 ? Math.Abs(id) : id; + } } public async Task OnPlayerJoined(Player logClient) diff --git a/RunPublishRelease.cmd b/RunPublishRelease.cmd new file mode 100644 index 00000000..d0b60713 --- /dev/null +++ b/RunPublishRelease.cmd @@ -0,0 +1,8 @@ +dotnet publish WebfrontCore/WebfrontCore.csproj -c Release -o C:\Projects\IW4M-Admin\Publish\Windows +dotnet publish Application/Application.csproj -c Release -o C:\Projects\IW4M-Admin\Publish\Windows +dotnet publish GameLogServer/GameLogServer.pyproj -c Release -o C:\Projects\IW4M-Admin\Publish\Windows\GameLogServer +call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat" +msbuild GameLogServer/GameLogServer.pyproj /p:PublishProfile=Stable /p:DeployOnBuild=true /p:PublishProfileRootFolder=C:\Projects\IW4M-Admin\GameLogServer\ +msbuild DiscordWebhook/DiscordWebhook.pyproj /p:PublishProfile=Stable /p:DeployOnBuild=true /p:PublishProfileRootFolder=C:\Projects\IW4M-Admin\DiscordWebhook\ +cd "C:\Projects\IW4M-Admin\DEPLOY\" +PowerShell ".\upload_release.ps1" \ No newline at end of file