在Ubuntu Server 16.04.1 LTS 64位操作系统中搭建饥荒服务端,所用的Linux云服务器为腾讯云,主机配置是处理器1核、内存2GB、硬盘50GB、带宽1Mbps。下面是搭建的具体步骤:
1.本地准备 配置部分进行部分修改,原内容已经迁移至文章末尾。现在对配置文件的获取将通过饥荒客户端获得(原内容是手写配置文件,比较麻烦)。
(1)获取 UserID 点击个人资料(见上图的中的 1),在打开的界面中找到 UserID 值,记录下来(该值为你在饥荒中的玩家 ID )。 (2)配置地图 点击创建世界(见上图中的 2),进入图形化世界地图配置界面。如下图所示:
首先,指定游戏风格:共四种类型,除了影响到服务器中世界图标外无其他作用。在指定完毕之后,进入到世界基本属性设置界面:
在这里,主要修改名称、描述和密码。他们影响到世界列表中服务器描述内容,而密码则是服务器的钥匙。接下来配置地上和洞穴部分: 地上,对应 Master 部分,在该选项卡中可以具体的定制世界属性,比如指定世界大小,而当在服务器性能不足时调整世界大小也是一种选择。 洞穴,对应 Caves 部分,在这里需通过图形化界面获取到饥荒的所有属性配置,所以这里勾选添加洞穴。在服务器上再通过命令手动指定是否启动地下。
(3)安装 Mod 无 Mod,不饥荒(请根据服务器性能量力而行)。 首先在 Steam 创意工坊订阅好你所需要的 Mod,然后在服务端 Mod 处勾选需要激活的 Mod ,见下图 1;同时对于提供了设置的 Mod ,可以点击螺丝图标配置其属性,见下图 2。
接下来,点击创建世界完成配置文件的生成,等待服务器启动,当出现人物选择界面时,无需进入游戏,直接点击断开即可。 (5)获取配置文件 对于 Windows 端的饥荒,此时的配置文件应该存放于文档目下的 Klei 目录里: C:\Users\你的用户名\Documents\Klei\DoNotStarveTogether
具体到目录(存档)则是:Cluster_X ,X 取决于当前地图存档数量。 复制该存档到桌面,删除一些无用的文件,确保删除后的文件结构为:
(6)简要的配置 需要为服务器指定管理员,在 Cluster_1 目录下,新建 adminlist.txt 文件,将前面获取到的 UserID 复制到该文件。 因为在选择 MOD 时,是已经在创意工坊下载好了,但是在服务器端,服务器还未下载,所以需要先告诉饥荒需要下载的内容。 新建 dedicated_server_mods_setup.lua 文件(不放在 Cluster_1 目录里,另有他用),然后打开 Master 目录中的 modoverrides.lua 文件,在该文件中能够看到形如 ["workshop-347079953"] 之类的字符,记录下后面的那串数字(数字对应的是 Mod 在创意工坊中的 ID)。 在 dedicated_server_mods_setup.lua 文件中写入 ServerModSetup("347079953") 。一行一个,把 modoverrides 中的按照这种形式写入到该文件中。
2.服务器操作 登录服务器,这里推荐 Xshell,在其官网可以下载到免费的家庭/学生版本。 (1)安装环境依赖 sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386 lib32gcc1 (2)下载 Steam 客户端 mkdir ~/steamcmd cd ~/steamcmd wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz (3)安装饥荒服务端 ./steamcmd.sh 此时进入 steam> 应用,在该模式下通过匿名账户登录,然后指定安装目录,最后再安装饥荒服务端: login anonymous force_install_dir ../dontstarvetogether_dedicated_server app_update 343050 validate quit (4)解决 lib 缺失 mkdir -p ~/dontstarvetogether_dedicated_server/bin/lib32 ln -s /usr/lib/libcurl.so.4 libcurl-gnutls.so.4 (5)上传配置文件 首先,创建游戏文件夹: mkdir -p ~/.klei/DoNotStarveTogether 然后,通过 FTP 之类软件将步奏一中所准备的文件夹整体上传到 DoNotStarveTogether 目录下(也就是前文提到的 Cluster_1 文件夹)。 接下来上传 MOD 配置文件,还记得另有他用的 dedicated_server_mods_setup.lua 文件吗,将它上传到 ~/dontstarvetogether_dedicated_server/mods 目录下(覆盖文件)。 FTP 类软件推荐使用 XFtp ,与 Xshell 是同一家公司产品,两个应用之间可以非常方便的互相调用。 (6)制作启动脚本 回到家目录 cd ~ ,在该目录下创建 vim startDST.sh 脚本,内容如下: #!/bin/bash steamcmd_dir="$HOME/steamcmd" install_dir="$HOME/dontstarvetogether_dedicated_server" cluster_name="Cluster_1" dontstarve_dir="$HOME/.klei/DoNotStarveTogether" check_for_file "$install_dir/bin" cd "$install_dir/bin" || fail run_shared=(./dontstarve_dedicated_server_nullrenderer) run_shared+=(-console) run_shared+=(-cluster "$cluster_name") run_shared+=(-monitor_parent_process $$) "${run_shared[@]}" -shard Caves | sed 's/^/Caves: /' & "${run_shared[@]}" -shard Master | sed 's/^/Master: /' 赋于启动权限: chmod +x ./startDST.sh 注意: 脚本中最后两行代表了启动Caves和Master,两个实例大约共需要1.2G左右的内存,如果只玩地上部分,可以将含有Caves一行删除。 脚本中的 cluster_name="Cluster_1",指的是存档的名称,通过修改这个值就可以启动不同的存档啦。 (7)启动游戏 利用 screen 命令启动一个新窗口,便于后台运行 screen -S DST 启动脚本文件 ./startDST.sh 可通过 Ctrl + A + D 进入后台,通过 screen -r DST 返回窗口。
附:仅供参考 对以上配置部分进行修改,原内容已经迁移至文章末尾。附:该部分内容事实上仍然可以参考使用。缺点是需要手写配置,较为麻烦。 (1)获取cluster_token、UserID 打开饥荒联机版,点击游戏界面右下账户打开个人信息界面:
点击Generate Server Token获取cluster_token,同时也记录UserID值。 (2)游戏配置文件(本地进行) 在本地新建 MyDediServer 目录。 在 MyDediServer 目录下新建 cluster_token.txt 文件,将上一步获取到的cluster_token复制到文件内。 在 MyDediServer 目录下新建 adminlist.txt 文件,将上一步获取到的UserID复制到文件内。 在 MyDediServer 目录下新建 cluster.ini 文件,内容如下: [GAMEPLAY] max_players = 6 pvp = false game_mode = endless pause_when_empty = true vote_kick_enabled = true [NETWORK] cluster_description = 服务器描述 cluster_name = 服务器名称 cluster_password = 服务器密码 cluster_intention = cooperative [MISC] max_snapshots = 6 console_enabled = true [SHARD] shard_enabled = true bind_ip = 127.0.0.1 master_ip = 127.0.0.1 master_port = 10889 cluster_key = supersecretkey 在 MyDediServer 目录下新建 Caves 和 Master 目录 在 Caves 目录下新建 server.ini 文件,内容如下: [NETWORK] server_port = 11001 [SHARD] is_master = false name = Caves [STEAM] master_server_port = 27019 authentication_port = 8769 [ACCOUNT] encode_user_path = true 在 Caves 目录下新建 worldgenoverride.lua 文件,内容如下: return { override_enabled = true, preset = "DST_CAVE", } 在 Master 目录下新建 server.ini 文件,内容如下: [NETWORK] server_port = 11000 [SHARD] is_master = true [STEAM] master_server_port = 27018 authentication_port = 8768 [ACCOUNT] encode_user_path = true 在 Master 目录下新建 worldgenoverride.lua 文件,内容如下: return { override_enabled = true, preset = "SURVIVAL_TOGETHER", } 截止到目前,你应该拥有的目录结构为:
相关主题 |