From 46ba8af11142c07545f361f266c1e9d727c37913 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 31 Mar 2026 14:33:35 +0800 Subject: [PATCH] =?UTF-8?q?rpc=E6=9C=8D=E5=8A=A1=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/backend/server.go | 15 +++++++++++++++ src/server/game/admin.go | 27 ++++++++------------------- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/server/backend/server.go b/src/server/backend/server.go index c3d2acea..73a0c3ba 100644 --- a/src/server/backend/server.go +++ b/src/server/backend/server.go @@ -16,12 +16,22 @@ type backendServer struct { } func (s *backendServer) ReloadActivity(ctx context.Context, req *msg.ReqActivityCfgReload) (*msg.ResActivityCfgReload, error) { + defer func() { + if r := recover(); r != nil { + log.Error("ReloadActivity panic: %v", r) + } + }() log.Debug("Received ReloadActivity request: %v", req) game.AcitivityCfgReload() return nil, nil } func (s *backendServer) OrderShipping(ctx context.Context, req *msg.ReqOrderShipping) (*msg.ResOrderShipping, error) { + defer func() { + if r := recover(); r != nil { + log.Error("OrderShipping panic: %v", r) + } + }() log.Debug("Received OrderShipping request: %v", req) res, err := game.AdminShipping(req) if err != nil { @@ -32,6 +42,11 @@ func (s *backendServer) OrderShipping(ctx context.Context, req *msg.ReqOrderShip } func (s *backendServer) UserDetail(ctx context.Context, req *msg.UserDetailParam) (*msg.ResUserDetail, error) { + defer func() { + if r := recover(); r != nil { + log.Error("UserDetail panic: %v", r) + } + }() log.Debug("Received UserDetail request: %v", req) res, err := game.AdminPlayerDetailInfo(req) if err != nil { diff --git a/src/server/game/admin.go b/src/server/game/admin.go index a4c02b2f..62ac4534 100644 --- a/src/server/game/admin.go +++ b/src/server/game/admin.go @@ -13,7 +13,6 @@ import ( "server/msg" "server/pkg/github.com/name5566/leaf/gate" "server/pkg/github.com/name5566/leaf/log" - "strconv" "time" "github.com/shirou/gopsutil/cpu" @@ -370,18 +369,18 @@ func AdminPlayerDetailInfo(req *msg.UserDetailParam) (*msg.ResUserDetail, error) }) } info := &msg.ResUserDetailInfo{ - Name: player.PlayMod.getBaseMod().NickName, + Name: player.PlayMod.getBaseMod().Account, Uid: player.M_DwUin, AreaId: int32(player.PlayMod.getDecorateMod().GetAreaId()), Face: int32(player.PlayMod.getFaceMod().SetId), Charge: int32(player.PlayMod.getChargeMod().Charge), MaxCharge: int32(player.PlayMod.getChargeMod().MaxCharge), - Level: int32(player.GetPlayerBaseMod().GetLevel()), - Diamond: int64(player.GetPlayerBaseMod().GetDiamond()), - Star: int32(player.GetPlayerBaseMod().GetStar()), - Energy: int32(player.GetPlayerBaseMod().GetEnergy()), - Mac: player.GetPlayerBaseMod().GetName(), - Login: int64(player.PlayMod.getBaseMod().LoginTime), + Level: int32(player.GetBaseMod().GetLevel()), + Diamond: int64(player.GetBaseMod().GetDiamond()), + Star: int32(player.GetBaseMod().GetStar()), + Energy: int32(player.GetBaseMod().GetEnergy()), + Mac: player.GetBaseMod().DiviceId, + Login: int64(player.GetBaseMod().LoginTime), Cumulative: int64(player.PlayMod.getBaseMod().Cumulative), RegisterTime: player.GetPlayerBaseMod().GetRegisterTime(), TodayCumulative: int64(player.PlayMod.getBaseMod().TodayCumulative), @@ -390,6 +389,7 @@ func AdminPlayerDetailInfo(req *msg.UserDetailParam) (*msg.ResUserDetail, error) Code: player.PlayMod.getBaseMod().AddCode, ActLog: actLog, AdWatch: int32(player.PlayMod.getKvMod().GetAdValue()), + ChessMap: player.PlayMod.getChessMod().ChessMap, } if online { @@ -397,17 +397,6 @@ func AdminPlayerDetailInfo(req *msg.UserDetailParam) (*msg.ResUserDetail, error) info.TodayCumulative = int64(player.PlayMod.getBaseMod().TodayCumulative) + GoUtil.Now() - int64(player.PlayMod.getBaseMod().LoginTime) } - if chessMap := player.PlayMod.getChessMod().ChessMap; len(chessMap) > 0 { - info.ChessMap = make(map[int32]int32, len(chessMap)) - for key, value := range chessMap { - chessID, err := strconv.Atoi(key) - if err != nil { - continue - } - info.ChessMap[int32(chessID)] = value - } - } - friendList := player.PlayMod.getFriendMod().NewFriendList info.FriendList = make([]*msg.UserDetailFriendInfo, 0, len(friendList)) for uid := range friendList {