饥荒联机版搭建私有服务器

FBI WARNING:

附带的文件不能直接使用,其中的Token,服务器名,密码,管理员账户名都已经打码,请替换.

  1. 获取Token 启动界面->Account->游戏->饥荒联机版的游戏服务器->取一个服务器名字->获得服务器Token
    形如:pds-g^KU_XXXXXXXXXXXXX************XXXXXXXXXXXXXXXXX.
  2. 给DSTSERVER.sh授权(777),并运行,脚本会开始下载Steam和游戏.
  3. 显示准备完毕,输入1,更新.
  4. 装依赖
    sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file tar bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux lib32gcc1 libstdc++6 libstdc++6:i386 libcurl4-gnutls-dev:i386
  5. 几个关键的路径
    1. ~/.klei/
      里面有/DoNotStarveTogether/,这是存储存档的路径.
    2. ~/.steam/
      和本文无关.
    3. ~/Steam/
      类似Windows上的Steam存储库,~/Steam/steamapps/common/里面是steam下载的游戏.
    4. [脚本所在路径]/steamcmd/
      里面有steamcmd.sh,不需要更改.
  6. 世界设定和服务器端mod.
    1. 本地启动游戏建立服务器,调整世界设置,启用想用的服务器端Mod,注意服务器的名字要和获取Token时选取的名字一致.
    2. 找到本地的/.klei/,把刚刚生成的世界存档拷贝出来.
    3. 存档的结构是这样的:
      |---Caves    //洞穴
      |     |---leveldataoverride.lua  //资源设置
      |     |---modoverrides.lua       //mod配置文件
      |     |---server.ini             //服务器配置
      |     |---server_chat_log.txt    
      |     |---server_log.txt
      |---Master   //地表
      |     |---leveldataoverride.lua  //资源设置
      |     |---modoverrides.lua       //mod配置文件
      |     |---server.ini             //服务器配置
      |     |---server_chat_log.txt
      |     |---server_log.txt
      |---adminlist.txt                //管理员KleiID
      |---cluster.ini      //玩家人数,服务器名字,密码,服务器性质等
      |---cluster_token.txt            //Klei服务器token
      |---startcaves.sh
      |---startmaster.sh
    4. 补充缺少的文件
      • adminlist.txt :一行一个KleiID,形如KU_XXXXXXXX,用户登录的时候服务器的log会显示出他的KleiID.
      • cluster_token.txt:开头获取的ID.
  7. mod下载脚本.
    1. 打开modoverrides.lua.
      洞穴和地表这个文件是一样的.这个文件里面有许多形如"workshop-362175979"的字符串,后面的数字是mod的ID,把这些ID记下来
    2. 编写dedicated_server_mods_setup.lua
      这个文件里面是这样的:
      ServerModSetup("374550642")     
      ServerModSetup("362175979")
      ServerModSetup("375859599")
      每行一条,引号里面的是上一步记录的MOD的ID.
  8. 上传文件
    1. 把第6步编辑好的存档上传到服务器的 ~/.klei/DoNotStarveTogether/下.
    2. 把第7步编写的脚本上传到~/Steam/steamapps/common/Don't Starve Together Dedicated Server/mods/.这个目录也是mod的存储目录,这里也可以从本地把对应的mod文件夹上传过来,如果不上传mod文件夹,服务器启动的时候也会自动根据脚本下载
  9. 启动服务
    1. 运行DSTSERVER.sh,按照提示操作即可.
    2. Ctrl+A+C把服务挂到后台,此时关闭终端也不会终止服务程序的运行.
  10. 管理员可以在游戏内部进行一些操作
    1. 按~键呼出控制台.
    2. 按TAB键弹出服务管理UI,可以进行世界的重置,查看信号强度,踢人等操作.
  11. 内部控制台命令请看./cmd.md
  12. 参考文献
    1. Steam饥荒联机版云服搭建教程——Windows篇(B站视频)
    2. 饥荒控制台作弊代码详解
    3. 饥荒物品代码
    4. Linux自建steam饥荒服务器教程
    5. 饥荒联机版服务器搭建教程