Ubuntu搭建饥荒服务器教程

Ubuntu搭建饥荒服务器教程安装编译环境Ubuntu/Debian64-Bitsudoapt-getinstalllib32gcc1screenRedHat/CentOS32-Bityum-yinstallglibclibstdc++screenlibcurlRedHat/CentOS64-Bityum-yinstallglibc.i686libstdc++.i686screenlibcurl.i686yuminstallglibc.i686下载steamCMDwget

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

软件前提

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

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


一般的话 2核 4G ,
8人左右,差不多 400块

系统 ubuntu20,如果选错了系统,可以点击重装系统的,在控制台都有按钮的
在这里插入图片描述

1. 安装编译环境

ubuntu

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

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

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,安装

mkdir ~/steamcmd
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

如果steam 包下载不下来

sudo apt install steamcmd -y

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

运行

安装包运行

./steamcmd.sh

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

steam

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

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”之类的,执行

sudo apt install libsdl2-2.0-0:i386

后再重复以上操作

3.1 查看是否安装成功

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

在这里插入图片描述

cd ~/dontstarvetogether_dedicated_server/bin/
./dontstarve_dedicated_server_nullrenderer

在这里插入图片描述
出现这样子的情况,饥荒就安装成功了

在这里插入图片描述

ctrl+c 可以退出

可能需要解决的

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

cd ~/dontstarvetogether_dedicated_server/bin/lib32
ln -s /usr/lib/libcurl.so.4 libcurl-gnutls.so.4

4. 创建本地存档

在这里插入图片描述
在这里插入图片描述
直接退出
在这里插入图片描述

5. 创建服务器地图存档

mkdir -p ~/.klei/DoNotStarveTogether/Cluster_1

打开xftp 的 隐藏图标

在这里插入图片描述

用xftp 上传 本地的 地图资源

在这里插入图片描述
上传完效果
在这里插入图片描述

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

https://accounts.klei.com/account/info

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这里是我的token,一定要用自己的token

pds-g^KU_SpqLc8Hm^Y5FP+OXvmjd+5WQ0L8A1pFAtALYf1ecPQIzVG2gYR2c=

6.1 更换地图资源的cluster_token.txt

在这里插入图片描述

7. 添加mod 信息

7.1 查看本地mod 的id

在这里插入图片描述

7.2 修改服务器mod

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

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. 创建命令,运行服务器

cd ~
touch start.sh

8.1 编译

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

#!/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 修改权限

chmod u+x ~/start.sh 

8.3 启动服务器

screen -S DST
./start.sh 

在这里插入图片描述

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

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

touch adminlist.txt

内容如下

KU_SpqLc8Hm
KU_SpqLc83m
KU_3pqLc9Hm

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

运行效果如下
在这里插入图片描述

9. 可能出现的问题

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. 升级

饥荒更新,重新下载

~/steamcmd/steamcmd.sh +login anonymous +force_install_dir ~/dontstarvetogether_dedicated_server/ +app_update 343050 validate +quit

mod 更新
回到后台

screen -r DST

ctrl+C

./start.sh 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ubuntu系统设置开机自动运行程序

    Ubuntu系统设置开机自动运行程序

    2020年11月8日
    257
  • C++ STL map集合的使用「建议收藏」

    C++ STL map集合的使用「建议收藏」有时需要根据索引找到对应的元素,像键值对一样的查找,并对这些元素进行操作。可以同故宫调用STL里面的map来解决这个问题。

    2022年5月29日
    45
  • Nodecache最适合国内地区的免备案CDN推荐!

    Nodecache最适合国内地区的免备案CDN推荐!自己的一个网站,因为服务器是海外的,虽然速度还不错,但延迟和丢包问题经常困扰着我。尤其是到了晚上,丢包情况就更加严重,所以需要一款免备案、有香港节点的CDN来提升一下访问体验。查了下资料,很多人推荐使用Nodecache,用了一段时间后感觉Nodecache确实还不错,下面给大家介绍一下。Nodecache是GlobalCacheTechnologyCo.,Ltd.旗下品牌,致力于为客户提供一站式的在线业务加速服务。Nodecache主要提供的就是免备案CDN加速、SSL证书、DNS

    2025年10月24日
    4
  • 用Redis客户端工具连接Redis

    用Redis客户端工具连接Redis进入redis安装目录viredis.conf1.关闭默认的只允许本地登录2.关掉保护模式3.requirepass注释去掉,修改密码4.开启redis后台运行5.安装redis客户端连接工具6.确保Linux防火墙已经关闭,再连接redissystemctlstopfirewalld.servicesystemctldisablefirewalld.service7.连接redis成功……

    2022年9月19日
    2
  • 分布式锁的实现和应用场景_predis分布式锁的应用

    分布式锁的实现和应用场景_predis分布式锁的应用文章目录如何理解分布式锁分布式锁的常用实现基于关系型数据库存在单点故障风险不可重入无法实现阻塞应用Redis缓存基于ZooKeeper实现电商网站都会遇到秒杀、特价之类的活动,大促活动有一个共同特点就是访问量激增,在高并发下会出现成千上万人抢购一个商品的场景。虽然在系统设计时会通过限流、异步、排队等方式优化,但整体的并发还是平时的数倍以上,参加活动的商品一般都是限量库存,如何防止库存超卖,避免并发问题呢?分布式锁就是一个解决方案。如何理解分布式锁我们都知道,在业务开发中,为了保证在多线程下处理

    2025年10月3日
    2
  • goland2021 破解激活码[在线序列号]

    goland2021 破解激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    267

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号