七日殺怎樣搭雲伺服器(七日殺伺服器搭建教程)
新開放世界殭屍遊戲
《七日殺》是由The Fun Pimps Entertainment研發的集合第一人稱射擊、恐怖生存、塔防與角色扮演要素於一身的新開放世界殭屍遊戲。
這次的戰爭不僅帶來了死傷無數還帶來了一些未知的病毒將地球上的許多人類變成了殭屍。玩家將扮演在美國亞歷桑納地區的一名倖存者,那裡是地球最後的沒有受到汙染的地方,玩家將為了生存而戰,同時探究整個事件背後的真相。
自主搭建架設七日殺伺服器
七日殺是開源遊戲 所以可以搭建屬於自己的專屬伺服器
目錄
架設前準備:
開始架設伺服器:
基礎配置Linux伺服器:
下載steamCMD:
開始配置七日殺伺服器:
配置七日殺伺服器設定內容:
配置防火牆及埠:
啟動伺服器:
關閉伺服器指令:
檔案路徑說明:
管理伺服器:
伺服器可能的環境配置:
配置伺服器的swap:
檢查安裝SteamCmd執行所需環境:
架設前準備:
一臺高效能的伺服器
伺服器系統映象OS:Ubuntu 20 X64位系統,伺服器推薦配置至少為8核8G以上!
下載SteamCMD
正版STEAM的七日殺遊戲
如果懶得設定使用者,可直接SU/SUDO啟用超級管理員進行所有操作(不推薦)
伺服器的選擇:個人建議使用BGP線路的伺服器
什麼是BGP線路呢?北網通,南電信這句話你可能有聽過,就是字面理解的意思,BGP線路就是電信、網通、移動三線合一個IP,無需設定介面,自動分配最優網路線路,在穩定性和速度上更有優勢,可保證伺服器的穩定執行,但是相比單線/雙線來說,BGP的成本也會更高,不會存在 電信玩家卡 網通 移動順暢,網通順暢 電信 移動玩家卡的種種情況.無需設定介面,自動分配最優網路線路,在穩定性和速度上更有優勢
另外,像theisle、CSGO、方舟等這些steam遊戲來說,遊戲的幀數和渲染效果都是很高的,只有把顯示效果、遊戲幀數做到更好,才能給玩家更好的遊戲體驗,所以伺服器的CPU選擇也是很關鍵的,對於高品質畫面遊戲,支援睿頻加速、多執行緒技術、動態加速頻率的CPU會更加合適,避免出現卡頓的情況。i9系列高主頻伺服器就挺合適。
玩七日殺的人應該都知道,伺服器在海外,所以延遲會比較高,延遲高意味著遊戲載入會比較慢,這也是為什麼有的人會自己搭建伺服器的一個原因,個人搭建伺服器多數用的都是國內的伺服器,延遲低,載入更快,遊戲體驗感更好。
這就延伸出一個問題,並不是國內的所有機器都是延遲很低,也需要結合機房環境和伺服器頻寬,機房不同,伺服器的穩定性和安全性都不同,頻寬資源也不一樣,steam類遊戲幀數高比較佔用頻寬,玩家人數多,如果是頻寬不足,延遲就會更高
在上面有提到steam類的遊戲幀數都挺高的,幀數越高,對伺服器的硬碟配置要求也越高,現在市面上SSD固態硬碟比較常用,執行速度快,i9-9900K的儲存容量512G M.2固態硬碟。遊戲行業同行競爭大,容易遭受同行的攻擊在防禦上可以根據自己的需求去做選擇。
開始架設伺服器:
基礎配置Linux伺服器:
配置管理員密碼:sudo passwd
下載steamCMD:
進入超級使用者模式輸入:su
sudo apt install steamcmd
(若出現錯誤無法找到包steamcmd請更新如下程式碼:)
首先,需要新增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體系結構:
sudo dpkg --add-architecture i386
最後apt-get update就可以安裝它了
sudo apt-get install steamcmd
開始配置七日殺伺服器:
更新程式碼:steamcmd
登入匿名使用者:Steam>login anonymous(推薦如果不成功嘗試steam使用者登入)
steam使用者登入:login <賬號> <密碼>
# 如果設定了安全令牌,會讓你輸入一次安全令牌Code
(可選)force_install_dir ~/7DaysToDieServer # 設定服務端安裝目錄
下載七日殺伺服器端程式碼:app_update 294420
退出SteamCmd模式:exit
切換到root根目錄:cd~
檢視隱藏目錄:la
找到開啟.steam資料夾輸入如下程式碼:
cd .steam/
cd steamApps/
cd common/
cd 7DaysToDieServer #這裡就是七日殺服務端的所有檔案內容!
配置七日殺伺服器設定內容:
編輯七日殺伺服器配置檔案 :
vim serverconfig.xml # 編輯配置檔案
**按insert鍵或I鍵進入編輯模式**wq儲存並退出!如果實在不會可以用nano或者其他編輯器!
以下是XML檔案的部分翻譯,可以根據自己的需要自行修改,推薦做好備份!注意:修改Value=之後的內容!
關於XML檔案內容的官方WIKI百科內容——可以瀏覽器搜尋
<property name="ServerName value="JonasLu/EN/CN/FR/Easy伺服器名字"/>
#預設26900
伺服器網址
#最大玩家數 預設8
#伺服器世界名預設Navezgane
#存檔名字
#遊戲難度
#遊戲模式,預設GameModeSurvivalMP
#殭屍行走,預設值0,白天走晚上跑 1為不跑 2為一直跑
#遊戲內一天在現實世界(三次元)時長(單位分鐘min)
#遊戲內白天的時間(單位小時h)
#玩家之間能造成的傷害,預設1.敵人0.無2.非同盟3.所有人
#玩家死亡掉落,預設0.全部 1.工具欄 2.揹包 3.刪除所有東西
#伺服器最大殭屍生成量
#伺服器最大生物生成量
#空投迴圈生成時間(單位分鐘min)
#是否空投 預設true
如果對於這裡實在不理解或者覺得麻煩的小夥伴,可以下載下方由JonasLu站主提供的編輯好的TXT檔案,將字尾改為.xml後替換原來的XML檔案即可!(注意更改檔案中的伺服器名字等等)
serverconfig預配置XML檔案下載
此檔案提供網頁監控和telnet連線你的伺服器,相關的程式碼如下:
你的伺服器公網IP地址:8080
#例如瀏覽器輸入140.210.20.188:8080即可實時監控伺服器日誌
telnet 你的伺服器公網IP地址 8081
password 1234567890
#Telnet連線並控制伺服器
配置防火牆及埠:
如果你發現開了伺服器沒有顯示或者無法連線,你可能還需要配置防火牆和埠規則。雲伺服器請在相應平臺的安全組頁面新增出入站規則,如果沒有特殊需要可以放通全部!並且關閉防火牆!(有一定風險,伺服器內有重要資料不推薦!)
埠 | 協議 | 說明 |
8080 | TCP | 遠端Web控制檯(不需要可以不放通) |
8081 | TCP | Telnet埠(這個可以不放行,本地連線) |
8082 | TCP | 伺服器管理工具埠! |
26900/26902 | UDP | 客戶端埠! |
按上表格放通埠
Telnet可以不放行,直接在伺服器中使用telnet ip 8081即可登入telnet。
要用遠端telnet連線,請在serverconfig.xml中設定好TelnetPassword後,再進行連線
啟動伺服器:
在上述檔案配好之後,在七日殺的服務端根目錄下輸入:
screen -S 7
#建立一個screen(防止在ssh斷開連線後服務端自動關閉)如果沒有可以下載!
下載安裝screen:
# RedHat/CentOS
yum install -y screen
--------------------------
# Ubuntu/Debianapt install screen //我們這裡選擇這個程式碼
./startserver.sh -configfile=serverconfig.xml
#建立Screen之後,輸入以上程式碼正式啟動伺服器!
伺服器啟動成功之後,按住Ctrl A D 將screen加入後臺執行!這樣就不會關閉伺服器了。之後你就可以開始玩啦!
當你需要回到這個sreen頁面時,使用如下指令。
screen -ls # 檢視screen,記下7的編號
screen -r 7 #檢視記錄為7的編號
關閉伺服器指令:
screen -r 7
Ctrl C
#返回相應的screen之後Ctrl C即可!
檔案路徑說明:
# 路徑取決於你自己的設定位置,大致路徑如下
~/.../7DaysToDieServer # 七日殺服務端根目錄
~/.../7DaysToDieServer/Data/Worlds # 七日殺服務端地圖目錄
~/.../.local/share/7DaysToDie/Saves # 七日殺服務端存檔目錄(重要)
~/.../7DaysToDieServer/7DaysToDieServer_Data # 七日殺伺服器日誌輸出目錄
~/.../7DaysToDieServer/Mods # Mods目錄,需要自己建立
~/.../.local/share/7DaysToDie/Saves/serveradmin.xml
# 管理員配置檔案
~/.../7DaysToDieServer/serverconfig.xml # 伺服器配置檔案
(重要)
管理伺服器:
在伺服器中安裝telnet。(也可以用Xshell或FTP的遠端連線)
# Ubuntu/Debian系統
netstat -a | grep telnet # 檢測telnet的rpm包是否安裝
sudo apt-get install xinetd telnetd # 若未安裝,則安裝telnet
telnet 你的 8081 #登入伺服器telnet
管理員的基本指令:
admin add <玩家名> <許可權級別> # 給予玩家管理許可權(最高階別為0)
admin remove <玩家名> # 移除玩家的管理許可權
admin update <玩家名> <許可權等級> #提高管理許可權級別
#建議先在telnet用上述指令給自己管理許可權
#然後就可以直接在遊戲中,按F1使用下面的指令了
dm #開啟或關閉debug模式
ban <玩家名> <時間> # 禁止玩家登陸伺服器一段時間(minutes, hours, days, weeks, months, years)
kill
listplayers lp # 獲取線上玩家資訊
give
shutdown # 關閉伺服器
say <資訊> # 以server的名義廣播一條資訊
伺服器可能的環境配置:
配置伺服器的swap:
linux系統的swap空間類似windows系統的虛擬記憶體。如果你的雲伺服器記憶體小於4G,或者卡頓嚴重,那你就必須設定一個swap空間,否則啟動伺服器時會因為記憶體不足導致程序關閉而終止伺服器。
使用swapon命令可以檢查系統是否已經配置過swap,一般雲伺服器都沒有提前設定swap。
以下所有的這些操作都在root中進行//su
swapon -s # 如果該命令沒有返回出結果,則代表該系統尚未配置過swap。
df -h # 檢查可用的儲存空間
如果沒有,按如下步驟建立Swap檔案。一般建議swap大小設定為自己實體記憶體相同或兩倍。我這裡設定了8G。
# 這些操作要在root中進行。
sudo fallocate -l 8G /swapfile # 請根據自己情況修改swap大小
ls -lh /swapfile
sudo chmod 600 /swapfile # 更改swap檔案的許可權,否則會有很大的安全隱患
ls -lh /swapfile # 然後檢查是否設定完成
啟用swap檔案
sudo mkswap /swapfile
sudo swapon /swapfile
# 確認一下設定是否已經生效
swapon -s
free -m
前面設定的swap會在重啟後失效,通過修改fstab讓配置永久生效。
sudo vim /etc/fstab
按 i 進入輸入模式,在檔案末尾加入下面這行內容。
/swapfile swap swap sw 0 0
按esc退出輸入模式,輸入 :wq 儲存退出。
swappiness引數決定了系統將資料從記憶體交換到swap空間的頻率。該數值越接近於0,系統越傾向於不進行swap,最大限度使用實體記憶體。數值越接近100,越傾向於使用swap,而過多的使用swap可能導致伺服器執行效率緩慢。ubuntu系統的預設推薦值是60,這裡我為了保證伺服器執行效率,建議設定為10。
cat /proc/sys/vm/swappiness # 檢視當前的swappiness
sudo sysctl vm.swappiness=10 #修改swappiness為10
編輯sysctl配置檔案,使其永久生效
sudo vim /etc/sysctl.conf
按 i 進入輸入模式,將以下內容貼上到檔案末尾:
vm.swappiness = 10
按esc退出輸入模式,輸入 :wq 儲存退出。
檢查安裝SteamCmd執行所需環境:
# 這些操作要在root中進行,根據你的系統選擇不同指令。
# 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