首页
学习
活动
专区
圈层
工具
发布

社区leaf学习笔记|05. 游戏玩家注册、登陆(上)

微信公众号:Golang语言社区 如有问题或建议,请公众号留言或者微信、QQ群提问

大家好,本节主要是来实际给大家讲解Leaf服务器游戏框架的实际玩家注册登陆功能。

Leaf游戏框架--玩家登陆协议定义

首先 我们需要增加玩家注册、登陆的协议,消息结构定义在server\msg\msg.go中,但是为了便于查找建议单独建立文件 例如 如下图 建立目录:server\msg\protocolfile\protocol.go

protocol.go 内容

代码语言:javascript
代码运行次数:0
复制
package Protocol
// 用户登陆协议
type UserLogin struct {
    LoginName string // 用户名
    LoginPW   string // 密码
}
// 注册协议
type UserRegister struct {
    LoginName string // 用户名
    LoginPW   string // 密码
    // Mobi      string // 手机号
    // Email      string // 邮箱
}
// 玩家的临时结构
// 玩家有角色的情况
type UserST struct {
    UID      string // 账号ID
    ServerID string // 服务器ID
    RoleUID  string // 角色UID
    RoleName string // 角色名字
    RoleLev  string // 角色等级
    Coin     string // 金币
    // 其他的暂时不做定义
}

登陆路由配置

路由配置方式请参照前几节文章,本节及后面只是概括 路径:server\gate\router.go

router.go :

代码语言:javascript
代码运行次数:0
复制
package gate
import (
    _ "server/game"
    "server/login"
    "server/msg"
    "server/msg/protocolfile"
)
func init() {
    msg.Processor.SetRouter(&Protocol.UserLogin{}, login.ChanRPC)
}

注册消息 路径:server\msg\msg.go msg.go:

代码语言:javascript
代码运行次数:0
复制
package msg
import (
    "server/msg/protocolfile"
    "github.com/name5566/leaf/network"
    "github.com/name5566/leaf/network/json"
)
var Processorbak network.Processor
// 使用默认的 JSON 消息处理器(默认还提供了 protobuf 消息处理器)
var Processor = json.NewProcessor()
func init() {
    // 这里我们注册了一个 JSON 消息 Test
    Processor.Register(&Protocol.UserLogin{})
}

以上配置完成后,消息注册及路由配置就OK了,总结下 如下: 1 msg.go 消息注册使用 2 protocol.go 消息定义

本节就到这里,下节我们继续完成玩家登陆、注册逻辑。

举报
领券