CentOS CSGO服務(wù)器教程(2)搭建服務(wù)器
前篇

前篇介紹了搭建服務(wù)器的必要基礎(chǔ)準(zhǔn)備,本文就來(lái)利用LinuxGSM實(shí)踐一下如何搭建一個(gè)最簡(jiǎn)單的CSGO服務(wù)器。
1.云服務(wù)器設(shè)置
筆者使用的云服務(wù)器為騰訊云2C4T 5M帶寬,服務(wù)器OS部署如下

2.LinuxGSM部署
接下來(lái)部署LinuxGSM,搭建CSGO服務(wù)器
部署過(guò)程參考自LinuxGSM文檔
https://linuxgsm.com/servers/csgoserver/
利用PuTTY以root身份登陸至云服務(wù)器

配置LinuxGSM所需的EPEL環(huán)境

配置安裝服務(wù)器所需的工具
注意:官方文檔中遺漏了nmap-ncat

前篇 CV14253977 中介紹了如何配置hosts,這里不再贅述。另一種獲取ip的方式是通過(guò)ip查詢網(wǎng)站由域名直接得到ipv4 address。


由于LinuxGSM無(wú)法部署在root用戶下,故需要新建csgoserver用戶,并將服務(wù)器部署過(guò)程轉(zhuǎn)至該賬戶中,過(guò)程如下:

切換至csgoserver用戶后,下載LinuxGSM所需腳本

腳本安裝完成后,執(zhí)行

安裝過(guò)程中,因?yàn)橄螺d速度或者h(yuǎn)ost問(wèn)題,如果出現(xiàn)error可以按ctrl+c取消安裝,然后重新鍵入./csgoserver install安裝即可

出現(xiàn)這一步的時(shí)候,證明已經(jīng)在下載服務(wù)器文件了,此時(shí)只需要靜靜等候下載完畢即可。

安裝完畢后,會(huì)詢問(wèn)安裝是否結(jié)束,輸入“Y”,之后會(huì)詢問(wèn)時(shí)候輸入GSLT,這里可以選擇不填,因?yàn)樵谥笈渲脜?shù)時(shí)會(huì)涉及這部分。

安裝完畢后,即可啟動(dòng)服務(wù)器

但此時(shí)由于未配置GSLT,此時(shí)的服務(wù)器只能在局域網(wǎng)連接,無(wú)法在公網(wǎng)開(kāi)放
3.參數(shù)設(shè)置
3.1 LinuxGSM常用命令介紹
3.2 配置LGSM下的csgoserver.cfg
利用WinSCP連接至云服務(wù)器,進(jìn)入到/home/csgoserver/lgsmconfig-lgsm/csgoserver目錄下

運(yùn)行./csgoserver start 會(huì)讀取文件夾中的csgoserver.cfg這里的cfg是空文件,需要參照_default.cfg中的內(nèi)容進(jìn)行修改。
打開(kāi)common.cfg,將其中的內(nèi)容復(fù)制到csgoserver.cfg

Predefined Parameters部分預(yù)設(shè)了各種模式對(duì)應(yīng)的gametype、gamemode參數(shù),例如官匹對(duì)應(yīng)著gametype=0,gamemode=1。
mapgroup決定著地圖組(地圖循環(huán))
defaultmap則決定了服務(wù)器開(kāi)啟或刷新時(shí)的默認(rèn)地圖。
maxplayer、tickerate等參數(shù)不再解釋。
gslt處,可參照前篇 CV14253977 將獲取的令牌(Token)填入;wsapikey同理。
3.3 啟動(dòng)項(xiàng)參數(shù)
這部分將啟動(dòng)項(xiàng)參數(shù)單獨(dú)拎出來(lái)講解,LinuxGSM提供的默認(rèn)參數(shù)如下
這里講解一些有用的參數(shù),命令后面的{xxx}代表參數(shù)出現(xiàn)在該命令外(詳見(jiàn)csgoserver.cfg)
-usercon 允許從控制臺(tái)控制服務(wù)器
-ip 服務(wù)器映射ip地址 云服務(wù)器由127.0.0.1映射到公網(wǎng)ip,故此處不需要再映射,為0.0.0.0
+sv_setsteamaccount? 添加gslt令牌
-tickrate 服務(wù)器的有效幀數(shù),即服務(wù)器每秒鐘讀取游戲的狀態(tài)次數(shù)。常見(jiàn)的tickrate為128,64,demo的tickrate為32。
+servercfgfile 服務(wù)器控制文件,該部分將在下一篇文章中提及,這里按下不表
-maxplayers_override 最大玩家人數(shù)
+mapgroup 地圖組
+game_type ?+game_mode 上文3.2部分已提及過(guò)
-authkey 此處填寫wsapikey,供玩家下載地圖
-nobreakpad? 保持舊版本插件可用性
此處再補(bǔ)充三個(gè)重要參數(shù)
-nobots 禁止服務(wù)器出現(xiàn)bot
-nomaster 隱匿服務(wù)器的公網(wǎng)IP(防止別人隨意連接、外部攻擊)
+sv_pure 0 全體白名單,避免被拒絕加入服務(wù)器
經(jīng)過(guò)以上步驟,設(shè)置一個(gè)128tick,10人官匹服務(wù)器的啟動(dòng)項(xiàng)大致為
3.4 運(yùn)行服務(wù)器
經(jīng)過(guò)以上的修改后,再次運(yùn)行服務(wù)器

打開(kāi)CSGO,按“~”鍵(tab上鍵)調(diào)出控制臺(tái),輸入
進(jìn)入服務(wù)器

4.補(bǔ)充
4.1 更新時(shí)出現(xiàn)的0x202錯(cuò)誤
在執(zhí)行
更新時(shí),出現(xiàn)錯(cuò)誤,報(bào)錯(cuò)信息如下
原因是現(xiàn)有服務(wù)器大小+更新包大小>服務(wù)器磁盤大小
建議對(duì)服務(wù)器系統(tǒng)進(jìn)行清理,刪除csgo目錄下的一些地圖文件(map)
4.2 CentOS 7.6版本的內(nèi)核問(wèn)題
在CentOS 7.6版本下安裝LinuxGSM后,后期會(huì)出現(xiàn)無(wú)法正常更新服務(wù)器的情況。經(jīng)查,是由于Kernel內(nèi)核版本過(guò)低所致(懷疑7.6之前版本也會(huì)出現(xiàn)同樣問(wèn)題),需要經(jīng)過(guò)如下步驟解決
4.3 GSLT失效問(wèn)題
在很久沒(méi)有使用CSGO服務(wù)器時(shí),會(huì)出現(xiàn)啟動(dòng)服務(wù)器正常,但連接服務(wù)器一直掉線的情況

一種可能的原因是GSLT過(guò)期,此時(shí)參照前篇 CV14253977 中的方法,重新申請(qǐng)GSLT并填入即可?
本文主要介紹了利用LinuxGSM搭建CSGO服務(wù)器的過(guò)程,在下篇中會(huì)向大家介紹SourceMod&MetaMod、插件的部署及cfg的修改