运用双腾讯云搭建《饥荒》多人联机服务器

作者:钟秉成

《饥荒》是由 Klei Entertainment 开发的一款动作冒险类求生沙盒游戏,是目前较火的一个独立游戏。

多人联机服务器让你和你的小伙伴可以合作,共同在沙盒世界里求得生存。游戏中有多样化的道具制作及建筑系统,此外怪物们的能力提高并加入更多新道具,给了玩家更多的发挥空间,讲究协同作战的魅力。

需要解决的问题:

  1. 常规多人在线联机的问题在于主机需要较高的配置以及较稳定的上传带宽
  2. 并且由于服务端依赖于主机,故主机不能离线,限制性较大。
  3. 家庭宽带上传带宽不稳定,且基本没有公网 IP,给联机游戏带来了一定的体验问题。
  4. 由于《饥荒》的优化问题,饥荒服务端不支持多核心,单核性能是关键。

解决思路:

据了解和测试,腾讯云的服务器单核处理性能是阿里云的1.5至2倍(经游戏测试,阿里云服务器在控制台调出300只蜜蜂的时候开始卡顿,而腾讯云在600只的时候才开始卡顿)。故选择腾讯云作为联机服务器搭建平台。由于《饥荒》游戏里分为地上世界及地下世界,在同一个服务器上搭建的话,服务器荷载较大,游戏体验也会降低。故在两个服务器上分别搭建两个世界,然后通过端口将两个世界连接起来,从而使服务器容纳人数提升1.5到2倍,且降低延迟和卡顿出现的机率。并且使用 sh 脚本对服务器进行简单的管理如:开关服务器,新建世界,备份恢复存档,增减 MOD 等一系列功能。

使用到的腾讯云产品:

2个1核1g的云服务器(最低带宽1Mbps,推荐带宽5-10Mbps,操作系统可选 Ubuntu 或 windows,推荐 Ubuntu )

个人感受:

相比于用自己电脑建立服务器供小伙伴玩耍,这种方法明显降低了延迟(ping 低于50,常规联机至少200+)以及卡顿,大大提高了游戏体验,有较高的实用性以及可行性。本人在饥荒联机贴吧发过相关视频教程,也是被置顶供大家参阅。

相比于阿里云,腾讯云服务器有较强的单核性能,但是也有不足的地方。比如最低配置的学生服务器只有1Mbps 带宽(阿里云可选 100Mbps 按流量收费),这在一定程度上影响了游戏体验。还有就是 root 用户权限的问题,腾讯云默认是不给 root 用户权限的,如何获取 root 用户权限对普通玩家来说也是一个难点。

demo待完善的部分:

  1. 如果有条件的话,可以把搭建好的云服务器镜像上传到镜像市场,免去一步步搭建的烦恼,一步到位。
  2. 目前的服务器管理脚本比较简陋,可以再进行完善。

由于之前出的教程是用阿里云搭建的,故不方便公开展示,仅供参考,链接见附录。

附录:

由于第一个视频教程刚出,饥荒官方就对联机服务端进行了更新,文件目录等有了较大的变化,故视频教程分为两部分,第二个视频是更新后对教程的补充,视频均上传至云盘,可下载原画版。

http://tieba.baidu.com/p/4345039587(更新前)

http://tieba.baidu.com/p/4352793655(更新后)

http://pan.baidu.com/s/1bobnmcn#path=%252F%25E9%25A5%25A5%25E8%258D%2592 (云盘)

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

程序员遇到bug时常见的30种反应,你躺枪了么?

开发应用程序是一项压力很大的工作,人无完人,工作中遇到 bug 是很正常的事,有些程序员会生气,沮丧,郁闷,甚至泄气,也有一些程序员则会比较淡定。如何进行修复 ...

801
来自专栏我爱编程

经济学人文章爬虫

假如是经常阅读该网站文章自然是订阅支持一下更好,但假如只是偶尔想看几篇文章订阅的性价比就不高了。

801
来自专栏FreeBuf

使用第三方库进行软件开发的安全风险研究

如今,很多软件由于长期使用第三方库文件,导致了持续的安全问题。而在程序开发设计阶段,开发者又经常忽略了第三方库代码的漏洞审查,甚至有些资源库(repositor...

2457
来自专栏诸葛青云的专栏

怎样利用几行简单的c语言代码表白?

喜欢一个女生很久了,想跟那个女生表白,但是找不到合适的方式表白。于是想到了一个办法,用c语言写一个程序跟她表白。这个程序的构想是这样的:当她打开这个程序,她的电...

5592
来自专栏ytkah

微信公众平台原创声明功能公测 自媒体原创保护的福音

  昨日晚间微信团队发布微信公众平台面向认证的媒体类型公众号公测原创声明功能的公告,势在维护作者权益,鼓励优质内容产生。心灵鸡汤、养生贴想必你已经厌倦了,甚至都...

2946
来自专栏木子昭的博客

软件为什么总会有bug?

如果你的程序没有bug,只能说明你的程序不够复杂! 地球到月球的距离为39万公里; 假设一张纸的厚度为1mm,可以无限对折; 将纸对折39次就能达到547...

3338
来自专栏java一日一条

Java与Linux 一对开源运动的婚姻

两年后Sun终于发布了开源的OPENJDK,同时发布了基于开源协定GNU GPLv2的用于桌面西系统的Java 标准版(Java SE),以及用于移动设备...

532
来自专栏java一日一条

Java与Linux 一对开源运动的婚姻

两年后Sun终于发布了开源的OPENJDK,同时发布了基于开源协定GNU GPLv2的用于桌面西系统的Java 标准版(Java SE),以及用于移动设备...

521
来自专栏cloudskyme

海量数据处理利器greenplum——初识

简介及适用场景 如果想在数据仓库中快速查询结果,可以使用greenplum。 Greenplum数据库也简称GPDB。它拥有丰富的特性: 第一,完善的标准支持:...

3909
来自专栏应用案例

Story 场景树——锻练开发人员 "简单设计" 的思维力

Story 场景树, 主要是要帮助开发人员, 锻练 “简单设计” 的思维;当经过一段时间的锻练后, 开发人员就可没有 “必要” 的再使用 Story 场景树进行...

5658

扫码关注云+社区