go安装leaf

go安装leaf

安装的时候使用go get发现控制台没有任何显示进度。所以可以用后面的那个链接下载。我是追出来的这个链接。

其实go get 就是 git clone到本地。

如果觉得git慢的话,可以先迅雷下载到本地,再上传上去,放在需要的目录下面。



1.配置项目路径GOPATH到/root/leafserver


2.下载所需要的库
git clone https://github.com/name5566/leafserver
go get github.com/name5566/leaf  或者  git clone https://github.com/name5566/leaf /root/leafserver/src/github.com/name5566/leaf
go get github.com/golang/protobuf/proto  或者 git clone https://github.com/golang/protobuf /root/leafserver/src/github.com/golang/protobuf
go get gopkg.in/mgo.v2 或者 git clone https://gopkg.in/mgo.v2 /root/leafserver/src/gopkg.in/mgo.v2


3.编译
go install server
你好,Leaf是一个基于Go语言的开源游戏服务器框架,它提供了高效的网络通信、多线程、协程、消息路由、资源管理等功能,可用于开发各种类型的游戏服务器。下面是对Leaf的简要介绍和入门指南: 1. 安装Go语言环境 首先需要安装Go语言环境,可从官网下载并安装最新版本的Go语言。 2. 下载Leaf框架 从GitHub上下载最新的Leaf源码,也可以使用以下命令进行下载: ``` go get -u github.com/name5566/leaf ``` 3. 创建游戏服务器 在src目录下创建一个main.go文件,并添加以下代码: ```go package main import ( "github.com/name5566/leaf" "github.com/name5566/leaf/log" ) func main() { // 启动Leaf框架 leaf.Run( // 初始化函数 func() { log.Release("Leaf server start") }, // 错误处理函数 func(err error) { log.Error("Leaf server error: %v", err) }, // 关闭函数 func() { log.Release("Leaf server stop") }, ) } ``` 4. 运行游戏服务器 在终端中进入main.go所在目录,输入以下命令进行编译: ``` go build ``` 然后运行生成的可执行文件: ``` ./main ``` 5. 添加网络通信 在main.go中添加以下代码: ```go package main import ( "github.com/name5566/leaf" "github.com/name5566/leaf/log" "github.com/name5566/leaf/network" ) func main() { // 创建TCP监听器 listener, err := network.Listen("tcp", "127.0.0.1:7777") if err != nil { log.Fatal("Leaf server listen error: %v", err) } // 启动Leaf框架 leaf.Run( // 初始化函数 func() { log.Release("Leaf server start") }, // 错误处理函数 func(err error) { log.Error("Leaf server error: %v", err) }, // 关闭函数 func() { log.Release("Leaf server stop") }, // 添加监听器 leaf.WithListener(listener), ) } ``` 6. 添加消息路由 在main.go中添加以下代码: ```go package main import ( "github.com/name5566/leaf" "github.com/name5566/leaf/log" "github.com/name5566/leaf/network" "reflect" ) type Hello struct { Name string } func init() { // 注册消息类型 leaf.Register(&Hello{}) } func main() { // 创建TCP监听器 listener, err := network.Listen("tcp", "127.0.0.1:7777") if err != nil { log.Fatal("Leaf server listen error: %v", err) } // 添加消息路由 leaf.SetMessageHandler(func(msg interface{}) { switch msg.(type) { case *Hello: hello := msg.(*Hello) log.Release("Hello %v", hello.Name) default: log.Error("Unknown message %v", reflect.TypeOf(msg)) } }) // 启动Leaf框架 leaf.Run( // 初始化函数 func() { log.Release("Leaf server start") }, // 错误处理函数 func(err error) { log.Error("Leaf server error: %v", err) }, // 关闭函数 func() { log.Release("Leaf server stop") }, // 添加监听器 leaf.WithListener(listener), ) } ``` 7. 发送消息 在main.go中添加以下代码: ```go package main import ( "github.com/name5566/leaf" "github.com/name5566/leaf/log" "github.com/name5566/leaf/network" "reflect" ) type Hello struct { Name string } func init() { // 注册消息类型 leaf.Register(&Hello{}) } func main() { // 创建TCP监听器 listener, err := network.Listen("tcp", "127.0.0.1:7777") if err != nil { log.Fatal("Leaf server listen error: %v", err) } // 添加消息路由 leaf.SetMessageHandler(func(msg interface{}) { switch msg.(type) { case *Hello: hello := msg.(*Hello) log.Release("Hello %v", hello.Name) default: log.Error("Unknown message %v", reflect.TypeOf(msg)) } }) // 启动Leaf框架 leaf.Run( // 初始化函数 func() { log.Release("Leaf server start") }, // 错误处理函数 func(err error) { log.Error("Leaf server error: %v", err) }, // 关闭函数 func() { log.Release("Leaf server stop") }, // 添加监听器 leaf.WithListener(listener), ) // 创建TCP连接 conn, err := network.Dial("tcp", "127.0.0.1:7777") if err != nil { log.Fatal("Leaf client dial error: %v", err) } // 发送消息 conn.WriteMsg(&Hello{Name: "world"}) } ``` 通过以上步骤,就可以编写和运行一个简单的Leaf游戏服务器了。如果需要更详细的文档和示例,请参考Leaf的GitHub仓库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值