From 56c526cec1582f36c01cd0860f29be526ca99005 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Mon, 15 Jul 2024 11:13:02 -0400 Subject: [PATCH] Begin moving things out of allmsgs.proto --- nksrv/LobbyServer/LobbyHandler.cs | 1 + .../Msgs/Antibot/BattleReportData.cs | 3 +- .../Msgs/Antibot/RecieveAntibotData.cs | 8 +-- .../Archive/CheckBookmarkScenarioExists.cs | 5 -- .../Msgs/Misc/GetMaintenanceNotice.cs | 1 + .../Msgs/Misc/GetResourceHosts2.cs | 3 +- .../LobbyServer/Msgs/Misc/GetSentryParams.cs | 8 ++- nksrv/LobbyServer/Msgs/Misc/GetServerInfo.cs | 11 +--- .../Msgs/Misc/GetStaticDataPack.cs | 3 +- nksrv/LobbyServer/Msgs/Stage/ClearStage.cs | 3 +- nksrv/LobbyServer/Msgs/Stage/GetStage.cs | 11 +--- .../Msgs/System/CheckClientVersion.cs | 7 ++- nksrv/Protos/allmsgs.proto | 55 ----------------- nksrv/Protos/system.proto | 60 +++++++++++++++++++ nksrv/Utils/JsonDb.cs | 11 +--- nksrv/Utils/NetUtils.cs | 4 +- 16 files changed, 89 insertions(+), 105 deletions(-) create mode 100644 nksrv/Protos/system.proto diff --git a/nksrv/LobbyServer/LobbyHandler.cs b/nksrv/LobbyServer/LobbyHandler.cs index 1e3b17c..cbcdeb9 100644 --- a/nksrv/LobbyServer/LobbyHandler.cs +++ b/nksrv/LobbyServer/LobbyHandler.cs @@ -1,6 +1,7 @@ using ASodium; using EmbedIO; using Google.Protobuf; +using nksrv.Net; using nksrv.Utils; using Swan.Logging; diff --git a/nksrv/LobbyServer/Msgs/Antibot/BattleReportData.cs b/nksrv/LobbyServer/Msgs/Antibot/BattleReportData.cs index 3b87244..409906c 100644 --- a/nksrv/LobbyServer/Msgs/Antibot/BattleReportData.cs +++ b/nksrv/LobbyServer/Msgs/Antibot/BattleReportData.cs @@ -1,4 +1,5 @@ -using nksrv.Utils; +using nksrv.Net; +using nksrv.Utils; using System; using System.Collections.Generic; using System.Linq; diff --git a/nksrv/LobbyServer/Msgs/Antibot/RecieveAntibotData.cs b/nksrv/LobbyServer/Msgs/Antibot/RecieveAntibotData.cs index 3f9cde7..5a3e384 100644 --- a/nksrv/LobbyServer/Msgs/Antibot/RecieveAntibotData.cs +++ b/nksrv/LobbyServer/Msgs/Antibot/RecieveAntibotData.cs @@ -1,9 +1,5 @@ -using nksrv.Utils; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using nksrv.Net; +using nksrv.Utils; namespace nksrv.LobbyServer.Msgs.Antibot { diff --git a/nksrv/LobbyServer/Msgs/Archive/CheckBookmarkScenarioExists.cs b/nksrv/LobbyServer/Msgs/Archive/CheckBookmarkScenarioExists.cs index 2b827a4..a2550d9 100644 --- a/nksrv/LobbyServer/Msgs/Archive/CheckBookmarkScenarioExists.cs +++ b/nksrv/LobbyServer/Msgs/Archive/CheckBookmarkScenarioExists.cs @@ -1,9 +1,4 @@ using nksrv.Utils; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace nksrv.LobbyServer.Msgs.Archive { diff --git a/nksrv/LobbyServer/Msgs/Misc/GetMaintenanceNotice.cs b/nksrv/LobbyServer/Msgs/Misc/GetMaintenanceNotice.cs index 9e17126..ead32a4 100644 --- a/nksrv/LobbyServer/Msgs/Misc/GetMaintenanceNotice.cs +++ b/nksrv/LobbyServer/Msgs/Misc/GetMaintenanceNotice.cs @@ -1,4 +1,5 @@ using Google.Protobuf; +using nksrv.Net; using nksrv.Utils; using System; using System.Collections.Generic; diff --git a/nksrv/LobbyServer/Msgs/Misc/GetResourceHosts2.cs b/nksrv/LobbyServer/Msgs/Misc/GetResourceHosts2.cs index 06b89eb..dcc267f 100644 --- a/nksrv/LobbyServer/Msgs/Misc/GetResourceHosts2.cs +++ b/nksrv/LobbyServer/Msgs/Misc/GetResourceHosts2.cs @@ -1,4 +1,5 @@ -using nksrv.Utils; +using nksrv.Net; +using nksrv.Utils; using System; using System.Collections.Generic; using System.Linq; diff --git a/nksrv/LobbyServer/Msgs/Misc/GetSentryParams.cs b/nksrv/LobbyServer/Msgs/Misc/GetSentryParams.cs index 4298271..805a31d 100644 --- a/nksrv/LobbyServer/Msgs/Misc/GetSentryParams.cs +++ b/nksrv/LobbyServer/Msgs/Misc/GetSentryParams.cs @@ -1,4 +1,5 @@ -using nksrv.Utils; +using nksrv.Net; +using nksrv.Utils; using System; using System.Collections.Generic; using System.Linq; @@ -13,8 +14,9 @@ namespace nksrv.LobbyServer.Msgs.Misc protected override async Task HandleAsync() { var r = new SentryDataResponse(); - // TODO check proper response from real server - await WriteDataAsync(r); + // TODO: figure out a way to disable sentry so that Shift Up devs wouldn't be annoyed by this server + + await WriteDataAsync(r); } } } diff --git a/nksrv/LobbyServer/Msgs/Misc/GetServerInfo.cs b/nksrv/LobbyServer/Msgs/Misc/GetServerInfo.cs index 2119b58..25e805b 100644 --- a/nksrv/LobbyServer/Msgs/Misc/GetServerInfo.cs +++ b/nksrv/LobbyServer/Msgs/Misc/GetServerInfo.cs @@ -1,10 +1,5 @@ -using Google.Protobuf.WellKnownTypes; -using nksrv.Utils; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using nksrv.Utils; +using nksrv.Net; namespace nksrv.LobbyServer.Msgs.Misc { @@ -13,7 +8,7 @@ namespace nksrv.LobbyServer.Msgs.Misc { protected override async Task HandleAsync() { - var r = new ResGetServerInfo(); + var r = new GetServerInfoResponse(); // todo: reimplement this as well r.MatchUrl = "https://global-match.nikke-kr.com"; diff --git a/nksrv/LobbyServer/Msgs/Misc/GetStaticDataPack.cs b/nksrv/LobbyServer/Msgs/Misc/GetStaticDataPack.cs index d8a0852..b1e2c88 100644 --- a/nksrv/LobbyServer/Msgs/Misc/GetStaticDataPack.cs +++ b/nksrv/LobbyServer/Msgs/Misc/GetStaticDataPack.cs @@ -1,4 +1,5 @@ using Google.Protobuf; +using nksrv.Net; using nksrv.StaticInfo; using nksrv.Utils; @@ -14,7 +15,7 @@ namespace nksrv.LobbyServer.Msgs.Misc var r = new StaticDataPackResponse(); r.Url = GameConfig.Root.StaticData.Url; r.Version = GameConfig.Root.StaticData.Version; - r.Size = StaticDataParser.Instance.Size; + r.FileSize = StaticDataParser.Instance.Size; r.Sha256Sum = ByteString.CopyFrom(StaticDataParser.Instance.Sha256Hash); r.Salt1 = ByteString.CopyFrom(Convert.FromBase64String(GameConfig.Root.StaticData.Salt1)); r.Salt2 = ByteString.CopyFrom(Convert.FromBase64String(GameConfig.Root.StaticData.Salt2)); diff --git a/nksrv/LobbyServer/Msgs/Stage/ClearStage.cs b/nksrv/LobbyServer/Msgs/Stage/ClearStage.cs index 456630c..22d6dc7 100644 --- a/nksrv/LobbyServer/Msgs/Stage/ClearStage.cs +++ b/nksrv/LobbyServer/Msgs/Stage/ClearStage.cs @@ -1,4 +1,5 @@ -using nksrv.StaticInfo; +using nksrv.Net; +using nksrv.StaticInfo; using nksrv.Utils; using Swan.Logging; using System; diff --git a/nksrv/LobbyServer/Msgs/Stage/GetStage.cs b/nksrv/LobbyServer/Msgs/Stage/GetStage.cs index 776f2f3..bc50cf2 100644 --- a/nksrv/LobbyServer/Msgs/Stage/GetStage.cs +++ b/nksrv/LobbyServer/Msgs/Stage/GetStage.cs @@ -1,12 +1,5 @@ -using nksrv.Utils; -using Swan.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using static Google.Rpc.Context.AttributeContext.Types; -using static System.Net.Mime.MediaTypeNames; +using nksrv.Net; +using nksrv.Utils; namespace nksrv.LobbyServer.Msgs.Stage { diff --git a/nksrv/LobbyServer/Msgs/System/CheckClientVersion.cs b/nksrv/LobbyServer/Msgs/System/CheckClientVersion.cs index d386a2d..d682c4e 100644 --- a/nksrv/LobbyServer/Msgs/System/CheckClientVersion.cs +++ b/nksrv/LobbyServer/Msgs/System/CheckClientVersion.cs @@ -1,4 +1,5 @@ -using nksrv.Utils; +using nksrv.Net; +using nksrv.Utils; namespace nksrv.LobbyServer.Msgs.System { @@ -9,9 +10,9 @@ namespace nksrv.LobbyServer.Msgs.System { var req = await ReadData(); var response = new CheckVersionResponse(); - response.Availability = 0; // None = 0, Available = 1, Mandatory = 2 + response.VersionStatus = 0; - await WriteDataAsync(response); + await WriteDataAsync(response); } } } diff --git a/nksrv/Protos/allmsgs.proto b/nksrv/Protos/allmsgs.proto index 80f47f3..fe0e70c 100644 --- a/nksrv/Protos/allmsgs.proto +++ b/nksrv/Protos/allmsgs.proto @@ -5,61 +5,6 @@ option csharp_namespace = "nksrv"; import "google/protobuf/timestamp.proto"; import "google/protobuf/Duration.proto"; -// Network structure definitions. Note that I have not included field names for anticheat strucures. - - -message SentryDataResponse { - double samplingRate = 1; - double traceSamplingRate = 2; -} - -message CheckVersionRequest { - string version = 1; -} - -message CheckVersionResponse { - int32 availability = 1; -} - -message ResGetServerInfo { - int32 worldId = 1; - string matchUrl = 2; -} - - -message NetMaintenanceWindow { - google.protobuf.Timestamp from = 1; - google.protobuf.Timestamp to = 2; -} - -message MaintenanceNoticeResponse { - NetMaintenanceWindow window = 1; - bool isWhitelisted = 2; -} - -message ResourceHostRequest { - string rversion = 1; -} - -message ResourceHostResponse { - string version = 1; - string baseUrl = 2; - map coreVersionMap = 3; - map dataPackVersionMap = 4; -} - -message StaticDataPackRequest { -} - -message StaticDataPackResponse { - string url = 1; - int64 size = 2; - bytes sha256Sum = 3; - bytes salt1 = 4; - bytes salt2 = 5; - string version = 6; -} - enum BillingPlatform{ Unknown = 0; Ios = 1; diff --git a/nksrv/Protos/system.proto b/nksrv/Protos/system.proto new file mode 100644 index 0000000..8bbfa50 --- /dev/null +++ b/nksrv/Protos/system.proto @@ -0,0 +1,60 @@ +syntax = "proto3"; + +option csharp_namespace = "nksrv.Net"; + +import "google/protobuf/timestamp.proto"; +import "google/protobuf/Duration.proto"; + +message SentryDataResponse { + double Unknown1 = 1; + double Unknown2 = 2; +} + +message CheckVersionRequest { + string Version = 1; +} + +message CheckVersionResponse { + int32 VersionStatus = 1; // 0: good, 1: outdated, 2: unsupported +} + +message GetServerInfoRequest { + +} +message GetServerInfoResponse { + int32 worldId = 1; + string matchUrl = 2; +} + +message NetMaintenanceWindow { + google.protobuf.Timestamp from = 1; + google.protobuf.Timestamp to = 2; +} + +message MaintenanceNoticeResponse { + NetMaintenanceWindow window = 1; + bool isWhitelisted = 2; +} + +message ResourceHostRequest { + string rversion = 1; +} + +message ResourceHostResponse { + string version = 1; + string baseUrl = 2; + map coreVersionMap = 3; + map dataPackVersionMap = 4; +} + +message StaticDataPackRequest { +} + +message StaticDataPackResponse { + string Url = 1; + int64 FileSize = 2; + bytes Sha256Sum = 3; + bytes Salt1 = 4; + bytes Salt2 = 5; + string Version = 6; +} \ No newline at end of file diff --git a/nksrv/Utils/JsonDb.cs b/nksrv/Utils/JsonDb.cs index 1d0be0b..e275043 100644 --- a/nksrv/Utils/JsonDb.cs +++ b/nksrv/Utils/JsonDb.cs @@ -1,15 +1,8 @@ -using ASodium; -using Newtonsoft.Json; +using Newtonsoft.Json; using nksrv.LobbyServer; -using nksrv.LobbyServer.Msgs.Stage; +using nksrv.Net; using nksrv.StaticInfo; using Swan.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using static Google.Rpc.Context.AttributeContext.Types; namespace nksrv.Utils { diff --git a/nksrv/Utils/NetUtils.cs b/nksrv/Utils/NetUtils.cs index fd1745a..e37bd9b 100644 --- a/nksrv/Utils/NetUtils.cs +++ b/nksrv/Utils/NetUtils.cs @@ -1,8 +1,6 @@ - - +using nksrv.Net; using nksrv.StaticInfo; using Swan.Logging; -using System.Reflection; namespace nksrv.Utils {