linux云服務(wù)搭建七日殺服務(wù)器的詳細(xì)流程
目錄
- 準(zhǔn)備工作
- 1.設(shè)置swap
- 2.安裝screen
- 3.安裝SteamCmd運(yùn)行所需環(huán)境
- 4.創(chuàng)建一個(gè)用戶
- steamCMD與七日殺服務(wù)器端
- 1.下載并安裝SteamCMD
- 2.登錄steam賬號(hào)
- 3.下載七日殺服務(wù)端
- 4.配置服務(wù)端
- 5.配置防火墻
- 6.啟動(dòng)服務(wù)器
- 補(bǔ)充
- 1.幾個(gè)重要路徑和文件
- 2.添加mod
- 3.管理服務(wù)器
準(zhǔn)備工作
首先你需要擁有一個(gè)云服務(wù)器,內(nèi)地的主流云服務(wù)平臺(tái)有阿里云、騰訊云等,如果你在海外可以選擇AWS、google云服務(wù)等。七日殺服務(wù)端的建議最低配置是2core 4G,內(nèi)存8G及以上最佳。考慮到目前國(guó)內(nèi)云服務(wù)的價(jià)格比較,在校大學(xué)生可以考慮使用學(xué)生優(yōu)惠的1core 2G套餐,配置swap后勉強(qiáng)夠用。
云服務(wù)器的主機(jī)名一般是一串很長(zhǎng)的亂碼,例如顯示在用戶終端上很影響使用。比如我在修改前是:
[root@bS2&Lb%n21fAS7D ~]$
為了方便以后使用,建議大家先修改它。
# 這些操作要在root中進(jìn)行。hostnamectl set-hostname centos7 #可以改成你喜歡的主機(jī)名,別太長(zhǎng)hostname # 查看下centos7vim /etc/hosts # 編輯下hosts文件, 給127.0.0.1添加hostnamecat /etc/hosts # 檢查
修改之后像這樣:
[root@centos7 ~]$
舒服多了!
1.設(shè)置swap
這些操作都在root中進(jìn)行。
linux系統(tǒng)的swap空間類似windows系統(tǒng)的虛擬內(nèi)存。如果你的云服務(wù)器內(nèi)存小于4G,比如只有2G內(nèi)存,那你就必須設(shè)置一個(gè)swap空間,否則啟動(dòng)服務(wù)器時(shí)會(huì)因?yàn)閮?nèi)存不足導(dǎo)致進(jìn)程killed。
使用swapon
命令可以檢查系統(tǒng)是否已經(jīng)配置過(guò)swap,云服務(wù)器一般都沒(méi)有提前設(shè)置swap。
swapon -s # 如果該命令沒(méi)有返回出結(jié)果,則代表該系統(tǒng)尚未配置過(guò)swap。df -h # 檢查可用的存儲(chǔ)空間
如果沒(méi)有,按如下步驟創(chuàng)建Swap文件。一般建議swap大小設(shè)置為自己物理內(nèi)存相同或兩倍。我這里設(shè)置了4G。
# 這些操作要在root中進(jìn)行。sudo fallocate -l 4G /swapfile # 請(qǐng)根據(jù)自己情況修改swap大小ls -lh /swapfilesudo chmod 600 /swapfile # 更改swap文件的權(quán)限,否則會(huì)有很大的安全隱患ls -lh /swapfile # 然后檢查是否設(shè)置完成
啟用swap文件
sudo mkswap /swapfilesudo swapon /swapfile# 確認(rèn)一下設(shè)置是否已經(jīng)生效swapon -sfree -m
前面設(shè)置的swap會(huì)在重啟后失效,通過(guò)修改fstab讓配置永久生效。
sudo vim /etc/fstab
按 i
進(jìn)入輸入模式,在文件末尾加入下面這行內(nèi)容。
/swapfile swap swap sw 0 0
按esc退出輸入模式,輸入 :wq
保存退出。(對(duì)vim操作不熟悉的,可以搜索“vim指令”進(jìn)一步學(xué)習(xí))
swappiness
參數(shù)決定了系統(tǒng)將數(shù)據(jù)從內(nèi)存交換到swap空間的頻率。該數(shù)值越接近于0,系統(tǒng)越傾向于不進(jìn)行swap,最大限度使用物理內(nèi)存。數(shù)值越接近100,越傾向于使用swap,而過(guò)多的使用swap可能導(dǎo)致服務(wù)器運(yùn)行效率緩慢。ubuntu系統(tǒng)的默認(rèn)推薦值是60,這里我為了保證服務(wù)器運(yùn)行效率,建議設(shè)置為10。
cat /proc/sys/vm/swappiness # 查看當(dāng)前的swappinesssudo sysctl vm.swappiness=10 #修改swappiness為10
編輯sysctl配置文件,使其永久生效
sudo vim /etc/sysctl.conf
按 i
進(jìn)入輸入模式,將以下內(nèi)容粘貼到文件末尾:
vm.swappiness = 10
按esc退出輸入模式,輸入 :wq
保存退出。
2.安裝screen
安裝screen,后面開(kāi)服時(shí)會(huì)用到。使用screen可以讓服務(wù)器進(jìn)程在后臺(tái)運(yùn)行,而不會(huì)因?yàn)檫h(yuǎn)程連接的斷開(kāi)而停止進(jìn)程。
# RedHat/CentOSyum install -y screen# Ubuntu/Debianapt install screen
3.安裝SteamCmd運(yùn)行所需環(huán)境
# 這些操作要在root中進(jìn)行,根據(jù)你的系統(tǒng)選擇不同指令。# Ubuntu/Debian 64位sudo apt -y install lib32gcc1# RedHat/CentOS 32位sudo yum -y install glibc libstdc++# RedHat/CentOS 64位sudo yum -y install glibc.i686 libstdc++.i686
4.創(chuàng)建一個(gè)用戶
不建議使用root系統(tǒng)進(jìn)行后面的操作,這里我們?yōu)閟team創(chuàng)建一個(gè)專門(mén)的用戶。
useradd -m steam # 新建一個(gè)名為steam的用戶passwd steam # 為用戶steam設(shè)置密碼su - steam # 切換至新建的steam用戶。改成root,可以切換回root用戶
修改用戶終端配色。
CentOS7的終端和指令顏色一樣,大端的代碼中難以區(qū)分。修改一下用戶終端的配色,可以大大的提高整個(gè)shell頁(yè)面的可讀性,方便你更快的找到每段代碼的開(kāi)頭。
修改前后如下圖所示:
輸入以下指令修改終端配色。
# 臨時(shí)修改配色PS1="\[\e[32;1m\][\[\e[32;1m\]\u\[\e[32;1m\]@\h \[\e[34;1m\]\W\[\e[0m\]]\\$ "# 永久修改vim配色vim ~/.bashrc #編輯.bashrc文件
加入這一行
PS1="\[\e[32;1m\][\[\e[32;1m\]\u\[\e[32;1m\]@\h \[\e[34;1m\]\W\[\e[0m\]]\\$ "
保存退出。
source ~/.bashrc # 重新加載bash配置
steamCMD與七日殺服務(wù)器端
1.下載并安裝SteamCMD
確定你當(dāng)前在你新建的steam用戶中,如果不是,請(qǐng)使用su - steam
切換用戶。目前版本steamcmd必須直接解壓在 ~
目錄下,否則會(huì)報(bào)錯(cuò)。
# 這些操作要在剛才創(chuàng)建的steam用戶中進(jìn)行,請(qǐng)不要使用root用戶!#cd至~目錄cd ~# 下載Linux系統(tǒng)專用的SteamCMDwget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz # 解壓tar -zxf steamcmd_linux.tar.gz
運(yùn)行SteamCmd
# 運(yùn)行steamcmd./steamcmd.sh
首次運(yùn)行steamcmd,他會(huì)自己下載更新自己。等出現(xiàn)steam>
時(shí),就可以對(duì)steamcmd進(jìn)行操作啦。
2.登錄steam賬號(hào)
你可以使用steam賬號(hào)登錄,或匿名登錄login anonymous
。但是七日殺必須要steam登錄才可以下載服務(wù)端。
login <用戶名> <密碼># 如果設(shè)置了安全令牌,會(huì)讓你輸入一次安全令牌
3.下載七日殺服務(wù)端
force_install_dir ~/7DaysToDieServer # 設(shè)置服務(wù)端安裝目錄app_update 294420 validate # 下載七日殺服務(wù)端,294420是七日殺的編號(hào)# 本文由 @白火shiraka 辛苦編寫(xiě),未經(jīng)授權(quán)禁止轉(zhuǎn)載# 白火的博客主頁(yè):www.cnblogs.com/shiraka# 如果你在白火shiraka的博客、知乎、B站以外的地方看到這篇文章,幫忙舉報(bào)侵權(quán),十分感謝!# 下載會(huì)持續(xù)一段時(shí)間,請(qǐng)耐心等待
等到出現(xiàn)如圖所示的 Success! App '294420' fully installed.之后便可以退出steamcmd了。
quit #退出SteamCmd
4.配置服務(wù)端
# 進(jìn)入七日殺服務(wù)端根目錄cd ~/7DaysToDieServer# 編輯配置文件vim serverconfig.xml
下面翻譯了部分參數(shù)。
<property name="ServerPort" value="26900"/> <!-- 默認(rèn)26900 --><property name="ServerName" value="服務(wù)器名"/><property name="ServerPassword" value="服務(wù)器登入密碼"/><property name="ServerMaxPlayerCount" value="8"/> <!-- 最大玩家數(shù) 默認(rèn)8 --><property name="ServerDescription"value="服務(wù)器描述"/><property name="GameWorld"value="Navezgane"/> <!-- 服務(wù)器世界名 默認(rèn)Navezgane --><property name="GameName" value="My Game"/> <!-- 存檔名字 --><property name="GameDifficulty" value="2"/> <!-- 游戲難度 默認(rèn)難度是2 --><property name="ZombiesRun"value="0"/> <!-- 僵尸行走,默認(rèn)值0,白天走晚上跑 1為不跑 2為一直跑 --><property name="DayNightLength" value="60"/> <!-- 游戲內(nèi)一天在現(xiàn)實(shí)世界時(shí)長(zhǎng)(單位分鐘min) --><property name="DayLightLength" value="18"/> <!-- 游戲內(nèi)白天的時(shí)間(單位小時(shí)h)--><property name="PlayerKillingMode"value="1"/> <!-- 玩家之間能造成的傷害,0.禁止殺戮 1.只能殺死盟友 2.只能殺死陌生人 3.允許殺死所有人 --><property name="DropOnDeath"value="2"/> <!-- 玩家死亡掉落,默認(rèn)0.全部 1.僅腰帶 2.僅背包 3.刪除所有 --><property name="MaxSpawnedZombies" value="60"/> <!-- 服務(wù)器最大僵尸生成量 --><property name="MaxSpawnedAnimals" value="50"/> <!-- 服務(wù)器最大生物生成量 --><property name="AirDropFrequency" value="72"/> <!-- 空投循環(huán)生成時(shí)間(單位分鐘min) --><property name="AirDropMarker" value="true"/> <!-- 是否在地圖上標(biāo)記空投 默認(rèn)true --><property name="EACEnabled" value="false"/> <!-- #反作弊,默認(rèn)true,開(kāi)啟可以防止玩家作弊,同時(shí)也會(huì)使部分mod不可使用。 --><property name="TelnetEnabled" value="true"/> <!-- 是否開(kāi)啟Telnet --><property name="TelnetPort" value="8081"/> <!-- Telnet端口 --><property name="TelnetPassword" value="mdzz"/> <!-- #Telnet密碼 --><!-- 以上內(nèi)容由 @白火shiraka 翻譯整理,未經(jīng)授權(quán)禁止轉(zhuǎn)載 --><!-- 白火的博客主頁(yè):www.cnblogs.com/shiraka --><!-- 如果你在白火shiraka的博客、知乎、B站以外的地方看到這篇文章,幫忙舉報(bào)侵權(quán),十分感謝! --><!-- 更多設(shè)置請(qǐng)參考配置文件中的注釋,英語(yǔ)不好的同學(xué)善用翻譯軟件!-->
5.配置防火墻
還需要在防火墻放行以下端口,才可讓服務(wù)器正常運(yùn)轉(zhuǎn)。阿里云請(qǐng)?jiān)谄脚_(tái)的安全組頁(yè)面添加規(guī)則,其他云平臺(tái)可能有不同的安全組設(shè)置方式,大同小異。
Telnet建議不要放行,直接在服務(wù)器中使用telnet localhost 8081
即可登錄telnet。
如果一定要用遠(yuǎn)程telnet連接,請(qǐng)務(wù)必在serverconfig.xml中設(shè)置好TelnetPassword后,再放行端口。該行為有很大的風(fēng)險(xiǎn)。
6.啟動(dòng)服務(wù)器
創(chuàng)建一個(gè)名為7DayServer的screen,可以讓服務(wù)器在后臺(tái)運(yùn)行,斷開(kāi)遠(yuǎn)程連接也不終止進(jìn)程。
screen -S 7DaysServer
啟動(dòng)服務(wù)器
./startserver.sh -configfile=serverconfig.xml
按住Ctrl + A +D 將screen加入后臺(tái)運(yùn)行
當(dāng)你需要回到這個(gè)sreen頁(yè)面時(shí),使用如下指令。
screen -ls # 查看screen,記下7DaysServer的編號(hào)screen -r <7DaysServer的編號(hào)>
補(bǔ)充
1.幾個(gè)重要路徑和文件
路徑
# 路徑取決于你的設(shè)置的安裝位置,如果完全按照本文操作,那么路徑如下~/7DaysToDieServer # 七日殺服務(wù)端主目錄~/7DaysToDieServer/Data/Worlds # 七日殺服務(wù)端地圖目錄~/.local/share/7DaysToDie/Saves # 七日殺服務(wù)端存檔目錄~/7DaysToDieServer/7DaysToDieServer_Data # 七日殺服務(wù)器日志輸出目錄~/7DaysToDieServer/Mods # Mods目錄,需要自己創(chuàng)建
文件
~/.local/share/7DaysToDie/Saves/serveradmin.xml # 服務(wù)器配置文件~/7DaysToDieServer/serverconfig.xml # 管理員配置文件
2.添加mod
想添加mod的同學(xué)看這里。
cd ~/7DaysToDieServer # cd至七日殺服務(wù)端主目錄mkdir Mods # 創(chuàng)建mods文件夾
服務(wù)器的mod和自己平時(shí)玩的mod基本通用,跟在自己游戲中裝mod一樣,將mod文件放入Mods文件夾中即可。
上傳mods到服務(wù)器上的方法有很多,比如Xshell中可以使用lrzsz上傳。
# 以下操作要在root用戶中進(jìn)行# Ubuntu/Debiansudo apt-get install lrzsz# RedHat/CentOSyum install lrzsz
安裝zip/unzip 用于解壓mod壓縮包
# Ubuntu/Debianapt-get install zip# RedHat/CentOSyum install zip unzip
上傳mod文件,并解壓。
# 使用su - steam,回到steam用戶中繼續(xù)操作cd ~/7DaysToDieServerrz #直接將mod的壓縮包上傳文件至linuxunzip <壓縮包名> # 一般mod壓縮包內(nèi)自帶Mods文件夾,直接解壓即可# 如果解壓后路徑不對(duì),可以使用mv指令移動(dòng)至Mods文件下
3.管理服務(wù)器
在服務(wù)器中安裝telnet。(也可以用Xshell的遠(yuǎn)程telnet連接,這里不做贅述)
# RedHat/CentOSrpm -qa telnet # 檢測(cè)telnet的rpm包是否安裝 yum install telnet # 若未安裝,則安裝telnet# Ubuntu/Debiannetstat -a | grep telnet # 檢測(cè)telnet的rpm包是否安裝 sudo apt-get install xinetd telnetd # 若未安裝,則安裝telnet
SHELL 復(fù)制 全屏
telnet localhost 8081 #登錄服務(wù)器telnet
管理員指令
admin add <玩家名> <權(quán)限級(jí)別> # 給予玩家管理權(quán)限(最高級(jí)別為0)admin remove <玩家名> # 移除玩家的管理權(quán)限admin update <玩家名> <權(quán)限等級(jí)> #提高管理權(quán)限級(jí)別#建議先在telnet用上述指令給自己管理權(quán)限#然后就可以直接在游戲中,按F1使用下面的指令了dm #打開(kāi)或關(guān)閉debug模式ban <玩家名> <時(shí)間> # 禁止玩家登陸服務(wù)器一段時(shí)間(minutes, hours, days, weeks, months, years)kill <id/name> # 殺死指定玩家listplayers lp # 獲取在線玩家信息give <id/name> <物品> <數(shù)量> # 給玩家刷某樣?xùn)|西shutdown # 關(guān)閉服務(wù)器say <信息> # 以server的名義廣播一條信息
參考:
到此這篇關(guān)于linux云服務(wù)搭建七日殺服務(wù)器的文章就介紹到這了,更多相關(guān)linux七日殺服務(wù)器內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
