基于Centos7.X的CS:GO私人服務器搭建

最近比較喜歡和同學玩創(chuàng)意工坊地圖,但是和同學不在同一個局域網(wǎng)。任何一個人的電腦做主機延遲和loss都非常的高,玩起來體驗非常的差。正好阿里云的服務器可以以每月9.5元的學生價搞到一臺云服務器,因此我便開始研究如何搭建私人的CS:GO服務器。在參考了Wilf的博客之后,我成功地搭建了自己的游戲服務器,在此十分感謝Wilf!

下面正式開始服務器搭建

一. 創(chuàng)建新用戶,安裝steamcmd,安裝CS:GO服務端

1. 使用ssh以root用戶身份登錄到服務器,創(chuàng)建名為steam的用戶,并切換到該用戶和該用戶的根目錄下(用戶名可以自行選擇,但在后續(xù)的操作中,路徑需要進行替換)
useradd -m steam    // 添加名為steam的用戶
su steam    // 切換到steam用戶
cd /home/steam/    // 切換到steam用戶的根目錄下
2. 創(chuàng)建名為steamcmd的文件夾,下載steamcmd并解壓
mkdir steamcmd    //創(chuàng)建名為steamcmd的文件夾
cd steamcmd/    // 切換到文件夾目錄下
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz    //下載steamcmd
tar zxvf steamcmd_linux.tar.gz    // 解壓steamcmd
rm steamcmd_linux.tar.gz    //刪除下載的安裝包,也可以保留
3. 安裝運行steamcmd所需的環(huán)境,運行steamcmd并安裝CS:GO服務端
sudo yum install glibc.i686    // 安裝steamcmd運行所需的庫
sudo yum install libstdc++.i686    // 有的主機已經(jīng)安裝其他同樣效果的依賴,不用多次安裝
./steamcmd.sh

在操作無誤的情況下,看到下面的命令行之后,steamcmd就安裝完成了

steamcmd成功安裝

接下來便是在steamcmd中安裝CS:GO
以匿名用戶身份登錄steamcmd

login anonymous

創(chuàng)建CS:GO服務器文件夾,該文件夾在steamcmd文件夾目錄下

force_install_dir ./csgo_server

安裝csgo服務端(15分鐘左右)

app_update 740 validate

在看到如下圖片中最后的行的"Success!"后,表明CS:GO服務端安裝成功(此處使用了更新成功的圖片,但同樣是"Success!"字樣)

安裝(更新)成功

安裝完成后,退出steamcmd

quit

二. 編寫CS:GO更新腳本(可選)

1. 編寫steamcmd的runscript腳本

在steamcmd目錄下(退出steamcmd.sh后的當前目錄),使用vim創(chuàng)建新的update.txt文件

vi update.txt

進入編輯模式,寫入以下語句,然后保存退出

login anonymous
force_install_dir ./csgo_server
app_update 740
quit
2. 編寫steamcmd運行腳本

在steamcmd目錄下,使用vim創(chuàng)建新的csgo_server_update.sh文件

vi csgo_server_update.sh

進入編輯模式,寫入以下語句后保存退出

#!/bin/bash
./steamcmd.sh +runscript update.txt
3. 測試腳本

在steamcmd目錄下運行腳本csgo_server_update.sh

./csgo_server_update.sh

若運行結(jié)果如下所示,則更新腳本編寫完成,以后可以直接使用該命令一鍵更新CS:GO服務器

CS:GO更新腳本

若出現(xiàn)了權(quán)限不足的情況,提升權(quán)限再次運行即可

chmod 775 csgo_server_update.sh

三. 配置并運行CS:GO服務端

1. 前往Steam游戲服務器帳戶管理注冊steam服務器登錄令牌。沒有該令牌服務器只能在本地網(wǎng)絡(luò)中進行連接,在社區(qū)服務器瀏覽器中也不會顯示。(網(wǎng)站可能無法連接,推薦使用Steamcommunity 302工具修復連接問題)

在App ID中填入CS:GO的ID:730。備忘錄中填入:CSGO服務端令牌(選填)

填寫App ID

點擊創(chuàng)建之后便獲得了登錄令牌,不要將該令牌泄露出去,該令牌用于服務器在CS:GO社區(qū)服務器中驗證

2. 下載服務器配置文件server.cfg

切換目錄到CS:GO的cfg文件夾下,下載server.cfg文件,編輯server.cfg文件

cd csgo_server/csgo/cfg/
wget http://www.csgodev.com/downloads/server.cfg
vi server.cfg

進入編輯模式,在server.cfg文件中添加登錄令牌,修改部分參數(shù)(這部分一定要改,不然很影響游戲體驗!)

// 新增以下參數(shù):
// steam account,修改為自己剛剛申請的登陸令牌
sv_setsteamaccount "4FXXXXXXXXXXXXXXXXXXXXXXXXX"

// 找到并修改以下參數(shù):
// 服務器名稱,安全方面
hostname "Fisher's server"    // 服務器在社區(qū)服務器瀏覽器上顯示的名稱,自行修改為喜歡的名字
rcon_password "12345678"    // CS:GO遠程控制臺密碼,修改為自己定義的密碼
sv_password "87654321"    // 服務器連接密碼,在連接服務器時輸入,不要密碼可以留空
// 游戲參數(shù)方面
sv_maxrate "128000"    // 服務器最大帶寬使用量,默認值非常小,因此會造成choke值異常,此處建議改為128000
sv_minrate "80000"    // 服務器最小帶寬使用量,與上面同理,此處建議改為80000
sv_accelerate "5.5"    // 人物移動速度,默認值為10,快到惡心,此處建議修改為5.5

最關(guān)鍵的參數(shù)在下圖已經(jīng)用紅筆圈出來了

服務器配置

修改完以上參數(shù)之后,服務器便可以啟動了,關(guān)于server.cfg中的其他參數(shù)說明,可以在server.cfg文件的注釋中查看,也可以前往CSGODev查看

3. 開放UDP 27015端口

前往阿里云服務器防火墻控制面板,添加防火墻規(guī)則

開放端口

4. 安裝screen,啟動CS:GO服務器

安裝screen,以便CS:GO服務進程在后臺運行

sudo install screen

返回csgo_server目錄,使用screen創(chuàng)建新的會話

cd /home/steam/steamcmd/csgo_server/
screen -S csgo

注意:當screen會話未結(jié)束時,在下次ssh登陸時可以使用命令"screen -r csgo"來恢復會話
此時屏幕會清屏,說明你成功進入到"csgo"這個會話當中,這時開始啟動服務器

./srcds_run -debug -game csgo -console -port 27015 -steamcmd_script /home/steam/steamcmd/update.txt -steam_dir /home/steam/ +map de_dust2

若系統(tǒng)提示沒有srcds_run這個文件,則是你當前的文件夾目錄不正確

參數(shù)解釋:
-debug 開啟調(diào)試模式
-game 指明游戲,此處是csgo
-console 打開游戲控制臺
-port 游戲服務器端口,此處是27015
-steamcmd_script 運行steamcmd的腳本文件地址
-steam_dir Steam的安裝地址
+map 服務器加載的地圖(此處只能用官方地圖,創(chuàng)意工坊地圖請看后面)

當看到如下圖所示的界面之后,說明服務器成功地運行,可以在游戲中連接了

服務器啟動成功

記下紅圈中的服務器IP地址,等會要用

四. 在游戲中連接服務器

1. 由于國服的社區(qū)服務器瀏覽器和世界服的不一樣,世界服現(xiàn)在也免費了,因此目前我們使用世界服進行連接。(關(guān)于如何切換到世界服,請自行百度)
2. 打開社區(qū)服務器瀏覽器,點擊“收藏夾選項卡”,輸入服務器IP地址,點擊“在此地址上查找游戲”,然后選擇找到的服務器,點擊“將選定游戲服務器添加至收藏夾”
服務器搜索與添加
3. 連接服務器,雙擊收藏夾中剛剛添加的服務器,輸入密碼即可,注意輸入法
加入服務器
4. Enjoy!

PS:實測4人在64tick情況下,loss和choke基本為0%,延遲穩(wěn)定在25ms左右

連接延遲

五. 使用社區(qū)地圖

1. 注冊Steam網(wǎng)頁API

前往Steam網(wǎng)頁API注冊頁面注冊API,獲得Authkey(注意不要泄露出去)

獲得Authkey

2. 獲取創(chuàng)意工坊地圖ID

在steam的創(chuàng)意工坊中打開自己想要的地圖的頁面,復制瀏覽器地址上的ID。比如說,aim_map_c的地圖ID是465367694

獲取地圖ID

3. 啟動服務器

在csgo_server文件夾中輸入命令

./srcds_run -debug -game csgo -console -port 27015 -steamcmd_script /home/steam/steamcmd/update.txt -steam_dir /home/steam/ +host_workshop_map 465367694 -authkey 3XXXXXXXXXXXXXXXXXXXXXXX

相同的參數(shù)在之前有解釋,這里只解釋新的參數(shù):
+host_workshop_map 465367694 切換地圖為來自創(chuàng)意工坊的地圖,后面的數(shù)字填入剛剛獲取的地圖ID
-authkey 3XXXXXXXXXX Steam網(wǎng)頁API的Authkey,填入剛剛獲取的API Authkey

若看到以下Log,則表示服務器切換到創(chuàng)意工坊的地圖成功

服務器成功切換到創(chuàng)意工坊地圖

按照上面的步驟再次連接服務器,就會發(fā)現(xiàn)服務器地圖切換為創(chuàng)意工坊的地圖了,Enjoy!

4. 更換地圖

如果不想通過重啟服務器的方法來更換地圖,可以在服務器控制臺中輸入以下命令:

changelevel XXXX    // XXXX可以是創(chuàng)意工坊地圖ID,也可以是官方地圖名字
服務器后臺直接更換地圖
5. 更多

更多關(guān)于創(chuàng)意工坊地圖的命令,可以參考官方給出的文檔:CSGO_Workshop_For_Server_Operators

六. 添加Mod和插件

因為我只和同學玩玩普通的創(chuàng)意工坊地圖,不需要打Mod,因此這里我并沒有做更多的研究。在此引用Wilf博客中的教程,有興趣的人可以去研究一下

常用插件為sourcemod和metamod,裝了這倆之后才能裝滿十,kz,僵尸等等插件。
其它有用的插件比如warmod等等可以在x社區(qū)找到,安裝方法一般是放在cfg以及addon文件夾內(nèi),使用方法在插件原文里說明的也比較詳細,這里給出網(wǎng)址不贅述了。
https://www.sourcemod.net
https://www.metamodsource.net
https://bbs.93x.net

七. 總結(jié)

1. 至此,CS:GO私人服務器的搭建就完成了,可以與同學愉快地玩耍了。要想讓服務器在后臺繼續(xù)運行,直接斷開ssh連接即可。在下次ssh連接登錄后,想要恢復之前的screen會話,輸入以下命令即可:
screen -r csgo
2. 教程中用到網(wǎng)址匯總
網(wǎng)址 介紹
https://wilfoo.com/?p=92https://wilfoo.com/?p=92 Wilf的博客
https://steamcommunity.com/dev/managegameservers Steam 游戲服務器帳戶管理
http://csgodev.com/csgodev-server-cfg-for-csgo/ CS:GO配置文件來源
https://steamcommunity.com/dev/apikey Steam網(wǎng)頁API注冊
https://developer.valvesoftware.com/wiki/CSGO_Workshop_For_Server_Operators 創(chuàng)意工坊地圖操作手冊
https://www.sourcemod.net Mod插件
https://www.metamodsource.net Mod插件
https://bbs.93x.net Mod插件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容