七日殺開(kāi)服架設(shè)教程開(kāi)服配置服務(wù)器搭建需要什么配置的服務(wù)器Linux系統(tǒng)

七日殺開(kāi)服架設(shè)教程開(kāi)服配置服務(wù)器搭建需要什么配置的服務(wù)器Linux系統(tǒng)
?
新開(kāi)放世界僵尸游戲
《七日殺》是由The Fun Pimps Entertainment研發(fā)的集合第一人稱(chēng)射擊、恐怖生存、塔防與角色扮演要素于一身的新開(kāi)放世界僵尸游戲。
這次的戰(zhàn)爭(zhēng)不僅帶來(lái)了死傷無(wú)數(shù)還帶來(lái)了一些未知的病毒將地球上的許多人類(lèi)變成了僵尸。玩家將扮演在美國(guó)亞歷桑納地區(qū)的一名幸存者,那里是地球最后的沒(méi)有受到污染的地方,玩家將為了生存而戰(zhàn),同時(shí)探究整個(gè)事件背后的真相。
?
自主搭建架設(shè)七日殺服務(wù)器
七日殺是開(kāi)源游戲 所以可以搭建屬于自己的專(zhuān)屬服務(wù)器
?

目錄
架設(shè)前準(zhǔn)備:
開(kāi)始架設(shè)服務(wù)器:
基礎(chǔ)配置Linux服務(wù)器:
下載steamCMD:
開(kāi)始配置七日殺服務(wù)器:
配置七日殺服務(wù)器設(shè)置內(nèi)容:
配置防火墻及端口:
啟動(dòng)服務(wù)器:
關(guān)閉服務(wù)器指令:
文件路徑說(shuō)明:
管理服務(wù)器:
服務(wù)器可能的環(huán)境配置:
配置服務(wù)器的swap:
檢查安裝SteamCmd運(yùn)行所需環(huán)境:
?
架設(shè)前準(zhǔn)備:
一臺(tái)高性能的服務(wù)器
服務(wù)器系統(tǒng)鏡像OS:Ubuntu 20 X64位系統(tǒng),服務(wù)器推薦配置至少為8核8G以上!
下載SteamCMD
正版STEAM的七日殺游戲
如果懶得設(shè)置用戶(hù),可直接SU/SUDO啟用超級(jí)管理員進(jìn)行所有操作(不推薦)
?
服務(wù)器的選擇:個(gè)人建議使用BGP線路的服務(wù)器
什么是BGP線路呢?北網(wǎng)通,南電信這句話你可能有聽(tīng)過(guò),就是字面理解的意思,BGP線路就是電信、網(wǎng)通、移動(dòng)三線合一個(gè)IP,無(wú)需設(shè)置接口,自動(dòng)分配最優(yōu)網(wǎng)絡(luò)線路,在穩(wěn)定性和速度上更有優(yōu)勢(shì),可保證服務(wù)器的穩(wěn)定運(yùn)行,但是相比單線/雙線來(lái)說(shuō),BGP的成本也會(huì)更高,不會(huì)存在 電信玩家卡 網(wǎng)通 移動(dòng)順暢,網(wǎng)通順暢 電信 移動(dòng)玩家卡的種種情況.無(wú)需設(shè)置接口,自動(dòng)分配最優(yōu)網(wǎng)絡(luò)線路,在穩(wěn)定性和速度上更有優(yōu)勢(shì)
?
另外,像theisle、CSGO、方舟等這些steam游戲來(lái)說(shuō),游戲的幀數(shù)和渲染效果都是很高的,只有把顯示效果、游戲幀數(shù)做到更好,才能給玩家更好的游戲體驗(yàn),所以服務(wù)器的CPU選擇也是很關(guān)鍵的,對(duì)于高品質(zhì)畫(huà)面游戲,支持睿頻加速、多線程技術(shù)、動(dòng)態(tài)加速頻率的CPU會(huì)更加合適,避免出現(xiàn)卡頓的情況。i9系列高主頻服務(wù)器就挺合適。
?
?
玩七日殺的人應(yīng)該都知道,服務(wù)器在海外,所以延遲會(huì)比較高,延遲高意味著游戲加載會(huì)比較慢,這也是為什么有的人會(huì)自己搭建服務(wù)器的一個(gè)原因,個(gè)人搭建服務(wù)器多數(shù)用的都是國(guó)內(nèi)的服務(wù)器,延遲低,加載更快,游戲體驗(yàn)感更好。
?
這就延伸出一個(gè)問(wèn)題,并不是國(guó)內(nèi)的所有機(jī)器都是延遲很低,也需要結(jié)合機(jī)房環(huán)境和服務(wù)器帶寬,機(jī)房不同,服務(wù)器的穩(wěn)定性和安全性都不同,帶寬資源也不一樣,steam類(lèi)游戲幀數(shù)高比較占用帶寬,玩家人數(shù)多,如果是帶寬不足,延遲就會(huì)更高
?
?在上面有提到steam類(lèi)的游戲幀數(shù)都挺高的,幀數(shù)越高,對(duì)服務(wù)器的硬盤(pán)配置要求也越高,現(xiàn)在市面上SSD固態(tài)硬盤(pán)比較常用,運(yùn)行速度快,i9-9900K的存儲(chǔ)容量512G M.2固態(tài)硬盤(pán)。游戲行業(yè)同行競(jìng)爭(zhēng)大,容易遭受同行的攻擊在防御上可以根據(jù)自己的需求去做選擇。
?

?
開(kāi)始架設(shè)服務(wù)器:
基礎(chǔ)配置Linux服務(wù)器:
配置管理員密碼:sudo passwd
下載steamCMD:
進(jìn)入超級(jí)用戶(hù)模式輸入:su
sudo apt install steamcmd
(若出現(xiàn)錯(cuò)誤無(wú)法找到包steamcmd請(qǐng)更新如下代碼:)
首先,需要添加multiverse到我的/etc/apt/sources.list:
deb http://archive.ubuntu.com/ubuntu xenial main universe multiverse
deb http://archive.ubuntu.com/ubuntu xenial-updates main universe multiverse
deb http://archive.ubuntu.com/ubuntu xenial-security main universe multiverse
之后,添加i386體系結(jié)構(gòu):
sudo dpkg --add-architecture i386
最后apt-get update就可以安裝它了
sudo apt-get install steamcmd
開(kāi)始配置七日殺服務(wù)器:
更新代碼:steamcmd
登錄匿名用戶(hù):Steam>login anonymous(推薦如果不成功嘗試steam用戶(hù)登錄)
steam用戶(hù)登錄:login <賬號(hào)> <密碼>
# 如果設(shè)置了安全令牌,會(huì)讓你輸入一次安全令牌Code
(可選)force_install_dir ~/7DaysToDieServer # 設(shè)置服務(wù)端安裝目錄
下載七日殺服務(wù)器端代碼:app_update 294420
退出SteamCmd模式:exit
切換到root根目錄:cd~
查看隱藏目錄:la
找到打開(kāi).steam文件夾輸入如下代碼:
cd .steam/
cd steamApps/
cd common/
cd 7DaysToDieServer #這里就是七日殺服務(wù)端的所有文件內(nèi)容!
配置七日殺服務(wù)器設(shè)置內(nèi)容:
編輯七日殺服務(wù)器配置文件?:
vim serverconfig.xml # 編輯配置文件
**按insert鍵或I鍵進(jìn)入編輯模式**wq保存并退出!如果實(shí)在不會(huì)可以用nano或者其他編輯器!
以下是XML文件的部分翻譯,可以根據(jù)自己的需要自行修改,推薦做好備份!注意:修改Value=之后的內(nèi)容!
關(guān)于XML文件內(nèi)容的官方WIKI百科內(nèi)容——可以瀏覽器搜索
<property name="ServerName ??value="JonasLu/EN/CN/FR/Easy服務(wù)器名字"/>
<property name="ServerPort" ??????????????value="26900"/> #默認(rèn)26900
<property name="ServerPassword" ??????????value="服務(wù)器登入密碼"/>
<property name="ServerWebsiteURL" value="www.jonaslu.com"/>服務(wù)器網(wǎng)址
<property name="ServerMaxPlayerCount" ?????value="8"/> #最大玩家數(shù) 默認(rèn)8
<property name="ServerDescription" ???????value="關(guān)于服務(wù)器描述"/>
<property name="GameWorld" ???????????????value="Navezgane"/> #服務(wù)器世界名默認(rèn)Navezgane
<property name="GameName" ????????????????value="My Game"/> #存檔名字
<property name="GameDifficulty" ??????????value="2"/> #游戲難度
<property name="GameMode" ?????????????????value="GameModeSurvivalMP"/> #游戲模式,默認(rèn)GameModeSurvivalMP
<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"/> #玩家之間能造成的傷害,默認(rèn)1.敵人0.無(wú)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"/> #是否空投 默認(rèn)true
如果對(duì)于這里實(shí)在不理解或者覺(jué)得麻煩的小伙伴,可以下載下方由JonasLu站主提供的編輯好的TXT文件,將后綴改為.xml后替換原來(lái)的XML文件即可?。ㄗ⒁飧奈募械姆?wù)器名字等等)
serverconfig預(yù)配置XML文件下載
此文件提供網(wǎng)頁(yè)監(jiān)控和telnet連接你的服務(wù)器,相關(guān)的代碼如下:
你的服務(wù)器公網(wǎng)IP地址:8080
#例如瀏覽器輸入140.210.20.188:8080即可實(shí)時(shí)監(jiān)控服務(wù)器日志
telnet 你的服務(wù)器公網(wǎng)IP地址 8081
password 1234567890
#Telnet連接并控制服務(wù)器
配置防火墻及端口:
如果你發(fā)現(xiàn)開(kāi)了服務(wù)器沒(méi)有顯示或者無(wú)法連接,你可能還需要配置防火墻和端口規(guī)則。云服務(wù)器請(qǐng)?jiān)谙鄳?yīng)平臺(tái)的安全組頁(yè)面添加出入站規(guī)則,如果沒(méi)有特殊需要可以放通全部!并且關(guān)閉防火墻?。ㄓ幸欢L(fēng)險(xiǎn),服務(wù)器內(nèi)有重要資料不推薦?。?/strong>
端口
協(xié)議
說(shuō)明
8080
TCP
遠(yuǎn)程Web控制臺(tái)(不需要可以不放通)
8081
TCP
Telnet端口(這個(gè)可以不放行,本地連接)
8082
TCP
服務(wù)器管理工具端口!
26900/26902
UDP
客戶(hù)端端口!
按上表格放通端口
Telnet可以不放行,直接在服務(wù)器中使用telnet ip 8081即可登錄telnet。
要用遠(yuǎn)程telnet連接,請(qǐng)?jiān)趕erverconfig.xml中設(shè)置好TelnetPassword后,再進(jìn)行連接
啟動(dòng)服務(wù)器:
在上述文件配好之后,在七日殺的服務(wù)端根目錄下輸入:
screen -S 7
#創(chuàng)建一個(gè)screen(防止在ssh斷開(kāi)連接后服務(wù)端自動(dòng)關(guān)閉)如果沒(méi)有可以下載!
下載安裝screen:
# RedHat/CentOS
yum install -y screen
?
--------------------------
# Ubuntu/Debianapt install screen?//我們這里選擇這個(gè)代碼
./startserver.sh -configfile=serverconfig.xml
#創(chuàng)建Screen之后,輸入以上代碼正式啟動(dòng)服務(wù)器!
服務(wù)器啟動(dòng)成功之后,按住Ctrl + A +D 將screen加入后臺(tái)運(yùn)行!這樣就不會(huì)關(guān)閉服務(wù)器了。之后你就可以開(kāi)始玩啦!
當(dāng)你需要回到這個(gè)sreen頁(yè)面時(shí),使用如下指令。
screen -ls # 查看screen,記下7的編號(hào)
screen -r 7 #查看記錄為7的編號(hào)
關(guān)閉服務(wù)器指令:
screen -r 7
Ctrl +C
#返回相應(yīng)的screen之后Ctrl +C即可!
文件路徑說(shuō)明:
# 路徑取決于你自己的設(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
# 管理員配置文件
~/.../7DaysToDieServer/serverconfig.xml # 服務(wù)器配置文件
(重要)
管理服務(wù)器:
在服務(wù)器中安裝telnet。(也可以用Xshell或FTP的遠(yuǎn)程連接)
# Ubuntu/Debian系統(tǒng)
netstat -a | grep telnet # 檢測(cè)telnet的rpm包是否安裝
sudo apt-get install xinetd telnetd # 若未安裝,則安裝telnet
telnet 你的 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的名義廣播一條信息
服務(wù)器可能的環(huán)境配置:
配置服務(wù)器的swap:
linux系統(tǒng)的swap空間類(lèi)似windows系統(tǒng)的虛擬內(nèi)存。如果你的云服務(wù)器內(nèi)存小于4G,或者卡頓嚴(yán)重,那你就必須設(shè)置一個(gè)swap空間,否則啟動(dòng)服務(wù)器時(shí)會(huì)因?yàn)閮?nèi)存不足導(dǎo)致進(jìn)程關(guān)閉而終止服務(wù)器。
使用swapon命令可以檢查系統(tǒng)是否已經(jīng)配置過(guò)swap,一般云服務(wù)器都沒(méi)有提前設(shè)置swap。
以下所有的這些操作都在root中進(jìn)行//su
swapon -s # 如果該命令沒(méi)有返回出結(jié)果,則代表該系統(tǒng)尚未配置過(guò)swap。
df -h # 檢查可用的存儲(chǔ)空間
如果沒(méi)有,按如下步驟創(chuàng)建Swap文件。一般建議swap大小設(shè)置為自己物理內(nèi)存相同或兩倍。我這里設(shè)置了8G。
# 這些操作要在root中進(jìn)行。
sudo fallocate -l 8G /swapfile # 請(qǐng)根據(jù)自己情況修改swap大小
ls -lh /swapfile
sudo chmod 600 /swapfile # 更改swap文件的權(quán)限,否則會(huì)有很大的安全隱患
ls -lh /swapfile # 然后檢查是否設(shè)置完成
啟用swap文件
sudo mkswap /swapfile
sudo swapon /swapfile
# 確認(rèn)一下設(shè)置是否已經(jīng)生效
swapon -s
free -m
前面設(shè)置的swap會(huì)在重啟后失效,通過(guò)修改fstab讓配置永久生效。
sudo vim /etc/fstab
按?i?進(jìn)入輸入模式,在文件末尾加入下面這行內(nèi)容。
/swapfile ??swap ???swap ???sw ?0 ??0
按esc退出輸入模式,輸入?:wq?保存退出。
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)前的swappiness
sudo sysctl vm.swappiness=10 #修改swappiness為10
編輯sysctl配置文件,使其永久生效
sudo vim /etc/sysctl.conf
按?i?進(jìn)入輸入模式,將以下內(nèi)容粘貼到文件末尾:
vm.swappiness = 10
按esc退出輸入模式,輸入?:wq?保存退出。
檢查安裝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
?
?
?