方舟生存进化: docker一键部署

前段时间epic白给了方舟,俺也在方舟度过了153个小时的时间了,简单分享下部署方舟服务器的过程。

1. quick-start

创建docker-compose.yml文件, 执行docker-compose up -d拉起容器

version: '3'
services:
  ark:
    container_name: ark
    image: thmhoag/arkserver
    volumes: 
      - steam:/home/steam/Steam
      - ark:/ark
    ports: 
      - "27015:27015"
      - "27015:27015/udp"
      - "7777:7777"
      - "7777:7777/udp"
      - "7778:7778"
      - "7778:7778/udp"
      - "7779:7779"
      - "7779:7779/udp"
      - "32330:32330"
    environment: 
      - am_ark_SessionName=my_ark
      - am_ark_GameModIds=889745138,751991809,1404697612
      - am_ark_ServerPVE=True
    restart: always

volumes: 
  steam:
    name: steam
  ark:
    name: ark

在steam里添加游戏服务器,就可以愉快得开始啦。

steam->查看->服务器->收藏夹->添加服务器->输入服务器ip:27015->将此地址添加至收藏夹

2. 解释

这个部署方案源于两个开源项目:

前者实现了arkmanager工具,后者实现了容器化部署。

docker-compose.yml文件中,配置了多个端口,其中27015是steam与服务器交互的端口,7777-7779(可自定义)是自定义的服务器端口,32330(可选)是服务器命令行管理工具RCON的连接端口。

可以通过指定环境变量来将服务器配置传递给arkmanager,可以配置的参数参考 https://github.com/FezVrasta/ark-server-tools#configuration-files/

注意配置环境变量时,在名称前加上am_前缀。

例如,如果要配置服务器管理员密码,可以传递这样的环境变量:

    environment: 
        - am_ark_ServerAdminPassword=your_password

3. 重启服务器

docker-compose restart

默认配置会在每天固定时间重启并检查更新。

如果有更改过设置,需要使用以下命令重启,使配置生效

docker-compose down
docker-compose up -d

4. 数据恢复

方舟的数据都存储在名为ark的volume中,可以通过挂在该卷,并将方舟的备份数据复制出来用于恢复数据。方舟备份位于/ark/backup

5. 我的服务器

我创建了一个服务器ark.st0n3.xyz:27015 。

这个世界是一个孤岛地图/PVE服务器,世界运行了1152天,为了尽量维持原汁原味的游戏性,我只设置了1倍速度,增加了3个mod。

麝足兽是最傻的一只龙,开心的时候一晃一晃的。

雷龙看起来很难搞,其实最笨。

我现在最厉害的恐龙是棘背龙,但是攻击力好像也只排到第44。

接下来想抓霸王龙,哈别人。

——————

感谢方舟在疫情期间提供了一个寄托情感的世界,如果你也有想见但是现实中无法相见的人,在这个世界相遇是一个不错的方案~