在騰訊雲主機上搭建求生之路2游戲服務器


 提示:閱讀本文可能需要命令行操作基礎。

主機配置

操作系統 CentOS 6.5 64位
CPU 1核
內存 1GB
系統盤 20GB(本地磁盤)
數據盤 30GB(本地磁盤)
公網帶寬 1Mbps

 

 

 

 

 

 

 

 

通過SSH登錄服務器

1、在主機控制台中將root用戶的密碼重置為常用密碼

2、在本地使用PuTTY客戶端連接服務器

設置如下:

塗藍色處填寫主機公網IP。默認窗口配色過於傷眼請自行修改。

3、登錄

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服務端

1、安裝32位運行庫

由於是SteamCMD只支持32位運行環境,需要另外安裝32位的C函數庫和C++函數庫。

yum install glibc.i686 libstdc++.i686

2、創建一個專用賬戶

useradd -m steamcmd passwd steamcmd

切換用戶:

su - steamcmd

從超級用戶如root,切換到一般用戶時無需輸入密碼。

3、下載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

4、啟動SteamCMD

首次運行SteamCMD會下載一些文件,鑒於連接外網的速度,請重試一萬遍或者換個時間段再試。反正下載成功后我的內心一直在默念草泥馬。

./steamcmd.sh

5、下載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進行文件傳輸

1、使用WinSCP客戶端遠程登錄

新建站點,填寫完畢后保存,登錄即可與服務器進行文件對拷。

2、配置服務器

Linux上的配置只需注意SourceModMetaMod需要下載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的安裝和使用

1、安裝

在root用戶下安裝Screen:

yum install screen

安裝完成后切換到用戶steamcmd。

2、使用

執行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

3、在screen窗口中運行L4D2服務端並分離會話

創建一個名為 “l4d2_ds” 的screen會話:

screen -S l4d2_ds

在screen窗口中運行服務端后,使用 “ctrl+a d” 執行會話分離。

現在你可以關閉你的SSH窗口,服務端會繼續運行。

服務器搭建完成。

 

 

附個人監控數據

我建的是八人多特感服務器,可見低端配置運行L4D2這破游戲還是綽綽有余的。

 

 

參考資料

1、SteamCMD - Valve Developer Community

https://developer.valvesoftware.com/wiki/Steamcmd

2、Steam Application IDs - Valve Developer Community

https://developer.valvesoftware.com/wiki/Steam_Application_IDs

3、Source Dedicated Server - Valve Developer Community

https://developer.valvesoftware.com/wiki/SRCDS

4、Linux命令nohup+screen - iTech - 博客園

http://www.cnblogs.com/itech/archive/2012/03/04/2379523.html

5、linux screen 命令詳解 - David_Tang - 博客園

http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM