前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu搭建饥荒服务器教程

Ubuntu搭建饥荒服务器教程

作者头像
全栈程序员站长
发布2022-09-05 10:28:30
7.8K2
发布2022-09-05 10:28:30
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

软件前提

每次饥荒更新服务器都会找不到的,请及时更新

买阿里云或者腾讯云服务器 1核2G 1M 差不多2-3 人,不是很卡,人数变多的话,就会很卡的,100 块 看自己个人需求 一般的话 2核 4G , 8人左右,差不多 400块

系统 ubuntu20,如果选错了系统,可以点击重装系统的,在控制台都有按钮的

在这里插入图片描述
在这里插入图片描述

1. 安装编译环境

ubuntu

代码语言:javascript
复制
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update -y
sudo apt install lib32gcc1 libcurl4-gnutls-dev:i386 lib32stdc++6 lib32z1 -y

centos 7

代码语言:javascript
复制
yum update -y
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
yum install glibc.i686 libstdc++.i686 libcurl.i686 screen -y

centos 8

代码语言:javascript
复制
yum update -y
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
yum install glibc.i686 libstdc++.i686 libcurl.i686 screen -y

2. 下载 steamCMD,安装

代码语言:javascript
复制
mkdir ~/steamcmd
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

如果steam 包下载不下来

代码语言:javascript
复制
sudo apt install steamcmd -y

按住tab 键选择ok 选择I agree 统一安装 然后运行steam

运行

安装包运行

代码语言:javascript
复制
./steamcmd.sh

如果是直接安装steam,运行一下命令

代码语言:javascript
复制
steam

3. 在steam 状态下 匿名登录,安装饥荒服务器

代码语言:javascript
复制
login anonymous
force_install_dir ../dontstarvetogether_dedicated_server
app_update 343050 validate
quit

这个是下载 饥荒的服务器,需要一定的时间

343050 是饥荒在steam 中的 id

如果这里提示”Failed to init SDL priority manager: SDL not found”之类的,执行

代码语言:javascript
复制
sudo apt install libsdl2-2.0-0:i386

后再重复以上操作

3.1 查看是否安装成功

这里每个人的安装地方都不同,如果是用我的代码,那就应该是这个地方。可以用sftp 查看一下自己饥荒具体安装的位置

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
cd ~/dontstarvetogether_dedicated_server/bin/
./dontstarve_dedicated_server_nullrenderer
在这里插入图片描述
在这里插入图片描述

出现这样子的情况,饥荒就安装成功了

在这里插入图片描述
在这里插入图片描述

ctrl+c 可以退出

可能需要解决的

解决 lib 缺失(如果有lib依赖缺失的问题请一定要运行这一步,添加软关系,其实云端是有这个依赖的

代码语言:javascript
复制
cd ~/dontstarvetogether_dedicated_server/bin/lib32
ln -s /usr/lib/libcurl.so.4 libcurl-gnutls.so.4

4. 创建本地存档

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

直接退出

在这里插入图片描述
在这里插入图片描述

5. 创建服务器地图存档

代码语言:javascript
复制
mkdir -p ~/.klei/DoNotStarveTogether/Cluster_1

打开xftp 的 隐藏图标

在这里插入图片描述
在这里插入图片描述

用xftp 上传 本地的 地图资源

在这里插入图片描述
在这里插入图片描述

上传完效果

在这里插入图片描述
在这里插入图片描述

6. 创建 服务器token,更换地图资源中的token

代码语言:javascript
复制
https://accounts.klei.com/account/info
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里是我的token,一定要用自己的token

代码语言:javascript
复制
pds-g^KU_SpqLc8Hm^Y5FP+OXvmjd+5WQ0L8A1pFAtALYf1ecPQIzVG2gYR2c=

6.1 更换地图资源的cluster_token.txt

在这里插入图片描述
在这里插入图片描述

7. 添加mod 信息

7.1 查看本地mod 的id

在这里插入图片描述
在这里插入图片描述

7.2 修改服务器mod

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
ServerModSetup("1207269058") 
ServerModSetup("1216718131") 
ServerModSetup("1392778117") 
ServerModSetup("1508510758") 
ServerModSetup("1530801499") 
ServerModSetup("1595631294")  
ServerModSetup("1699194522")  
ServerModSetup("1751811434")  
ServerModSetup("1818688368") 
ServerModSetup("1894295075") 
ServerModSetup("1909182187")
ServerModSetup("1951468597") 
ServerModSetup("1991746508") 
ServerModSetup("2078243581") 
ServerModSetup("2289662010") 
ServerModSetup("347079953") 
ServerModSetup("2152123483") 
ServerModSetup("2208128427") 
ServerModSetup("2172284661") 
ServerModSetup("362175979") 
ServerModSetup("447092740") 
ServerModSetup("374550642") 
ServerModSetup("537902048") 
ServerModSetup("375850593") 
ServerModSetup("378160973") 
ServerModSetup("501385076") 
ServerModSetup("666155465") 
ServerModSetup("810443397")
ServerModSetup("623749604")
ServerModSetup("727171538") 
ServerModSetup("519266302") 
ServerModSetup("666155465") 
ServerModSetup("875994715")
ServerModSetup("537902048")
ServerModSetup("623749604")

378160973 (Global Positions) 全球定位 1207269058 ( Simple Health Bar DST)简易血条 666155465 (Show Me (Origin)) 展示信息 737932010 (Damage Indicators) 伤害面板 1751811434 (Fast Work) 快速工作

8. 创建命令,运行服务器

代码语言:javascript
复制
cd ~
touch start.sh

8.1 编译

steamcmd_dir 表示的是steam 安装的位置 install_dir 表示的 饥荒服务器安装的位置 cluster_name 表示的是 地图的名字 donstarve_dir 表示的是 地图的位置

代码语言:javascript
复制
#!/bin/bash

steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/dontstarvetogether_dedicated_server"
cluster_name="Cluster_1"
dontstarve_dir="$HOME/.klei/DoNotStarveTogether"

function fail()
{ 
   
        echo Error: "$@" >&2
              exit 1
            }

            function check_for_file()
            { 
   
                if [ ! -e "$1" ]; then
                            fail "Missing file: $1"
                              fi
                            }

                            cd "$steamcmd_dir" || fail "Missing $steamcmd_dir directory!"

                            check_for_file "steamcmd.sh"
                            check_for_file "$dontstarve_dir/$cluster_name/cluster.ini"
                            check_for_file "$dontstarve_dir/$cluster_name/cluster_token.txt"
                            check_for_file "$dontstarve_dir/$cluster_name/Master/server.ini"
                            check_for_file "$dontstarve_dir/$cluster_name/Caves/server.ini"
                            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)

                            "${run_shared[@]}" Caves | sed 's/^/Caves: /' &
                            "${run_shared[@]}" Master | sed 's/^/Master: /'

8.2 修改权限

代码语言:javascript
复制
chmod u+x ~/start.sh 

8.3 启动服务器

代码语言:javascript
复制
screen -S DST
./start.sh 
在这里插入图片描述
在这里插入图片描述

8.4 配置令牌和服务器管理员

先新建 adminlist.txt 文件,再将此前获取到的 UserID 复制到文件中。

代码语言:javascript
复制
touch adminlist.txt

内容如下

代码语言:javascript
复制
KU_SpqLc8Hm
KU_SpqLc83m
KU_3pqLc9Hm

一个管理员一行,两个管理员两行

运行效果如下

在这里插入图片描述
在这里插入图片描述

9. 可能出现的问题

代码语言:javascript
复制
bash: ./start.sh: /bin/bash^M: bad interpreter: No such file or directory

原因是 文件的格式是dos,修改为unix 就OK了

查看文件格式 用vim 打开出错的文件 按 ESC键 再按shift+冒号 输入 set ff 回车 可以看见 该文件的格式 fileformat=dos 按shift + 冒号 输入 set ff=unix 回车 发现没反应,那就对了。 可以按 shift + 冒号 set ff 查看 fileformat=unix

10. 升级

饥荒更新,重新下载

代码语言:javascript
复制
~/steamcmd/steamcmd.sh +login anonymous +force_install_dir ~/dontstarvetogether_dedicated_server/ +app_update 343050 validate +quit

mod 更新 回到后台

代码语言:javascript
复制
screen -r DST

ctrl+C

代码语言:javascript
复制
./start.sh 

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137366.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 软件前提
  • 1. 安装编译环境
  • 2. 下载 steamCMD,安装
  • 运行
  • 3. 在steam 状态下 匿名登录,安装饥荒服务器
    • 3.1 查看是否安装成功
      • 可能需要解决的
      • 4. 创建本地存档
      • 5. 创建服务器地图存档
      • 6. 创建 服务器token,更换地图资源中的token
        • 6.1 更换地图资源的cluster_token.txt
        • 7. 添加mod 信息
          • 7.1 查看本地mod 的id
            • 7.2 修改服务器mod
            • 8. 创建命令,运行服务器
              • 8.1 编译
                • 8.2 修改权限
                  • 8.3 启动服务器
                    • 8.4 配置令牌和服务器管理员
                    • 9. 可能出现的问题
                    • 10. 升级
                    相关产品与服务
                    云服务器
                    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档