RPC服务器先不启用
This commit is contained in:
parent
a2a8da873e
commit
c72761d627
@ -1,32 +1,24 @@
|
|||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"net"
|
|
||||||
"server/gen-go/backend"
|
|
||||||
|
|
||||||
"github.com/apache/thrift/lib/go/thrift"
|
|
||||||
)
|
|
||||||
|
|
||||||
func Start() {
|
func Start() {
|
||||||
addr := net.JoinHostPort("localhost", "9090")
|
// addr := net.JoinHostPort("localhost", "9090")
|
||||||
handler := NewGameServiceHandler()
|
// handler := NewGameServiceHandler()
|
||||||
|
|
||||||
//创建处理器
|
// //创建处理器
|
||||||
processor := backend.NewGameAdminServiceProcessor(handler)
|
// processor := backend.NewGameAdminServiceProcessor(handler)
|
||||||
|
|
||||||
transportFactory := thrift.NewTBufferedTransportFactory(8192)
|
// transportFactory := thrift.NewTBufferedTransportFactory(8192)
|
||||||
protocolFactory := thrift.NewTBinaryProtocolFactoryConf(&thrift.TConfiguration{})
|
// protocolFactory := thrift.NewTBinaryProtocolFactoryConf(&thrift.TConfiguration{})
|
||||||
|
|
||||||
tcpAddr, err := net.ResolveTCPAddr("tcp", addr)
|
// tcpAddr, err := net.ResolveTCPAddr("tcp", addr)
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
fmt.Printf("Failed to resolve address %s: %v\n", addr, err)
|
// fmt.Printf("Failed to resolve address %s: %v\n", addr, err)
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
serverTransport := thrift.NewTServerSocketFromAddrTimeout(tcpAddr, 0)
|
// serverTransport := thrift.NewTServerSocketFromAddrTimeout(tcpAddr, 0)
|
||||||
server := thrift.NewTSimpleServer4(processor, serverTransport, transportFactory, protocolFactory)
|
// server := thrift.NewTSimpleServer4(processor, serverTransport, transportFactory, protocolFactory)
|
||||||
fmt.Printf("Starting the server on %s...\n", addr)
|
// fmt.Printf("Starting the server on %s...\n", addr)
|
||||||
if err := server.Serve(); err != nil {
|
// if err := server.Serve(); err != nil {
|
||||||
fmt.Printf("Error starting the server: %v\n", err)
|
// fmt.Printf("Error starting the server: %v\n", err)
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,146 +1,135 @@
|
|||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
// type GameServiceHandler struct{}
|
||||||
"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{}
|
// func NewGameServiceHandler() *GameServiceHandler {
|
||||||
|
// return &GameServiceHandler{}
|
||||||
|
// }
|
||||||
|
|
||||||
func NewGameServiceHandler() *GameServiceHandler {
|
// func (h *GameServiceHandler) ReqPlayerInfo(ctx context.Context, id int64) (*backend.ResAdminInfo, error) {
|
||||||
return &GameServiceHandler{}
|
// 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) {
|
// func (h *GameServiceHandler) ReqReloadServerMail(ctx context.Context) (*backend.ResMessage, error) {
|
||||||
player := game.G_GameLogicPtr.GetPlayer(int64(id))
|
// game.G_GameLogicPtr.MailMgrCall(&msg.Msg{Type: msg.HANDLE_TYPE_MAIL_RELOAD})
|
||||||
online := true
|
// game.G_GameLogicPtr.NotifyAll(&msg.Msg{Type: msg.HANDLE_TYPE_MAIL})
|
||||||
if player == nil {
|
// log.Debug("ReqReloadServerMail success")
|
||||||
player = new(game.Player)
|
// return &backend.ResMessage{
|
||||||
player.M_DwUin = int64(id)
|
// Code: 0,
|
||||||
player.InitPlayerOnly()
|
// }, nil
|
||||||
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) {
|
// func (h *GameServiceHandler) ReqConfigReload(ctx context.Context) (*backend.ResMessage, error) {
|
||||||
game.G_GameLogicPtr.MailMgrCall(&msg.Msg{Type: msg.HANDLE_TYPE_MAIL_RELOAD})
|
// gamedata.Reload()
|
||||||
game.G_GameLogicPtr.NotifyAll(&msg.Msg{Type: msg.HANDLE_TYPE_MAIL})
|
// return &backend.ResMessage{
|
||||||
log.Debug("ReqReloadServerMail success")
|
// Code: 0,
|
||||||
return &backend.ResMessage{
|
// }, nil
|
||||||
Code: 0,
|
// }
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (h *GameServiceHandler) ReqConfigReload(ctx context.Context) (*backend.ResMessage, error) {
|
// func (h *GameServiceHandler) ReqAdminGm(ctx context.Context, uid int64, command string) (*backend.ResMessage, error) {
|
||||||
gamedata.Reload()
|
// player := game.G_GameLogicPtr.GetPlayer(uid)
|
||||||
return &backend.ResMessage{
|
// if player == nil {
|
||||||
Code: 0,
|
// return &backend.ResMessage{
|
||||||
}, nil
|
// 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) {
|
// func (h *GameServiceHandler) ReqAdminBan(ctx context.Context, uid int64, banTime int64) (*backend.ResMessage, error) {
|
||||||
player := game.G_GameLogicPtr.GetPlayer(uid)
|
// db.UpdatePlayerBan(uid, banTime)
|
||||||
if player == nil {
|
// return &backend.ResMessage{
|
||||||
return &backend.ResMessage{
|
// Code: 0,
|
||||||
Code: 1,
|
// }, nil
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user