From e0d6e0542da69f24ecf0e32d1fa4e7ad42c03a7f Mon Sep 17 00:00:00 2001 From: sin365 <353374337@qq.com> Date: Fri, 13 Sep 2024 18:07:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E9=97=B4=E9=80=BB=E8=BE=91=E6=8E=A8?= =?UTF-8?q?=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/Script/Manager/AppLogin.cs | 16 +++++++++ .../Manager/ClientManager.cs | 7 ++-- AxibugEmuOnline.Server/Manager/RoomManager.cs | 10 +++--- AxibugEmuOnline.Server/Program.cs | 34 +++++++++++++++++++ 4 files changed, 59 insertions(+), 8 deletions(-) diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs index 6d8d523..ffb40f0 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppLogin.cs @@ -45,7 +45,23 @@ namespace AxibugEmuOnline.Client.Manager { App.log.Info("登录失败"); } +#if UNITY_EDITOR + //TestCreate(); +#endif } + + #region 测试 + void TestCreate() + { + App.roomMgr.SendCreateRoom(1, 0, string.Empty); + } + long TestFrameID = 0; + void TestEmuUpdate() + { + + } + #endregion + } } diff --git a/AxibugEmuOnline.Server/Manager/ClientManager.cs b/AxibugEmuOnline.Server/Manager/ClientManager.cs index 0b01cee..27d55ca 100644 --- a/AxibugEmuOnline.Server/Manager/ClientManager.cs +++ b/AxibugEmuOnline.Server/Manager/ClientManager.cs @@ -123,6 +123,7 @@ namespace AxibugEmuOnline.Server.Manager UID = GetNextUID(), _socket = _socket, Account = data.Account, + NickName = data.Account, IsOffline = false, }; AddClient(cinfo); @@ -241,7 +242,7 @@ namespace AxibugEmuOnline.Server.Manager while (true) { pingTickARE.WaitOne(); - AppSrv.g_Log.Info("PingAll"); + //AppSrv.g_Log.Info("PingAll"); PingAll(); } } @@ -263,7 +264,7 @@ namespace AxibugEmuOnline.Server.Manager } public void OnCmdPing(Socket sk, byte[] reqData) { - AppSrv.g_Log.Debug($"OnCmdPing"); + //AppSrv.g_Log.Debug($"OnCmdPing"); ClientInfo _c = AppSrv.g_ClientMgr.GetClientForSocket(sk); Protobuf_Ping msg = ProtoBufHelper.DeSerizlize(reqData); @@ -276,7 +277,7 @@ namespace AxibugEmuOnline.Server.Manager } public void OnCmdPong(Socket sk, byte[] reqData) { - AppSrv.g_Log.Debug($"OnCmdPong"); + //AppSrv.g_Log.Debug($"OnCmdPong"); ClientInfo _c = AppSrv.g_ClientMgr.GetClientForSocket(sk); Protobuf_Pong msg = ProtoBufHelper.DeSerizlize(reqData); diff --git a/AxibugEmuOnline.Server/Manager/RoomManager.cs b/AxibugEmuOnline.Server/Manager/RoomManager.cs index 3712a54..4e89dcf 100644 --- a/AxibugEmuOnline.Server/Manager/RoomManager.cs +++ b/AxibugEmuOnline.Server/Manager/RoomManager.cs @@ -49,7 +49,7 @@ namespace AxibugEmuOnline.Server if (!mDictRoom.ContainsKey(data.RoomID)) { mDictRoom.Add(data.RoomID, data); - mKeyRoomList.Remove(data.RoomID); + mKeyRoomList.Add(data.RoomID); } } } @@ -73,7 +73,7 @@ namespace AxibugEmuOnline.Server return data; } - List GetRoomList() + public List GetRoomList() { lock (mDictRoom) { @@ -461,7 +461,7 @@ namespace AxibugEmuOnline.Server case 2: oldUID = Player3_UID; Player3_UID = _c.UID; break; case 3: oldUID = Player4_UID; Player4_UID = _c.UID; break; } - if (oldUID <= 0) + if (oldUID >= 0) SynUIDs.Remove(oldUID); SynUIDs.Add(_c.UID); _c.RoomState.SetRoomData(this.RoomID, PlayerIdx); @@ -491,15 +491,15 @@ namespace AxibugEmuOnline.Server public bool GetPlayerUIDByIdx(int Idx, out long UID) { - UID = -1; switch (Idx) { case 0: UID = Player1_UID; break; case 1: UID = Player2_UID; break; case 2: UID = Player3_UID; break; case 3: UID = Player4_UID; break; + default: UID = -1; break; } - return UID != 0; + return UID > 0; } public bool GetPlayerClientByIdx(int Idx, out ClientInfo _c) { diff --git a/AxibugEmuOnline.Server/Program.cs b/AxibugEmuOnline.Server/Program.cs index 7a81dc9..5bd6188 100644 --- a/AxibugEmuOnline.Server/Program.cs +++ b/AxibugEmuOnline.Server/Program.cs @@ -17,6 +17,40 @@ namespace AxibugEmuOnline.Server Command = ((CommandStr.IndexOf(" ") <= 0) ? CommandStr : CommandStr.Substring(0, CommandStr.IndexOf(" "))); switch (Command) { + case "rlist": + { + var roomlist = AppSrv.g_Room.GetRoomList(); + AppSrv.g_Log.Info($"RoomCount:{roomlist.Count}"); + foreach (var room in roomlist) + { + AppSrv.g_Log.Info($"----- RoomID:{room.RoomID} -----"); + AppSrv.g_Log.Info($"GameRomID:{room.GameRomID}"); + AppSrv.g_Log.Info($"GameState:{room.GameState}"); + AppSrv.g_Log.Info($"HostUID:{room.HostUID}"); + AppSrv.g_Log.Info($"mCurrFrameId:{room.mCurrFrameId}"); + AppSrv.g_Log.Info($"input all:{room.mCurrInputData.all}"); + AppSrv.g_Log.Info($"input p1:{room.mCurrInputData.p1}"); + AppSrv.g_Log.Info($"input p2:{room.mCurrInputData.p2}"); + AppSrv.g_Log.Info($"input p3:{room.mCurrInputData.p3}"); + AppSrv.g_Log.Info($"input p4:{room.mCurrInputData.p4}"); + AppSrv.g_Log.Info($"GetPlayerCount:{room.GetPlayerCount()}"); + for (int i = 0; i < 4; i++) + { + AppSrv.g_Log.Info($" P{i}:"); + if (room.GetPlayerClientByIdx(i, out ClientInfo _c)) + { + AppSrv.g_Log.Info($" UID->{_c.UID}"); + AppSrv.g_Log.Info($" NickName->{_c.NickName}"); + AppSrv.g_Log.Info($" AveNetDelay->{_c.AveNetDelay}"); + } + else + { + AppSrv.g_Log.Info($" None"); + } + } + } + } + break; case "list": { AppSrv.g_Log.Info("当前在线:" + AppSrv.g_ClientMgr.GetOnlineClient());