Golang Go语言安利:我的游戏服务器框架,高效,轻量,简单

发布于 1周前 作者 yuanlaile 来自 Go语言

地址: https://github.com/lonnng/nano

有两个 Demo

  1. 100 行实现的一个 web 的聊天室 https://github.com/lonnng/nano/tree/master/examples/demo/chat
  2. 一个小蝌蚪的 Web 应用 https://github.com/lonnng/nano/tree/master/examples/demo/tadpole

第二个照抄 http://rumpetroll.com/, 可以先玩一下


Golang Go语言安利:我的游戏服务器框架,高效,轻量,简单

更多关于Golang Go语言安利:我的游戏服务器框架,高效,轻量,简单的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

32 回复

您好,能加您一下吗?

更多关于Golang Go语言安利:我的游戏服务器框架,高效,轻量,简单的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


rumpetroll 那个怎么找不到那个可以钻的,。。大大的球?

你说原版, 还是我哪个 demo 呢?

很厉害的样子!

辣么多人写框架,有成功项目了吗

提取了上一个上线项目可取的一部分拿出的。

就不怕突然 stop-the-world 么。。。

你是来搞笑的吗

哈哈哈,还停留在这个认知阶段

能加载 Lua 脚本不? 如果不能用 Lua 脚本写逻辑, 那么怎么把这些琐碎的东西交给数值策划呢? 你招不到用 Go 的数值策划, 那你的游戏成本怎么控制?

其实并不难,可以用 golua,把需要 Lua 的一部分模块封装成一个 component,handler 里面把请求转到 Lua 层


type LuaHandler struct {
vm *lua.State
}

func (h *LuaHandler) Init(){
h.vm = lua.NewState()
}

func (h *LuaHandler) AfterInit(){
h.vm.LoadScripts()
}

func (h *LuaHandler) LogicProcessorA(session *session.Session, message *pb.MessageA) error {
return h.vm.Execute(“logicA”, session, message)
}

func (h *LuaHandler) LogicProcessorB(session *session.Session, message *pb.MessageB) error {
return h.vm.Execute(“logicB”, session, message)
}

=======
上门的代码不能运行,但是大概是这么一个流程

是的

额抱歉在下还比较新手。。。有什么理解不到位的情况,还请大佬多多包涵

https://github.com/atframework/atsf4g-co
那我也来安利一波 cxx 写得游戏服务器框架。平行扩容,单线程百万级 QPS

和自己裸写的有啥商业化区别呢,主要觉得自己从 0 写好像也不那么难,go 已经都这么屌了

商业化是什么意思?

多少客户端并发呢?

有没有可以 1 弄斗地主或者麻将的 1 框架

我自己到是用这个写了一套川麻/一套湖北卡五星的服务器,但是又不能开源。

新版已经减轻好多了把,go 写工程真正问题好像不在于此。

那可以利用它的实时通信控制其他程序进行操作不?比如发送打开命令,它立即下载一个文件并打开一个程序,我 1 想用它写个心电系统
另外如果是推广,建议开源一个小的扑克程序或者简单的网络游戏教程,这样会有好多人去学习的,至于麻将程序复杂也麻烦些,不适合教程,你要开源了,各地麻将程序没法卖了

有一个聊天的 demo,合适入门,你说这个也可以做

大家去看作者 github 头像,包你满意。:-)

github 头像是你本人?

感谢分享你的Golang游戏服务器框架!确实,Go语言(Golang)在构建高效、轻量和简单的游戏服务器框架方面有着得天独厚的优势。以下是我对Go语言在游戏开发中的几点专业看法:

  1. 高效性:Go语言拥有强大的并发处理能力,通过goroutines和channel,可以轻松地实现高并发服务器。这对于游戏服务器来说至关重要,因为游戏往往需要处理大量的实时数据交互和玩家请求。

  2. 轻量级:Go语言编译后的二进制文件体积较小,且运行时占用的内存资源也相对较低。这意味着你的游戏服务器可以在较少的硬件资源下运行,从而降低成本。

  3. 简单性:Go语言的语法简洁明了,学习曲线平缓。对于游戏开发者来说,这意味着可以更快速地掌握并使用Go语言来构建游戏服务器,而无需花费大量时间学习复杂的编程语言。

  4. 生态系统:Go语言拥有一个活跃的社区和丰富的第三方库,这些库涵盖了网络编程、数据库操作、JSON处理等多个方面。这些资源可以极大地加速你的游戏服务器开发进程。

  5. 稳定性:Go语言具有良好的稳定性和可靠性,这得益于其强大的垃圾回收机制和类型安全特性。这对于需要长时间稳定运行的游戏服务器来说尤为重要。

总之,你的选择非常明智!使用Go语言构建游戏服务器框架将为你带来高效、轻量和简单的开发体验。期待你的游戏服务器框架能够为更多游戏开发者带来便利和成功!

回到顶部