V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Thoxvi
V2EX  ›  分享创造

饥荒联机版(DST) 服务器容器 Docker

  •  
  •   Thoxvi ·
    thoxvi · 2017-07-23 13:36:28 +08:00 · 7715 次点击
    这是一个创建于 2672 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近迷上饥荒,就想和小伙伴一起玩,但是在本地建立服务器要是网断了 /不稳定大家都都玩完所以想到做一个专用服务器。

    走了一波流程后,发现坑多,麻烦,就想到了用 Docker 跑,然后搜索了一下轮子,发现要么配置 mod 麻烦,要么 dockerfile 文件写得乱(咦),就手动撸了一个 dockerfile 轮子。

    然后问题又来了,如果要和不同的朋友一起玩,然而他们之间又不熟,那玩着总感觉怪怪的,所以又写了一个 docker-compose,组织配置不同的容器。

    最后配置 docker-compose 也麻烦,所以就写了一个 py 脚本生成。

    最后配完之后,发现肯定不止我一个人嫌麻烦,所以在 GitHub 上面分享了一下,地址:

    https://github.com/Thoxvi/Dont-Starve-Together-Docker-Cluster

    现在支持 mod 和 caves,而且配置方式和原生基本上是一样的,如果不想开地穴的话,可以手动 build dockerfile 文件,或者手动 exec 进容器修改一下 start.sh

    最后希望 dalao 们不吝啬 star !谢谢!
    29 条回复    2017-07-26 09:04:32 +08:00
    Betacoefficient
        1
    Betacoefficient  
       2017-07-23 13:54:33 +08:00   ❤️ 1
    已经 star 啦。
    Thoxvi
        2
    Thoxvi  
    OP
       2017-07-23 14:01:12 +08:00 via Android
    83f420984
        3
    83f420984  
       2017-07-23 15:19:00 +08:00
    之前在群辉的 Docker 上折腾过一段时间,始终跑不起来,好像是因为服务器版本与客户端版本不同步导致的,LZ 是怎么解决的?
    cs8425
        4
    cs8425  
       2017-07-23 15:45:24 +08:00
    @83f420984
    我沒用 docker 但是有遇過類似的問題
    做法是定時跑這行指令更新(15~30 分鐘一次)
    `steamcmd.sh +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous +force_install_dir ~/DST +app_update 343050 +quit`
    根據輸出判斷要不要重起 server
    LZ 的這個可能要重新 build dockerfile 或是在容器內執行更新指令
    希望這樣有幫到你
    arzusyume
        5
    arzusyume  
       2017-07-23 16:08:12 +08:00
    以前是在青云跑过, 发现 1G 内存人超过 6 个, 或者蜘蛛女王召唤小蜘蛛了, 烧森林了来狗了都会卡...
    后来还是大家都用 openvpn 然后本地起服务最方便 o(╯□╰)o
    Thoxvi
        6
    Thoxvi  
    OP
       2017-07-23 16:09:49 +08:00 via Android
    @83f420984

    服务器游戏是怎么获取的呢?
    我是用 steam 官方文档一步步来的,
    游戏是下载的最新版本
    Thoxvi
        7
    Thoxvi  
    OP
       2017-07-23 16:11:37 +08:00 via Android
    @cs8425

    我是每次启动都更新一下,
    包括 mod
    Thoxvi
        8
    Thoxvi  
    OP
       2017-07-23 16:12:37 +08:00 via Android
    @arzusyume

    我是把家里的废弃笔记本改成 Linux server,2G 内存倒是也没卡过
    devilyaos
        9
    devilyaos  
       2017-07-23 18:43:30 +08:00 via iPhone
    请教楼主这个镜像大概要啥基础配置啊
    Thoxvi
        10
    Thoxvi  
    OP
       2017-07-23 19:06:59 +08:00 via Android
    @devilyaos

    我看了下 docker 资源占用,
    内存大概 1G(包括洞穴和一个玩家)
    存储包括游戏本体和基础 Ubuntu 大约 1G
    CPU 占用不多,感觉单核 1Ghz 足够(待测试)

    我自己是搭建在一个双核 1.8Ghz 和 2G 内存的笔记本上,和朋友两个人玩烧森林不带卡的
    snoopygao
        11
    snoopygao  
       2017-07-23 19:10:31 +08:00 via iPhone
    已经一年没玩 together 了,现在电信宽带换成 10m 上传不知道效果好了没
    Thoxvi
        12
    Thoxvi  
    OP
       2017-07-23 19:12:07 +08:00 via Android
    @snoopygao

    我家 4M 小水管似乎没问题…
    一个湖南一个江苏玩得也没卡顿
    湖南江苏都是移动
    83f420984
        13
    83f420984  
       2017-07-23 19:51:48 +08:00 via Android
    @Thoxvi 哦,那就对了,群辉的 docker 内部是需要运行打包好的 docker 镜像才能跑的,所以没办法自己更新服务器版本
    Thoxvi
        14
    Thoxvi  
    OP
       2017-07-23 20:31:55 +08:00 via Android
    @83f420984

    那可以试试我的那个,
    每次启动都可以自动更新
    devilyaos
        15
    devilyaos  
       2017-07-23 23:13:18 +08:00 via iPhone
    @Thoxvi 好哒,之前尝试在阿里云小破主机上用 docker 帮朋友起个服务....结果发现 2g 好像也并不保险....老断,朋友那边三到五人...地上地下...
    Thoxvi
        16
    Thoxvi  
    OP
       2017-07-23 23:39:59 +08:00 via Android
    @devilyaos

    好的,祝开心(*´ω`*)
    Thoxvi
        17
    Thoxvi  
    OP
       2017-07-23 23:41:28 +08:00 via Android
    @devilyaos

    下次测试一下多用户,感觉一个用户应该占不了多少啊…
    Thoxvi
        18
    Thoxvi  
    OP
       2017-07-23 23:51:39 +08:00 via Android
    @arzusyume

    话说为什么要使用 openVPN 呢?
    有 token 的话官方会提供内网穿透的啊
    cs8425
        19
    cs8425  
       2017-07-24 00:00:04 +08:00   ❤️ 1
    @Thoxvi
    原版不裝優化 MOD 來說
    初期不怎吃 CPU 沒錯
    可是到 700 天之後你就會發現 CPU 吃很兇
    ubuntu server + G1840 + 16G RAM, 一主一洞
    單台 RAM 從~700MB 漲到~1.4GB
    CPU 會吃到~90%
    主因是生物 /怪物太多
    於是自己嚕了一個限制生物總數的 MOD 就沒煩惱了
    Thoxvi
        20
    Thoxvi  
    OP
       2017-07-24 00:12:29 +08:00 via Android
    @cs8425

    这个…真 dalao …
    我从来没有活过 30 天…
    最长 25 天…

    我也努力活到可以让服务器跑不动的时候吧…(*>_<*)ノ
    mritd
        21
    mritd  
       2017-07-24 08:58:25 +08:00 via iPhone
    所有 run 放到一行,换行连接符参考 nginx-alpine,Mkdir 合并,Cd 尽量进子 shell
    Thoxvi
        22
    Thoxvi  
    OP
       2017-07-24 09:09:49 +08:00 via Android
    @mritd

    是故意的,为了调试方便

    你仔细看会发现是每一个下载逻辑块分开的

    一开始本地构建的时候 steam 会因为不可描述和禁止事项原因偶发性下载中断,所以把大块下载分段进行

    可以用镜像缓存避免重复下载
    arzusyume
        23
    arzusyume  
       2017-07-24 12:59:58 +08:00
    @Thoxvi 主机要独立 IP... 还是说现在已经有官方代理了呢, 我是一年多之前搭的...
    内存 2G 比较妥吧, 1G 内存配上一些 mod 基本跑满. 而且我这边是和做直播的朋友一起玩, 经常直播间能跑进来七八个人, 就很卡 orz
    Thoxvi
        24
    Thoxvi  
    OP
       2017-07-24 13:16:55 +08:00 via Android
    @arzusyume

    以前不清楚,不过现在都是 P2P 了,不需要公网 IP
    Thoxvi
        25
    Thoxvi  
    OP
       2017-07-24 13:17:44 +08:00 via Android
    @arzusyume

    上面说的 1G 是运行时实际占用,而不是推荐配置…
    arzusyume
        26
    arzusyume  
       2017-07-24 21:20:31 +08:00   ❤️ 1
    Thoxvi
        27
    Thoxvi  
    OP
       2017-07-24 21:27:58 +08:00 via Android
    @arzusyume

    支持啊
    cs8425
        28
    cs8425  
       2017-07-26 01:13:13 +08:00   ❤️ 1
    @Thoxvi
    我不是啥 dalao...
    只是負責開服放著給別人玩
    他們測試+回報問題讓我修正....

    補一下限制總數的 MOD: http://steamcommunity.com/sharedfiles/filedetails/?id=609675532
    很久沒更新了...不過貌似還能正常運作
    Thoxvi
        29
    Thoxvi  
    OP
       2017-07-26 09:04:32 +08:00 via Android
    @cs8425

    原来如此…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3624 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:30 · PVG 18:30 · LAX 02:30 · JFK 05:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.