使用Go 语言开发大型 MMORPG 游戏服务器怎么样

使用Go 语言开发大型 MMORPG 游戏服务器怎么样,第1张

从2013年起,经朋友推荐开始用Golang编写游戏登陆服务器, 配合C++做第三方平台验证 到编写独立工具导表工具GitHub - davyxu/tabtoy: 跨平台的高性能便捷电子表格导出器 以及网络库GitHub - davyxu/cellnet: 简单,方便,高效的Go语言的游戏服务器底层 最终使用这些工具及库编写整个游戏服务器框架, 我的感受是很不错的

细节看来, 有如下的几个点:

语言, 库

Golang语言特性和C很像, 简单, 一张A4纸就能写完所有特性 你想想看, C++到了领悟阶段, 也只用那几个简单特性, 剩下的都是一大堆解决各种内存问题的技巧 而Golang一开始就简单, 何必浪费生命去研究那一大堆的奇技*巧呢

Golang的坑只有2个:1 interface{}和nil配合使用, 2 for循环时, 将循环变量引入闭包(Golang, Lua, C#闭包变量捕获差异) 完全不影响正常使用, 复合语言概念, 只是看官方后面怎么有效的避免

用Golang就忘记继承那套东西, 用组合+接口

用Golang服务器如何保证解决游戏服务器存盘一致性问题 stop the world是肯定的, 但是Golang可以从语言层并发序列化玩家数据, 再通过后台存盘

channel是goroutine虽然是Golang的语言特性 但是在编写服务器时, 其实只有底层用的比较多

Golang的第三方库简直多如牛毛, 好的也很多

不要说模板了, C#的也不好用, 官方在纠结也不要加, 使用中, 没模板确实有点不方便 用interface{}/反射做泛型对于Golang这种强类型语言来说,还是有点打脸

运行期

Golang和C++比性能的话, 这是C++的优势, Golang因为没虚拟机, 只有薄薄的一层调度层 因此性能是非常高的, 用一点性能牺牲换开发效率, 妥妥的

16版后的GC优化的已经很好了, 如果你不是高性能,高并发Web应用, 非要找出一堆的优化技巧的话 只用Golang写点游戏服务器, 那点GC损耗可以忽略不计

和其他现代语言一样, 崩溃捕捉是标配功能, 我用Golang的服务器线上跑, 基本没碰到过崩溃情况

热更新: 官方已经有plugin系统的提交, 跨平台的 估计很快就可以告别手动cgo做so热更新

开发, 调试, 部署, 优化

LiteIDE是我首选的Golang的IDE, 虽然有童鞋说B格不高 但这估计实在是找不到缺点说了, 别跟我说Visual Studio, 那是宇宙级的

曾经听说有人不看好Golang, 我问为啥: 说这么新的语言, 不好招人,后面打听到他是个策划 好吧

真实情况是这样的: Golang对于有点编程基础的新人来说, 1周左右可以开始贡献代码 老司机2~3天

开发效率还是不错的, 一般大的游戏功能, 22人一周3~4个整完 这换C++时代, 大概也就1~2个还写不完 对接服务器sdk的话, 大概1天接个10多个没问题

Golang自带性能调优工具, 从内存, CPU, 阻塞点等几个方面直接出图进行分析, 非常直观, 可以参考我博客几年前的分析: 使用Golang进行性能分析(Profiling)

Golang支持交叉编译, 跨平台部署, 什么概念 linux是吧 不问你什么版本, 直接windows上编译输出一个elf, 甩到服务器上开跑不超过1分钟时间

  数字人生

  内容简介

  看之前请大吼三声:这是奇幻!

沉迷与网游的少年王伟,捡到了外星人遗落的游戏设备。人生从此发生了剧变,他的世界成为了一个庞大的游戏!老爸那里接到了杀鸡的E级任务,妈妈那里接到了考北京大学的S级任务,在无数稀奇古怪的任务中,他无法选择地踏上了这段惊心动魄虚幻人生……

  重生之我能升级(连载ing)

  一位青年意外重生,结果却发现自己居然可以升级!

  重生之我能升级

  杀只鸭都能暴装备!

  “我很不忍心,公鸡兄。”朱阳有些不忍。

  “喔喔喔喔…喔喔喔喔…”公鸡有些害怕。

  天命法神

  普通的都市青年,无意间获得了UFO异宝。

他的人生,被同化成了游戏一般的详细数据。

几乎所有人都是NPC,几乎所有动物都是升级怪。

蚂蚁窝、湖泊、海洋、小说,网络游戏等,都成了战斗副本。

未来人视频、玛雅文明、百慕大三角洲、光子带、紫薇圣人、世界末日等,都成为了主线任务……

  超级模拟:主角网购龙珠,意外获得了像游戏里人物一样,做任务、杀怪升级的能力,从此走上牛b之路——神器直接入库小弟最少也得是首富,萝莉、御姐、警花。。。纷纷对他青睐有加

  超级物品

在游戏里爆出东西,通过背包可以带到现实里

  超级魂晶

在异界里爆东西,在现实里爽

  疯狂道具

意外获得了宇宙级游戏G1

,行星竟然就是是服务器。于是,在各处游戏中带出能力与道具,在现实里呼风唤雨。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 使用Go 语言开发大型 MMORPG 游戏服务器怎么样

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情