diff --git a/src/server/backend/server.go b/src/server/backend/server.go index 566e7527..99762d47 100644 --- a/src/server/backend/server.go +++ b/src/server/backend/server.go @@ -1,32 +1,24 @@ package backend -import ( - "fmt" - "net" - "server/gen-go/backend" - - "github.com/apache/thrift/lib/go/thrift" -) - func Start() { - addr := net.JoinHostPort("localhost", "9090") - handler := NewGameServiceHandler() + // addr := net.JoinHostPort("localhost", "9090") + // handler := NewGameServiceHandler() - //创建处理器 - processor := backend.NewGameAdminServiceProcessor(handler) + // //创建处理器 + // processor := backend.NewGameAdminServiceProcessor(handler) - transportFactory := thrift.NewTBufferedTransportFactory(8192) - protocolFactory := thrift.NewTBinaryProtocolFactoryConf(&thrift.TConfiguration{}) + // transportFactory := thrift.NewTBufferedTransportFactory(8192) + // protocolFactory := thrift.NewTBinaryProtocolFactoryConf(&thrift.TConfiguration{}) - tcpAddr, err := net.ResolveTCPAddr("tcp", addr) - if err != nil { - fmt.Printf("Failed to resolve address %s: %v\n", addr, err) - return - } - serverTransport := thrift.NewTServerSocketFromAddrTimeout(tcpAddr, 0) - server := thrift.NewTSimpleServer4(processor, serverTransport, transportFactory, protocolFactory) - fmt.Printf("Starting the server on %s...\n", addr) - if err := server.Serve(); err != nil { - fmt.Printf("Error starting the server: %v\n", err) - } + // tcpAddr, err := net.ResolveTCPAddr("tcp", addr) + // if err != nil { + // fmt.Printf("Failed to resolve address %s: %v\n", addr, err) + // return + // } + // serverTransport := thrift.NewTServerSocketFromAddrTimeout(tcpAddr, 0) + // server := thrift.NewTSimpleServer4(processor, serverTransport, transportFactory, protocolFactory) + // fmt.Printf("Starting the server on %s...\n", addr) + // if err := server.Serve(); err != nil { + // fmt.Printf("Error starting the server: %v\n", err) + // } } diff --git a/src/server/backend/sever_handler.go b/src/server/backend/sever_handler.go index 92f36209..e6006f27 100644 --- a/src/server/backend/sever_handler.go +++ b/src/server/backend/sever_handler.go @@ -1,146 +1,135 @@ package backend -import ( - "context" - "server/db" - "server/game" - "server/game/mod/msg" - GoUtil "server/game_util" - "server/gamedata" - "server/gen-go/backend" - "server/pkg/github.com/name5566/leaf/log" -) +// type GameServiceHandler struct{} -type GameServiceHandler struct{} +// func NewGameServiceHandler() *GameServiceHandler { +// return &GameServiceHandler{} +// } -func NewGameServiceHandler() *GameServiceHandler { - return &GameServiceHandler{} -} +// func (h *GameServiceHandler) ReqPlayerInfo(ctx context.Context, id int64) (*backend.ResAdminInfo, error) { +// player := game.G_GameLogicPtr.GetPlayer(int64(id)) +// online := true +// if player == nil { +// player = new(game.Player) +// player.M_DwUin = int64(id) +// player.InitPlayerOnly() +// player.ZeroUpdate(nil) +// online = false +// } +// res := &backend.ResAdminInfo{} +// res.Name = player.GetBaseMod().NickName +// res.UID = player.M_DwUin +// res.AreaId = int32(player.GetDecorateMod().GetAreaId()) +// res.Face = int32(player.GetFaceMod().SetId) +// res.Charge = player.GetChargeMod().Charge +// res.MaxCharge = player.GetChargeMod().MaxCharge +// res.Level = int32(player.GetPlayerBaseMod().GetLevel()) +// res.Diamond = int32(player.GetPlayerBaseMod().GetDiamond()) +// res.Star = int32(player.GetPlayerBaseMod().GetStar()) +// res.Energy = int32(player.GetPlayerBaseMod().GetEnergy()) +// res.UserName = player.GetPlayerBaseMod().GetName() +// res.LoginTime = player.GetBaseMod().LoginTime +// res.Cumulative = int32(player.GetBaseMod().Cumulative) +// res.RegisterTime = int32(player.GetPlayerBaseMod().GetRegisterTime()) +// res.TodayCumulative = int32(player.GetBaseMod().TodayCumulative) +// res.Ban = int8(db.GetPlayerBan(player.GetBaseMod().Account)) +// if online { +// res.Cumulative = int32(int64(player.GetBaseMod().Cumulative) + GoUtil.Now() - int64(player.GetBaseMod().LoginTime)) +// res.TodayCumulative = int32(int64(player.GetBaseMod().TodayCumulative) + GoUtil.Now() - int64(player.GetBaseMod().LoginTime)) +// } +// res.Code = player.GetBaseMod().AddCode +// res.ChessMap = player.GetChessMod().ChessMap +// resActLog := make([]*backend.Actlog, 0, len(player.GetFriendMod().ActivityLog)) +// for _, log := range player.GetFriendMod().ActivityLog { +// resActLog = append(resActLog, &backend.Actlog{ +// Type: int8(log.Type), +// Time: log.Time, +// Param: log.Param, +// }) +// } +// res.ActLog = resActLog +// friendList := player.GetFriendMod().NewFriendList +// type friendInfo struct { +// Uid int64 +// NickName string +// Avatar int +// Level int +// LogoutTime int64 +// LoginTime int64 +// } +// resFriendList := make([]*backend.FriendInfo, 0, len(friendList)) +// for v := range friendList { +// ps := game.G_GameLogicPtr.GetSimplePlayerByUid(v) +// if ps == nil { +// continue +// } +// resFriendList = append(resFriendList, &backend.FriendInfo{ +// UID: int64(v), +// NickName: ps.Name, +// Face: int32(ps.Face), +// Level: int32(ps.Level), +// LogoutTime: ps.Loginout, +// LoginTime: ps.Login, +// }) +// } +// res.FriendList = resFriendList +// OrderMap := make(map[int32]*backend.OrderInfo) +// Index := 0 +// for k, v := range player.GetOrderMod().OrderList { +// OrderMap[int32(Index)] = &backend.OrderInfo{ +// ID: int32(k), +// Type: int32(v.Type), +// Time: v.Timestamp, +// ChessId: GoUtil.IntSliceToString(v.MergeId), +// Diff: int8(v.Diff), +// } +// Index++ +// } +// res.OrderList = OrderMap +// return res, nil +// } -func (h *GameServiceHandler) ReqPlayerInfo(ctx context.Context, id int64) (*backend.ResAdminInfo, error) { - player := game.G_GameLogicPtr.GetPlayer(int64(id)) - online := true - if player == nil { - player = new(game.Player) - player.M_DwUin = int64(id) - player.InitPlayerOnly() - player.ZeroUpdate(nil) - online = false - } - res := &backend.ResAdminInfo{} - res.Name = player.GetBaseMod().NickName - res.UID = player.M_DwUin - res.AreaId = int32(player.GetDecorateMod().GetAreaId()) - res.Face = int32(player.GetFaceMod().SetId) - res.Charge = player.GetChargeMod().Charge - res.MaxCharge = player.GetChargeMod().MaxCharge - res.Level = int32(player.GetPlayerBaseMod().GetLevel()) - res.Diamond = int32(player.GetPlayerBaseMod().GetDiamond()) - res.Star = int32(player.GetPlayerBaseMod().GetStar()) - res.Energy = int32(player.GetPlayerBaseMod().GetEnergy()) - res.UserName = player.GetPlayerBaseMod().GetName() - res.LoginTime = player.GetBaseMod().LoginTime - res.Cumulative = int32(player.GetBaseMod().Cumulative) - res.RegisterTime = int32(player.GetPlayerBaseMod().GetRegisterTime()) - res.TodayCumulative = int32(player.GetBaseMod().TodayCumulative) - res.Ban = int8(db.GetPlayerBan(player.GetBaseMod().Account)) - if online { - res.Cumulative = int32(int64(player.GetBaseMod().Cumulative) + GoUtil.Now() - int64(player.GetBaseMod().LoginTime)) - res.TodayCumulative = int32(int64(player.GetBaseMod().TodayCumulative) + GoUtil.Now() - int64(player.GetBaseMod().LoginTime)) - } - res.Code = player.GetBaseMod().AddCode - res.ChessMap = player.GetChessMod().ChessMap - resActLog := make([]*backend.Actlog, 0, len(player.GetFriendMod().ActivityLog)) - for _, log := range player.GetFriendMod().ActivityLog { - resActLog = append(resActLog, &backend.Actlog{ - Type: int8(log.Type), - Time: log.Time, - Param: log.Param, - }) - } - res.ActLog = resActLog - friendList := player.GetFriendMod().NewFriendList - type friendInfo struct { - Uid int64 - NickName string - Avatar int - Level int - LogoutTime int64 - LoginTime int64 - } - resFriendList := make([]*backend.FriendInfo, 0, len(friendList)) - for v := range friendList { - ps := game.G_GameLogicPtr.GetSimplePlayerByUid(v) - if ps == nil { - continue - } - resFriendList = append(resFriendList, &backend.FriendInfo{ - UID: int64(v), - NickName: ps.Name, - Face: int32(ps.Face), - Level: int32(ps.Level), - LogoutTime: ps.Loginout, - LoginTime: ps.Login, - }) - } - res.FriendList = resFriendList - OrderMap := make(map[int32]*backend.OrderInfo) - Index := 0 - for k, v := range player.GetOrderMod().OrderList { - OrderMap[int32(Index)] = &backend.OrderInfo{ - ID: int32(k), - Type: int32(v.Type), - Time: v.Timestamp, - ChessId: GoUtil.IntSliceToString(v.MergeId), - Diff: int8(v.Diff), - } - Index++ - } - res.OrderList = OrderMap - return res, nil -} +// func (h *GameServiceHandler) ReqReloadServerMail(ctx context.Context) (*backend.ResMessage, error) { +// game.G_GameLogicPtr.MailMgrCall(&msg.Msg{Type: msg.HANDLE_TYPE_MAIL_RELOAD}) +// game.G_GameLogicPtr.NotifyAll(&msg.Msg{Type: msg.HANDLE_TYPE_MAIL}) +// log.Debug("ReqReloadServerMail success") +// return &backend.ResMessage{ +// Code: 0, +// }, nil +// } -func (h *GameServiceHandler) ReqReloadServerMail(ctx context.Context) (*backend.ResMessage, error) { - game.G_GameLogicPtr.MailMgrCall(&msg.Msg{Type: msg.HANDLE_TYPE_MAIL_RELOAD}) - game.G_GameLogicPtr.NotifyAll(&msg.Msg{Type: msg.HANDLE_TYPE_MAIL}) - log.Debug("ReqReloadServerMail success") - return &backend.ResMessage{ - Code: 0, - }, nil -} +// func (h *GameServiceHandler) ReqConfigReload(ctx context.Context) (*backend.ResMessage, error) { +// gamedata.Reload() +// return &backend.ResMessage{ +// Code: 0, +// }, nil +// } -func (h *GameServiceHandler) ReqConfigReload(ctx context.Context) (*backend.ResMessage, error) { - gamedata.Reload() - return &backend.ResMessage{ - Code: 0, - }, nil -} +// func (h *GameServiceHandler) ReqAdminGm(ctx context.Context, uid int64, command string) (*backend.ResMessage, error) { +// player := game.G_GameLogicPtr.GetPlayer(uid) +// if player == nil { +// return &backend.ResMessage{ +// Code: 1, +// Msg: "player not online", +// }, nil +// } +// player.Lock() +// defer player.UnLock() +// err := game.ReqGmCommand_(player, command) +// if err != nil { +// return &backend.ResMessage{ +// Code: 1, +// Msg: err.Error(), +// }, nil +// } +// return &backend.ResMessage{ +// Code: 0, +// }, nil +// } -func (h *GameServiceHandler) ReqAdminGm(ctx context.Context, uid int64, command string) (*backend.ResMessage, error) { - player := game.G_GameLogicPtr.GetPlayer(uid) - if player == nil { - return &backend.ResMessage{ - Code: 1, - Msg: "player not online", - }, nil - } - player.Lock() - defer player.UnLock() - err := game.ReqGmCommand_(player, command) - if err != nil { - return &backend.ResMessage{ - Code: 1, - Msg: err.Error(), - }, nil - } - return &backend.ResMessage{ - Code: 0, - }, nil -} - -func (h *GameServiceHandler) ReqAdminBan(ctx context.Context, uid int64, banTime int64) (*backend.ResMessage, error) { - db.UpdatePlayerBan(uid, banTime) - return &backend.ResMessage{ - Code: 0, - }, nil -} +// func (h *GameServiceHandler) ReqAdminBan(ctx context.Context, uid int64, banTime int64) (*backend.ResMessage, error) { +// db.UpdatePlayerBan(uid, banTime) +// return &backend.ResMessage{ +// Code: 0, +// }, nil +// }