RPC服务器先不启用
This commit is contained in:
parent
a2a8da873e
commit
c72761d627
@ -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)
|
||||
// }
|
||||
}
|
||||
|
||||
@ -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
|
||||
// }
|
||||
|
||||
Loading…
Reference in New Issue
Block a user