From 877af770bcaac2bf68c9a52f812e031132115eb8 Mon Sep 17 00:00:00 2001 From: WatchAndyTW Date: Thu, 30 May 2024 23:36:11 +0800 Subject: [PATCH] Fix: Uid exceed error when number too large Fuck ushort --- Common/Database/Account/AccountData.cs | 4 ++-- GameServer/Command/CommandSender.cs | 2 +- GameServer/Game/Friend/FriendManager.cs | 2 +- GameServer/Game/Player/PlayerInstance.cs | 4 ++-- .../Server/Packet/Send/Player/PacketPlayerGetTokenScRsp.cs | 2 +- WebServer/Handler/ComboTokenGranterHandler.cs | 2 +- WebServer/Handler/TokenLoginHandler.cs | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Common/Database/Account/AccountData.cs b/Common/Database/Account/AccountData.cs index 719300de..373f05cf 100644 --- a/Common/Database/Account/AccountData.cs +++ b/Common/Database/Account/AccountData.cs @@ -31,9 +31,9 @@ namespace EggLink.DanhengServer.Database.Account return result; } - public static AccountData? GetAccountByUid(long uid) + public static AccountData? GetAccountByUid(int uid) { - AccountData? result = DatabaseHelper.Instance?.GetInstance((int)uid); + AccountData? result = DatabaseHelper.Instance?.GetInstance(uid); return result; } diff --git a/GameServer/Command/CommandSender.cs b/GameServer/Command/CommandSender.cs index 5044b8c7..ea951724 100644 --- a/GameServer/Command/CommandSender.cs +++ b/GameServer/Command/CommandSender.cs @@ -37,7 +37,7 @@ namespace EggLink.DanhengServer.Command public void SendMsg(string msg) { - Player.SendPacket(new PacketRevcMsgScNotify(toUid:Player.Uid, fromUid: (uint)ConfigManager.Config.ServerOption.ServerProfile.Uid, msg)); + Player.SendPacket(new PacketRevcMsgScNotify(toUid: (uint)Player.Uid, fromUid: (uint)ConfigManager.Config.ServerOption.ServerProfile.Uid, msg)); } public bool HasPermission(string permission) diff --git a/GameServer/Game/Friend/FriendManager.cs b/GameServer/Game/Friend/FriendManager.cs index 91e80024..54c2da1f 100644 --- a/GameServer/Game/Friend/FriendManager.cs +++ b/GameServer/Game/Friend/FriendManager.cs @@ -89,7 +89,7 @@ namespace EggLink.DanhengServer.Game.Friend var targetData = PlayerData.GetPlayerByUid(targetUid)!; var targetPlayer = Listener.GetActiveConnection(targetUid); - targetPlayer?.SendPacket(new PacketSyncHandleFriendScNotify(Player.Uid, true, Player.Data)); + targetPlayer?.SendPacket(new PacketSyncHandleFriendScNotify((uint)Player.Uid, true, Player.Data)); targetPlayer?.Player!.FriendManager!.FriendData.SendApplyList.Remove(Player.Uid); targetPlayer?.Player!.FriendManager!.FriendData.FriendList.Add(Player.Uid); diff --git a/GameServer/Game/Player/PlayerInstance.cs b/GameServer/Game/Player/PlayerInstance.cs index 4cd313ba..36309069 100644 --- a/GameServer/Game/Player/PlayerInstance.cs +++ b/GameServer/Game/Player/PlayerInstance.cs @@ -65,7 +65,7 @@ namespace EggLink.DanhengServer.Game.Player public TutorialData? TutorialData { get; private set; } public TutorialGuideData? TutorialGuideData { get; private set; } public SceneInstance? SceneInstance { get; private set; } - public ushort Uid { get; set; } + public int Uid { get; set; } public Connection? Connection { get; set; } public bool Initialized { get; set; } = false; public bool IsNewPlayer { get; set; } = false; @@ -110,7 +110,7 @@ namespace EggLink.DanhengServer.Game.Player private void InitialPlayerManager() { - Uid = (ushort)Data.Uid; + Uid = Data.Uid; ActivityManager = new(this); AvatarManager = new(this); LineupManager = new(this); diff --git a/GameServer/Server/Packet/Send/Player/PacketPlayerGetTokenScRsp.cs b/GameServer/Server/Packet/Send/Player/PacketPlayerGetTokenScRsp.cs index 0e6c08ef..10e3a7a5 100644 --- a/GameServer/Server/Packet/Send/Player/PacketPlayerGetTokenScRsp.cs +++ b/GameServer/Server/Packet/Send/Player/PacketPlayerGetTokenScRsp.cs @@ -9,7 +9,7 @@ namespace EggLink.DanhengServer.Server.Packet.Send.Player var rsp = new PlayerGetTokenScRsp() { BlackInfo = new(), - Uid = connection.Player?.Uid ?? 0, + Uid = (uint)(connection.Player?.Uid ?? 0), }; SetData(rsp); diff --git a/WebServer/Handler/ComboTokenGranterHandler.cs b/WebServer/Handler/ComboTokenGranterHandler.cs index 328bb9dd..fa7b2cee 100644 --- a/WebServer/Handler/ComboTokenGranterHandler.cs +++ b/WebServer/Handler/ComboTokenGranterHandler.cs @@ -17,7 +17,7 @@ namespace EggLink.DanhengServer.WebServer.Handler res.message = "Invalid login data"; return new JsonResult(res); } - AccountData? account = AccountData.GetAccountByUid(long.Parse(tokenData.uid!)); + AccountData? account = AccountData.GetAccountByUid(int.Parse(tokenData.uid!)); if (account == null) { res.retcode = -201; diff --git a/WebServer/Handler/TokenLoginHandler.cs b/WebServer/Handler/TokenLoginHandler.cs index eb8b1e94..5850d40d 100644 --- a/WebServer/Handler/TokenLoginHandler.cs +++ b/WebServer/Handler/TokenLoginHandler.cs @@ -9,7 +9,7 @@ namespace EggLink.DanhengServer.WebServer.Handler { public JsonResult Handle(string uid, string token) { - AccountData? account = AccountData.GetAccountByUid(long.Parse(uid)); + AccountData? account = AccountData.GetAccountByUid(int.Parse(uid)); var res = new LoginResJson(); if (account == null || !account?.DispatchToken?.Equals(token) == true) {