From e1b4dd45e539b4e82c334a42b312fd0f50fa78a2 Mon Sep 17 00:00:00 2001 From: ArkanDash Date: Mon, 3 Mar 2025 23:21:28 +0700 Subject: [PATCH] implement more handler --- .../Controllers/Api/ProtocolHandlers/Login.cs | 8 +++--- .../Controllers/Api/ProtocolHandlers/Phone.cs | 19 ++++++++++++++ .../Api/ProtocolHandlers/Player.cs | 21 ++++++++++++++++ .../Controllers/Api/ProtocolHandlers/Plot.cs | 21 ++++++++++++++++ .../Api/ProtocolHandlers/RegionBossLevel.cs | 25 +++++++++++++++++++ .../Controllers/Api/ProtocolHandlers/Star.cs | 2 +- 6 files changed, 91 insertions(+), 5 deletions(-) create mode 100644 Novaria.GameServer/Controllers/Api/ProtocolHandlers/Phone.cs create mode 100644 Novaria.GameServer/Controllers/Api/ProtocolHandlers/Player.cs create mode 100644 Novaria.GameServer/Controllers/Api/ProtocolHandlers/Plot.cs diff --git a/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Login.cs b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Login.cs index 7576bb5..4a1b12c 100644 --- a/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Login.cs +++ b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Login.cs @@ -18,16 +18,16 @@ namespace Novaria.GameServer.Controllers.Api.ProtocolHandlers [ProtocolHandler(NetMsgId.player_login_req)] // req id goes here public Packet PlayerLoginHandler(LoginReq req) { - Log.Information("login_req received, contents: " + JsonSerializer.Serialize(req)); + //Log.Information("login_req received, contents: " + JsonSerializer.Serialize(req)); - Log.Information("Building login resp..."); + //Log.Information("Building login resp..."); LoginResp loginResp = new LoginResp() { Token = "seggstoken", }; - Log.Information("Sending login_resp packet: " + JsonSerializer.Serialize(loginResp)); + //Log.Information("Sending login_resp packet: " + JsonSerializer.Serialize(loginResp)); return Packet.Create(NetMsgId.player_login_succeed_ack, loginResp); } @@ -621,7 +621,7 @@ namespace Novaria.GameServer.Controllers.Api.ProtocolHandlers { return Packet.Create(NetMsgId.player_ping_succeed_ack, new Pong() { - ServerTs = DateTime.Now.Ticks, + ServerTs = 1736745112, }); } diff --git a/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Phone.cs b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Phone.cs new file mode 100644 index 0000000..59f6541 --- /dev/null +++ b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Phone.cs @@ -0,0 +1,19 @@ +using Google.Protobuf; +using Novaria.Common.Core; +using Proto; +namespace Novaria.GameServer.Controllers.Api.ProtocolHandlers +{ + public class Phone : ProtocolHandlerBase + { + public Phone(IProtocolHandlerFactory protocolHandlerFactory) : base(protocolHandlerFactory) + { + + } + + [ProtocolHandler(NetMsgId.phone_contacts_info_req)] + public Packet PhoneContactsInfoHandler(Nil req) + { + return Packet.Create(NetMsgId.phone_contacts_info_succeed_ack, PcapParser.PcapParser.Instance.GetPcapPacket(NetMsgId.phone_contacts_info_succeed_ack)); + } + } +} diff --git a/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Player.cs b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Player.cs new file mode 100644 index 0000000..3e9e82d --- /dev/null +++ b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Player.cs @@ -0,0 +1,21 @@ +using Google.Protobuf; +using Novaria.Common.Core; +using Proto; +namespace Novaria.GameServer.Controllers.Api.ProtocolHandlers +{ + public class Player : ProtocolHandlerBase + { + public Player(IProtocolHandlerFactory protocolHandlerFactory) : base(protocolHandlerFactory) + { + + } + + [ProtocolHandler(NetMsgId.player_board_set_req)] + public Packet PlayerBoardSetHandler(PlayerBoardSetReq req) + { + ChangeInfo changeInfo = new(); + + return Packet.Create(NetMsgId.player_board_set_succeed_ack, changeInfo); + } + } +} diff --git a/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Plot.cs b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Plot.cs new file mode 100644 index 0000000..d9ea4de --- /dev/null +++ b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Plot.cs @@ -0,0 +1,21 @@ +using Google.Protobuf; +using Novaria.Common.Core; +using Proto; +namespace Novaria.GameServer.Controllers.Api.ProtocolHandlers +{ + public class Plot : ProtocolHandlerBase + { + public Plot(IProtocolHandlerFactory protocolHandlerFactory) : base(protocolHandlerFactory) + { + + } + + [ProtocolHandler(NetMsgId.plot_reward_receive_req)] + public Packet PlotRewardReceiveHandler(UI32 req) + { + ChangeInfo resp = new ChangeInfo(); + + return Packet.Create(NetMsgId.plot_reward_receive_succeed_ack, resp); + } + } +} diff --git a/Novaria.GameServer/Controllers/Api/ProtocolHandlers/RegionBossLevel.cs b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/RegionBossLevel.cs index 8c43c99..08fd5d8 100644 --- a/Novaria.GameServer/Controllers/Api/ProtocolHandlers/RegionBossLevel.cs +++ b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/RegionBossLevel.cs @@ -1,3 +1,4 @@ +using Google.Protobuf; using Novaria.Common.Core; using Proto; using Serilog; @@ -18,5 +19,29 @@ namespace Novaria.GameServer.Controllers.Api.ProtocolHandlers return Packet.Create(NetMsgId.region_boss_level_apply_succeed_ack, regionBossChangeInfo); } + + [ProtocolHandler(NetMsgId.region_boss_level_settle_req)] + public Packet RegionBossLevelSettleHandler(RegionBossLevelSettleReq req) + { + RegionBossLevelSettleResp regionBossLevelSettleResp = new RegionBossLevelSettleResp() + { + First = true, + ThreeStar = true, + Change = new(), + //AwardItems = [], + //FirstItems = [], + //ThreeStarItems = [], + Exp = 0, + //SurpriseItems = [], + NextPackage = ByteString.Empty + }; + + regionBossLevelSettleResp.AwardItems.Add([]); + regionBossLevelSettleResp.FirstItems.Add([]); + regionBossLevelSettleResp.ThreeStarItems.Add([]); + regionBossLevelSettleResp.SurpriseItems.Add([]); + + return Packet.Create(NetMsgId.region_boss_level_settle_succeed_ack, regionBossLevelSettleResp); + } } } diff --git a/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Star.cs b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Star.cs index 228df09..80b59ad 100644 --- a/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Star.cs +++ b/Novaria.GameServer/Controllers/Api/ProtocolHandlers/Star.cs @@ -11,7 +11,7 @@ namespace Novaria.GameServer.Controllers.Api.ProtocolHandlers } [ProtocolHandler(NetMsgId.star_tower_info_req)] // req id goes here - public Packet PlayerLoginHandler(Nil req) + public Packet StarTowerInfoHandler(Nil req) { StarTowerInfo towerResp = new();