提示:閱讀本文可能須要命令行操做基礎。 |
主機配置html
操做系統 | CentOS 6.5 64位 |
CPU | 1核 |
內存 | 1GB |
系統盤 | 20GB(本地磁盤) |
數據盤 | 30GB(本地磁盤) |
公網帶寬 | 1Mbps |
經過SSH登陸服務器linux
一、在主機控制檯中將root用戶的密碼重置爲經常使用密碼c++
二、在本地使用PuTTY客戶端鏈接服務器centos
設置以下:安全
塗藍色處填寫主機公網IP。默認窗口配色過於傷眼請自行修改。服務器
三、登陸app
login as: root
root@XXX.XXX.XXX.XXX.XXX's password:
Last login: Wed Mar 15 00:58:56 2017 from *delete*
[root@VM_130_240_centos ~]#
部署SteamCMD和L4D2服務端函數
一、安裝32位運行庫網站
因爲是SteamCMD只支持32位運行環境,須要另外安裝32位的C函數庫和C++函數庫。ui
yum install glibc.i686 libstdc++.i686
二、建立一個專用帳戶
useradd -m steamcmd passwd steamcmd
切換用戶:
su - steamcmd
從超級用戶如root,切換到通常用戶時無需輸入密碼。
三、下載SteamCMD
建立並進入SteamCMD的安裝目錄後,下載tar包。
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz --no-check-certificate
--no-check-certificate是不檢查安全網站證書的參數。
解壓:
tar -zxvf steamcmd_linux.tar.gz
四、啓動SteamCMD
首次運行SteamCMD會下載一些文件,鑑於鏈接外網的速度,請重試一萬遍或者換個時間段再試。反正下載成功後個人心裏一直在默唸草泥馬。
./steamcmd.sh
五、下載Left 4 Dead 2 Dedicated Server
Left 4 Dead 2 Dedicated Server是L4D2服務端,Steam應用ID爲222860。
匿名登陸Steam後下載,默認安裝目錄在/home/steamcmd/Steam/steamapps/common/Left 4 Dead 2 Dedicated Server。
同理,請重試一萬遍,不過能夠續傳,我的以爲比更新SteamCMD容易多了。
Steam>login anonymous Connecting anonymously to Steam Public...Logged in OK Waiting for license info...OK Steam>app_update 222860 validate
下載完成後執行quit退出SteamCMD。
經過SCP進行文件傳輸
一、使用WinSCP客戶端遠程登陸
新建站點,填寫完畢後保存,登陸便可與服務器進行文件對拷。
二、配置服務器
Linux上的配置只需注意SourceMod和MetaMod須要下載Linux版本,其他的與Windows大同小異,暫且不表。
運行服務端
進入服務端的安裝目錄後運行服務端。基本命令以下:
./srcds_run -game left4dead2 +hostport 25252
可選參數:
+map <map>,設置首張地圖,缺省爲c1m1_hotel;
-secure,開啓VAC驗證;
-condebug,開啓記錄日誌,在left4dead2文件夾下生成console.log記錄文件;
+exec server.cfg,加載/left4dead2/cfg/server.cfg。
服務器IP就是你的主機公網IP,在L4D2客戶端中打開控制檯執行 「connect xxx.xxx.xxx.xxx:25252」 便可加入遊戲。
持續運行服務端須要保持SSH鏈接,關閉SSH窗口後服務端隨即關閉。
理解這個問題僅需明白進程樹的概念,須要深刻理解可見參考資料第4條。
簡單的命令能夠用nohup命令解決,在當前狀況下須要用到GNU Screen。
GNU Screen的安裝和使用
一、安裝
在root用戶下安裝Screen:
yum install screen
安裝完成後切換到用戶steamcmd。
二、使用
執行screen能夠建立一個新新窗口,在screen窗口中可以使用 「ctrl+a ?」 查看全部命令。
使用 「ctrl+a d」 會使當前screen窗口分離(detach)爲獨立的會話。會話分離後即便斷開SSH鏈接,原先在screen窗口中執行的命令會繼續執行。
查看當前的screen會話並恢復:
[steamcmd@VM_130_240_centos ~]# screen -ls There is a screen on: 13235.pts-0.VM_130_240_centos (Detached) 1 Socket in /var/run/screen/S-root. [steamcmd@VM_130_240_centos ~]# screen -r 13235
三、在screen窗口中運行L4D2服務端並分離會話
建立一個名爲 「l4d2_ds」 的screen會話:
screen -S l4d2_ds
在screen窗口中運行服務端後,使用 「ctrl+a d」 執行會話分離。
如今你能夠關閉你的SSH窗口,服務端會繼續運行。
服務器搭建完成。
附我的監控數據
我建的是八人多特感服務器,可見低端配置運行L4D2這破遊戲仍是綽綽有餘的。
參考資料
一、SteamCMD - Valve Developer Community
https://developer.valvesoftware.com/wiki/Steamcmd
二、Steam Application IDs - Valve Developer Community
https://developer.valvesoftware.com/wiki/Steam_Application_IDs
三、Source Dedicated Server - Valve Developer Community
https://developer.valvesoftware.com/wiki/SRCDS
四、Linux命令nohup+screen - iTech - 博客園
http://www.cnblogs.com/itech/archive/2012/03/04/2379523.html
五、linux screen 命令詳解 - David_Tang - 博客園
http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html