群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

2017-11-15 09:15:47 115点赞 577收藏 72评论

Save 38% on Don't Starve Together on SteamDon't Starve Together is the standalone multiplayer expansion of the uncompromising survival game Don't Starve.store.steampowered.com去看看

上篇原创文章的开头处提到了群晖Docker中的饥荒联机版映像,原本以为不会有太多人关注,没想到居然真的有小伙伴很感兴趣,今天特意把整个过程写下来,提供给有需要的朋友。

▲顺便表扬一下色魔张大妈,居然可以插入Steam链接,虽然图片显示不出来。群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

首先来简单介绍一下Docker:

Docker是一个开放源代码软件项目,让应用程序布署在软件容器下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制[1]。Docker利用Linux核心中的资源分脱机制,例如cgroups,以及Linux核心名字空间(name space),来创建独立的软件容器(containers)。这可以在单一Linux实体下运作,避免引导一个虚拟机造成的额外负担[2]。Linux核心对名字空间的支持完全隔离了工作环境中应用程序的视野,包括进程树网络、用户ID与挂载文件系统,而核心的cgroup提供资源隔离,包括CPU内存、block I/O与网络。从0.9版本起,Dockers在使用抽象虚拟是经由libvirtLXC与systemd - nspawn提供界面的基础上,开始包括libcontainer库做为以自己的方式开始直接使用由Linux核心提供的虚拟化的设施。 ——来自维基百科

说人话版:Docker其实是通过虚拟化技术将需要使用的应用程序进行虚拟,由于其技术优势得以将文件、网络互联以及进程封装。

而群晖中的Docker更是进一步简化,为Docker加入了图形化操作界面,这次就借示范通过群晖搭建饥荒连接服务器,来演示群晖中Docker套件的基本操作姿势。

在真正开始讲解之前应当明白使用家用群晖来搭建饥荒服务器的劣势:

1、家用宽带的上传带宽有限,按照日常测速结果,本人所使用的100M电信宽带,上传带宽大约为15M左右,按照网络搜索的数据,饥荒服务器每个玩家的加入大约需要消耗50KB的上传带宽,应该大致够用,但是本人并未进行细致测试。

2、内存消耗,一般来说,饥荒服务器随着时间推移,地图中各类建筑及随机事件的出现占用的内存会逐渐加大,大约需要使用1.2G的内存,我的DS716+II的整体内存为2G,可以说是捉襟见肘,期待大家进一步测试的结果。

3、按照我搭建前的设想,应当需要将我内网服务器的端口暴露到外网才能成功连接,但实际使用过程中确没有做这一步并且完全测试成功,我并不能确认是因为我是在内网中测试,或者是因为克雷服务器对数据进行了中转的原因,这一点请大家自行测试。

好,下面正式开始搭建。首先,开启Docker应用:▼

群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

然后,在注册表中搜索:Starve,不必犹豫我们就选用第一个被点赞最多的映像,此时先不要着急下载,我们先来阅读一下说明书:▼群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

点击映像名称右上角的小箭头,前往说明页面:▼

群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

▲此时在页面的中部可以找到搭建说明,这里能够看到文件路径及网络端口部分,由于Docker采用了虚拟化技术,一旦开始运行是无法对Docker中的文件进行直接修改的,所以需要将Docker中我们需要自行配置的路径映射到群晖文件夹中方便我们来进行修改,在这个映像当中就是Docker中的/Data路径。

好,理解这一部分以后我们着手继续操作。

双击下载,选择latest(最新)标签,点击确定。嗯,由于大局域网的原因,极有可能会下载失败,建议多试两次,总会成功的。映像大小大约为800M。▼

群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器静待其下载完成,通知中心会弹出提示,此时在左侧映像栏目中选中刚刚下载的映像,点击“启动”▼

群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

已经成了?自然不会这么简单。此时会来到引导页面:▼

群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

首先,为了确保群晖其他服务的正常运行,我们需要对饥荒服务进行适当限制,将内存限制在1200M。

然后,点击高级设置:

首先勾选应用自动重新启动功能,当然为了方便访问控制,也可以勾选创建桌面快捷方式。▼

群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

第二布,切换到卷选项卡,这里就是我们刚刚在上文说到的将Docker内部文件映射到群晖文件路径的过程,在这里点击“添加文件夹”按钮,下方栏位中左侧选择的是群晖的文件夹路径,右侧为Docker文件夹中的路径,产生映射关系。▼群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

左侧文件路径点击后,系统会提示你进行选择,我选择在Docker文件夹中新建DST文件夹用以区分。

右侧路径我们填写上方在Docker说明中所看到的路径:/data/DoNotStarveTogether/▼群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

继续,再切换到端口设置选项卡,这里是对Docker所使用的网络与群晖说使用的网路进行映射以便管理,该页面中的本地端口默认为“自动”,如果放任,应用每次启动都会随机指定端口,建议对其进行固定,在不占用其他端口的情况,可以指定与Docker相同的端口;游戏类应用一般使用的UDP协议,此处切勿修改。▼群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

好,此时已经基本完成,点击应用按钮,返回映像界面,可以看到映像已经开始运行了,但是工作还没有完成。▼群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

在正在运行的映像上点击右键,选择详情,切换到日志选项卡,查看运行情况:▼群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器正常情况下映像初次运行会首先进行更新,静静等待其更新完毕。▼群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

更新完毕后,点击日志页右下角的刷新按钮,可以看到日志中的提示INVALID_TOKEN,这是由于Steam在线服务对于你自行搭建的服务器未能进行认证,此时我们熟悉的饥荒联机终于要登场了!▼

群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

开启饥荒联机版,登录成功后,点击画面右下的“Account(账户)”按钮,登录自己的克雷账户。▼

群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

将页面拉到底端,点击桔黄色“Generate Server Token”按钮,生成后复制那一串Token妥善保管备用,现在可以暂时退出客户端。▼群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器此时我们需要继续配置服务端的其他文件,按照克雷官方的说明,我们需要如下配置我们的文件夹:▼群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器请注意文件夹次序,由于此时服务器已经启动,所映射的文件夹中会逐渐生成部分文件夹及文件,不必在意,你只需将上图中提到的文件逐个新建按目录确保正确即可。按照前文所述,所有这些文件及文件夹都需要在DST路径中建立。我的路径结构如下,供参考:▼

群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器


全部新建完成后,双击打开“cluster_token.txt”文件,将上文中从饥荒客户端中获取到的Token粘贴到其中并保存即可。另外我们还需要对cluster.ini文件进行修改,对服务器的配置进行指定,标准配置文件如下:▼

[GAMEPLAY]

game_mode = survival(Endless无尽模式;Wildern荒野模式;Survival生存模式)

max_players = 6(最大玩家数,1-64任意一个数)

pvp = false (是否启动PVP)

pause_when_empty = true(世界没人时是否自动暂停)

enable_snapshots = true(是否启动截图功能)

enable_autosaver = true(是否开启自动保存)

[NETWORK]

cluster_description = Dream World(游戏房间描述)

cluster_name = Deam In 001(游戏房间名称)

cluster_intention = cooperative (游戏模式)

cluster_password = 123456789(游戏密码)

[MISC]

console_enabled = true (是否启用控制台)

[SHARD]

shard_enabled = true(是否启动地下世界)

bind_ip = 127.0.0.1(固定IP地址,不建议修改)

master_ip = 127.0.0.1(地上世界IP)

master_port = 10999(地上世界端口,建议与上文端口一致)

cluster_key = supersecretkey(地下世界连接地上世界钥匙)

请注意:上述配置文件中()中的所有内容请务必删除,否则会影响服务器的正常启动!

按自己的需要修改以后直接拷贝到cluster.ini文件中并保存。

此时,将Docker映像重启一次。然后再看一下日志中的变化:▼

群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

可以看到此时已经提示启动成功了。▼群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

好啦,我已经迫不及待啦,让我们启动饥荒试试看吧。▼群晖中的小小饥荒世界—利用群晖Docker搭建 Don't Starve Together 服务器

Wilson向大家问好!祝大家生活愉快!


展开 收起
72评论

  • 精彩
  • 最新
  • 散了散了,要群晖的

    校验提示文案

    提交
    理论上来说任何能运行Docker的硬件设备都适用这一套哦

    校验提示文案

    提交
    手头上有一块树莓派,docker倒是能装,小打小闹倒是可以,这服务器吃不了的,内存不够

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 我用216j,能否教我傻瓜式互动更新,就是x个手机,平板,手提电脑与216j形成一个互动备份和删减资料的机制,机器的所有文件增加删减都能在216j内同步?

    校验提示文案

    提交
    你说的这个需要用到cloud station server+移动端的DS drive套件,新版的直接更名叫Drive了,很多大神都写过,去搜索一下吧

    校验提示文案

    提交
    感谢。。。。。。。

    校验提示文案

    提交
    收起所有回复
  • 连续捡了三个月垃圾了,有点腻了 [喜极而泣]

    校验提示文案

    提交
    歇几个月,再开始建家,哈哈

    校验提示文案

    提交
    收起所有回复
  • 小白提问,搭建这个有什么用呢?

    校验提示文案

    提交
  • 我手上还有热血传奇1.76的服务器端。。。楼主要不要试试

    校验提示文案

    提交
    插个眼 建好了招呼一声

    校验提示文案

    提交
    坐等建好(✪▽✪)

    校验提示文案

    提交
    还有11条回复
    收起所有回复
  • 唔,好久没玩饥荒了,以前好喜欢的~感谢作者 [脸红] 膜拜大佬

    校验提示文案

    提交
  • 想起了当年搭建RO服务器了回忆。

    校验提示文案

    提交
    我也搭建过,还开了外网和朋友一起玩了

    校验提示文案

    提交
    收起所有回复
  • 赞啊,一起玩啊。。

    校验提示文案

    提交
  • WOW污妖王走起了啊

    校验提示文案

    提交
  • 赞啊 一起玩啊

    校验提示文案

    提交
  • 一看到维基。再联系到现在爬梯的难度。我默默的点个赞就走了

    校验提示文案

    提交
  • 最简单的说法就是黑服

    校验提示文案

    提交
    黑个鸡儿?饥荒本身就是让玩家自行搭建服务器的游戏

    校验提示文案

    提交
    收起所有回复
  • 我觉得源世界比饥荒好玩一百倍

    校验提示文案

    提交
  • 原来还有这种妙用,涨姿势了 [赞]

    校验提示文案

    提交
  • 厉害了。紫薯布丁

    校验提示文案

    提交
  • 饥荒实在不会玩

    校验提示文案

    提交
  • 看不懂系列。

    校验提示文案

    提交
  • 哈哈,终于等来了。感谢,感谢!

    校验提示文案

    提交
  • 不错,比起那些千篇一律的教人搭建黑裙的强多了

    校验提示文案

    提交
  • docker还有什么运用推荐?还有如果是无网环境怎么用docker知道吗

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
相关好价
最新文章 热门文章
577
扫一下,分享更方便,购买更轻松