[go] 网络版坦克大战一--解析架构

我还真没做过游戏服务器,小型的服务器程序做过几个,但是以我多年的游戏与开发经验,总能看出点东西吧,嘿嘿!
这个项目开发周期可能会比较长,想到哪做到哪!

注意


以下内容,都是自己凭多年经验总结,不是业内游戏就是这么做的,主要是为了学习GO语言以及游戏服务器开发而总结的一些经验;如果大家用我的思路写出服务器出现任何问题,与我无关,切记切记!!!

分析游戏流程


我们以王者荣耀为例,这个游戏实在太火,同时在线人数得几十万吧,我瞎说的,肯定比这多多了(我这有点给它打广告的嫌疑,不知道给不给我广告费)

我们来看看它的流程:


  1. 打开游戏
  2. 加载游戏资源,检查游戏更新
  3. 登陆游戏(如果登陆过,第二次登陆系统会自动登陆)
  4. 选择游戏区,
  5. 进入游戏.

从打开到你游戏,就要经过这么几个步骤, 应该没错吧?

进入游戏后呢?看看都有什么功能?


  1. 聊天系统
  2. 好友系统
  3. 商城
  4. 各种模式的pvp
  5. 冒险模式
  6. 其它

当然还有好多,咱就不一一列举了.

以上就是一个这个游戏的概貌,为啥要说这些呢,跟咱的游戏有啥关系呢? 当然有关系,做游戏就要做成这样的,数钱数到手抽筋多好,哈哈, 玩笑玩笑

开始说明咱的意图吧

我们看到了从游戏到进入游戏有那么多不,咱的服务器肯定也得实现的,有人会说这有啥难,一个server就能搞定;但是我想说这样的服务器肯定活不过三集, 为啥嘞,坑不住呀,同时在线几万几十万甚至更多,你的服务器有多牛逼才能扛的住呀,对吧?
咱的目标要做那样的,就得按那样的标准设计,对否?

服务器说明

服务器名 个数 功能
主服务器 1 管理各个服务器。
更新服务器 若干 管理更新游戏的数据等
登陆服务器 若干 负责登陆, 告诉其它服务器那些人登陆了
网关服务器 若干 负责玩家的分流工作
游戏服务器 若干 开始游戏了

游戏功能说明

功能名称 用途
聊天系统
好友系统
pvp系统
商城
副本

看到没,服务器不是一个呀!!! 而且下面几个为毛都是若干,而不是1个呢,怕崩溃了呀!!! 辣么好的游戏,突然登陆服务器挂了,玩家登陆不上去咋整,那你多挂几个服务器不就解决了,哈哈

好了,继续解析.

上面说了,若干服务,是为了防止意外的发生,那么肯定就能修改添加或者修改各个服务器的IP,端口呀,让它指向新的服务器; 尤其游戏服务器就是很好的例子,他不就有很多个,王者荣耀不都搞了好几百个区了,如果其中某些区维护了或者挂了,其它区玩家不也能照常玩, 就是这个道理了,对不对呢。

你可能感兴趣的:(go)