From 6d3eae301e8b857bc97008bc71b7950022321629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=9D=E5=BF=83=E6=B5=AE=E6=A2=A6?= <61831881+cxfm666@users.noreply.github.com> Date: Sun, 5 May 2024 11:48:46 +0800 Subject: [PATCH] paused & announce --- Common/Configuration/ConfigContainer.cs | 1 + .../Player/HandlerSetClientPausedCsReq.cs | 21 +++++++++++++++++++ .../Send/Others/PacketServerAnnounceNotify.cs | 2 ++ .../Send/Player/PacketSetClientPausedScRsp.cs | 16 ++++++++++++++ 4 files changed, 40 insertions(+) create mode 100644 GameServer/Server/Packet/Recv/Player/HandlerSetClientPausedCsReq.cs create mode 100644 GameServer/Server/Packet/Send/Player/PacketSetClientPausedScRsp.cs diff --git a/Common/Configuration/ConfigContainer.cs b/Common/Configuration/ConfigContainer.cs index 423238af..ae89fda2 100644 --- a/Common/Configuration/ConfigContainer.cs +++ b/Common/Configuration/ConfigContainer.cs @@ -62,6 +62,7 @@ namespace EggLink.DanhengServer.Configuration public bool AutoLightSection { get; set; } = true; public string Language { get; set; } = "EN"; public List DefaultPermissions { get; set; } = ["*"]; + public string ServerAnnounce { get; set; } = "Welcome to danhengserver!"; public ServerProfile ServerProfile { get; set; } = new ServerProfile(); public bool AutoCreateUser { get; set; } = true; } diff --git a/GameServer/Server/Packet/Recv/Player/HandlerSetClientPausedCsReq.cs b/GameServer/Server/Packet/Recv/Player/HandlerSetClientPausedCsReq.cs new file mode 100644 index 00000000..a41444a1 --- /dev/null +++ b/GameServer/Server/Packet/Recv/Player/HandlerSetClientPausedCsReq.cs @@ -0,0 +1,21 @@ +using System; +using System.IO; +using EggLink.DanhengServer.Proto; +using EggLink.DanhengServer.Util; +using EggLink.DanhengServer.Server.Packet.Send.Player; +using EggLink.DanhengServer.Server.Packet.Send.Others; +namespace EggLink.DanhengServer.Server.Packet.Recv.Player +{ + [Opcode(CmdIds.SetClientPausedCsReq)] + public class HandlerSetClientPausedCsReq : Handler + { + private static readonly Logger Logger = new("GameServer"); + public override void OnHandle(Connection connection, byte[] header, byte[] data) + { + var req = SetClientPausedCsReq.Parser.ParseFrom(data); + var paused = req.Paused; + connection.SendPacket(new PacketSetClientPausedScRsp(paused)); + connection.SendPacket(new PacketServerAnnounceNotify()); + } + } +} diff --git a/GameServer/Server/Packet/Send/Others/PacketServerAnnounceNotify.cs b/GameServer/Server/Packet/Send/Others/PacketServerAnnounceNotify.cs index 0e5a49d9..3ae0f49c 100644 --- a/GameServer/Server/Packet/Send/Others/PacketServerAnnounceNotify.cs +++ b/GameServer/Server/Packet/Send/Others/PacketServerAnnounceNotify.cs @@ -18,6 +18,8 @@ namespace EggLink.DanhengServer.Server.Packet.Send.Others { BeginTime = Extensions.GetUnixSec(), EndTime = Extensions.GetUnixSec() + 3600, + ConfigId = 1, + MPACCIEDACN = ConfigManager.Config.ServerOption.ServerAnnounce, }); SetData(proto); diff --git a/GameServer/Server/Packet/Send/Player/PacketSetClientPausedScRsp.cs b/GameServer/Server/Packet/Send/Player/PacketSetClientPausedScRsp.cs new file mode 100644 index 00000000..33b6c94f --- /dev/null +++ b/GameServer/Server/Packet/Send/Player/PacketSetClientPausedScRsp.cs @@ -0,0 +1,16 @@ +using EggLink.DanhengServer.Proto; + +namespace EggLink.DanhengServer.Server.Packet.Send.Player +{ + public class PacketSetClientPausedScRsp : BasePacket + { + public PacketSetClientPausedScRsp(bool paused) : base(CmdIds.SetClientPausedScRsp) + { + var rsp = new SetClientPausedScRsp + { + Paused = paused + }; + SetData(rsp); + } + } +}