云服务器搭建steam游戏:饥荒联机版
#安装运行环境 (steamcmd运行需要32位系统运行环境)
yum -y install glibc.i686
yum update -y libstdc++.x86_64
yum -y install libstdc++.i686
yum -y install libcurl.i686
cd /usr/lib
ln -s libcurl.so.4 libcurl-gnutls.so.4
yum install epel-release -y
yum install screen -y
【#如果报错,换yum源再进行安装
cd /etc/yum.repos.d
rm -rf ./*
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum makecache】
#创建用户
useradd -m steam # 创建steam用户
su steam # 切换到steam用户下进行后续操作
#创建steamcmd目录用于安装steam程序
mkdir ~/steamcmd
#下载steamcmd安装文件
wget -P ~/steamcmd https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
#到steamcmd目录下解压压缩包
cd ~/steamcmd
tar -xvzf ~/steamcmd/steamcmd_linux.tar.gz
#启动steamcmd
./steamcmd.sh
#在steamcmd里设置steam里游戏的存储位置
force_install_dir ./save
#登录steamcmd
login stream用户名(就是window上登录steam的账号)
#然后按提示
输入密码、令牌口令即可完成登录
#下载饥荒
app_update 343050 validate #343050是饥荒在steam上的id编号
#安装完成后退去steamcmd
quit
【#如果操作过程中,提示缺少libcurl-gnutls.so.4包
cd ~/steamcmd/save/bin/lib32
ln -s /usr/lib/libcurl.so.4 libcurl-gnutls.so.4 】
#创建饥荒配置目录和必要的存档目录
mkdir -p ~/.klei/DoNotStarveTogether/cluster_1
cd ~/.klei/DoNotStarveTogether/cluster_1
#添加配置文件
touch cluster_token.txt
vim cluster_token.txt
把前面获取到的user_token粘贴到cluster_token.txt中
touch adminlist.txt
vim adminlist.txt
添加管理员用的,只需将科雷id(KU_开头的用户id)写入其中即可,一行写一个
touch blocklist.txt
vim blocklist.txt
将玩家添加到黑名单用的,只需将科雷id(KU_开头的用户id)写入其中即可,一行写一个
touch whitelist.txt
vim whitelist.txt
将玩家添加到白名单用的,只需将科雷id(KU_开头的用户id)写入其中即可,一行写一个
touch cluster.ini
vim cluster.ini
[GAMEPLAY]
game_mode = endless #无尽模式 lavaarena是熔炉模式
max_players = 15 #最大玩家数
pvp = false
pause_when_empty = true #房间内无人时游戏暂停
vote_enabled = true #开启投票功能
[NETWORK]
lan_only_cluster = false
cluster_intention = cooperative
cluster_password = #房间密码
cluster_description = "房间的描述信息"
cluster_name = "游戏的房间名称"
offline_cluster = false
cluster_language = zh
tick_rate = 15
whitelist_slots = #服务器给白名单里的人留的坑位
[MISC]
max_snapshots = 50 #快照数,可理解为存档的数量,回档用的;默认是5
console_enabled = true
[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10888
cluster_key = supersecretkey
#将本地创建的世界文件传到服务器
略~(视频内有详细演示步骤)
#模组配置
cd ~/steamcmd/save/mods #进入到饥荒的安装目录下的mods文件夹中
vim dedicated_server_mods_setup.lua #编辑mod配置文件
将创意工坊里你需要的服务器模组添加到这里,以便存档调用
格式为:ServerModSetup("362175979") 其中362175979为模组id,可在创意工坊里的模组url最后的数字中找到
#修改文件权限 (因为启动饥荒服务器程序后,这个文件会被重置)
chmod 555 dedicated_server_mods_setup.lua
以后要添加创意工坊里的服务器模组需要
chmod 666 dedicated_server_mods_setup.lua
然后再进行编辑
vim dedicated_server_mods_setup.lua
保存后还需设置权限
chmod 555 dedicated_server_mods_setup.lua
#将脚本文件传送到服务器的/home/steam目录下
略~(视频内有详细演示步骤)
#到steam用户的根目录下
cd ~
#修改必要的文件的权限
切换到root用户
su
然后输入root用户的密码(服务器密码)
chmod -R ~/.klei/DoNotStarveTogether/cluster_1
chmod -R 777 /home/steam/.klei/DoNotStarveTogether/cluster_1/Master/
chmod -R 777 /home/steam/.klei/DoNotStarveTogether/cluster_1/Caves/
chmod 777 autoUpdate.py
chmod 777 getDstVer.sh
chmod 777 screen.sh
chmod 777 startDST.sh
chmod 777 startScreen.sh
chmod 777 stopScreen.sh
chmod 777 autoWrite.sh
chmod 777 modAutoUpdate.lua
chmod 777 tips.sh
#创建允许steam用户权限的文件
touch cron.allow
echo "steam" >> cron.allow
echo "root" >> cron.allow
#steam用户的配置
切换到steam用户
su steam
crontab -e
*/3 * * * * . /home/steam/startScreen.sh #每3分钟检测饥荒服务器
*/59 * * * * . /home/steam/screen.sh #每59分钟检测服务器模组是否有更新和检测服务器token获取失败
*/30 * * * * . /home/steam/getDstVer.sh #每30分钟检测饥荒游戏更新
57 7 * * * . /home/steam/tips.sh #定时重启服务器用的,配置了定时重启服务器后的饥荒游戏内宣告信息
以上检测到了便会重启饥荒程序
#以下的根据自己情况选配(建议配置,因为steam平台更新不会自动更新,需要重启)
服务器定时重启:
切换到root用户
su
然后输入root用户的密码(服务器密码)
root用户的配置
crontab -e
0 8 * * * /sbin/reboot #每天早上8点自动重启服务器
#锁定配置,删除云服务器提供商的脚本监测时设置
chattr +i /var/spool/cron/root #以后更改需要解锁chattr -i /var/spool/cron/root
#锁定配置,删除云服务器提供商的脚本监测时设置
echo "" > /etc/ld.so.preload
chattr +i /etc
rm -rf /etc/cron.d/*
rm -f /usr/local/lib/lbb.so
chattr +i /usr/local/lib
killall kworkerds
rm -f /var/tmp/kworkerds*
rm -f /var/tmp/1.so
rm -f /tmp/kworkerds*
rm -f /tmp/1.so
rm -f /var/tmp/wc.conf
rm -f /tmp/wc.conf
其他命令:查看服务器日志命令
su steam
tail -f -n 20 ~/.klei/DoNotStarveTogether/cluster_1/Master/server_log.txt
cat ~/.klei/DoNotStarveTogether/cluster_1/Master/server_log.txt
如果启动不起来报错:检查存档文件权限
su
登录root账户
chmod -R 777 /home/steam/.klei/DoNotStarveTogether/cluster_1/Master/
chmod -R 777 /home/steam/.klei/DoNotStarveTogether/cluster_1/Caves/