云服務(wù)器搭建steam游戲:饑荒聯(lián)機(jī)版
#安裝運(yùn)行環(huán)境 (steamcmd運(yùn)行需要32位系統(tǒng)運(yùn)行環(huán)境)
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
【#如果報(bào)錯(cuò),換yum源再進(jìn)行安裝
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】
#創(chuàng)建用戶
useradd -m steam # 創(chuàng)建steam用戶
su steam # 切換到steam用戶下進(jìn)行后續(xù)操作
#創(chuàng)建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里設(shè)置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 】
#創(chuàng)建饑荒配置目錄和必要的存檔目錄
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)寫入其中即可,一行寫一個(gè)
touch blocklist.txt
vim blocklist.txt
將玩家添加到黑名單用的,只需將科雷id(KU_開頭的用戶id)寫入其中即可,一行寫一個(gè)
touch whitelist.txt
vim whitelist.txt
將玩家添加到白名單用的,只需將科雷id(KU_開頭的用戶id)寫入其中即可,一行寫一個(gè)
touch cluster.ini
vim cluster.ini
[GAMEPLAY]
game_mode = endless #無盡模式 lavaarena是熔爐模式
max_players = 15 #最大玩家數(shù)
pvp = false
pause_when_empty = true #房間內(nèi)無人時(shí)游戲暫停
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 = #服務(wù)器給白名單里的人留的坑位
[MISC]
max_snapshots = 50 #快照數(shù),可理解為存檔的數(shù)量,回檔用的;默認(rèn)是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
#將本地創(chuàng)建的世界文件傳到服務(wù)器
略~(視頻內(nèi)有詳細(xì)演示步驟)
#模組配置
cd ~/steamcmd/save/mods #進(jìn)入到饑荒的安裝目錄下的mods文件夾中
vim dedicated_server_mods_setup.lua? #編輯mod配置文件
將創(chuàng)意工坊里你需要的服務(wù)器模組添加到這里,以便存檔調(diào)用
格式為:ServerModSetup("362175979") 其中362175979為模組id,可在創(chuàng)意工坊里的模組url最后的數(shù)字中找到
#修改文件權(quán)限 (因?yàn)閱羽嚮姆?wù)器程序后,這個(gè)文件會被重置)
chmod 555 dedicated_server_mods_setup.lua
以后要添加創(chuàng)意工坊里的服務(wù)器模組需要
chmod 666 dedicated_server_mods_setup.lua
然后再進(jìn)行編輯
vim dedicated_server_mods_setup.lua
保存后還需設(shè)置權(quán)限
chmod 555 dedicated_server_mods_setup.lua
#將腳本文件傳送到服務(wù)器的/home/steam目錄下
略~(視頻內(nèi)有詳細(xì)演示步驟)
#到steam用戶的根目錄下
cd ~
#修改必要的文件的權(quán)限
切換到root用戶
su
然后輸入root用戶的密碼(服務(wù)器密碼)
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
#創(chuàng)建允許steam用戶權(quán)限的文件
touch cron.allow
echo "steam" >> cron.allow
echo "root" >> cron.allow
#steam用戶的配置
切換到steam用戶
su steam
crontab -e
*/3 * * * * . /home/steam/startScreen.sh #每3分鐘檢測饑荒服務(wù)器
*/59 * * * * . /home/steam/screen.sh #每59分鐘檢測服務(wù)器模組是否有更新和檢測服務(wù)器token獲取失敗
*/30 * * * * . /home/steam/getDstVer.sh #每30分鐘檢測饑荒游戲更新
57 7 * * * . /home/steam/tips.sh #定時(shí)重啟服務(wù)器用的,配置了定時(shí)重啟服務(wù)器后的饑荒游戲內(nèi)宣告信息
以上檢測到了便會重啟饑荒程序
#以下的根據(jù)自己情況選配(建議配置,因?yàn)閟team平臺更新不會自動更新,需要重啟)
服務(wù)器定時(shí)重啟:
切換到root用戶
su
然后輸入root用戶的密碼(服務(wù)器密碼)
root用戶的配置
crontab -e
0 8 * * * /sbin/reboot #每天早上8點(diǎn)自動重啟服務(wù)器
#鎖定配置,刪除云服務(wù)器提供商的腳本監(jiān)測時(shí)設(shè)置
chattr +i /var/spool/cron/root #以后更改需要解鎖chattr -i /var/spool/cron/root
#鎖定配置,刪除云服務(wù)器提供商的腳本監(jiān)測時(shí)設(shè)置
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
其他命令:查看服務(wù)器日志命令?
su steam
tail -f -n 20 ~/.klei/DoNotStarveTogether/cluster_1/Master/server_log.txt
cat ~/.klei/DoNotStarveTogether/cluster_1/Master/server_log.txt
如果啟動不起來報(bào)錯(cuò):檢查存檔文件權(quán)限?
su?
登錄root賬戶
chmod -R 777 /home/steam/.klei/DoNotStarveTogether/cluster_1/Master/
chmod -R 777 /home/steam/.klei/DoNotStarveTogether/cluster_1/Caves/