阿里雲Centos7部署私人CSGO服務器


大四畢業生,論文和答辯分別以1.8%的重復率和只答不辨的態度雙雙過關。現在就是在家等着學校發畢業證了。順帶學學駕駛。。。可是我這么一個喜歡折騰的人,怎么能夠讓自己接受這么無聊的咸魚時光呢?因為這個寒假和學弟一起學習技術的同時接觸到了CSGO的這款游戲,說起CS那可是老FPS游戲了!在官方匹配和5E我都有涉足,但是不滿於此!我要搭建一個自己的服!務!器!這樣開啟自己的創意工坊地圖小伙伴們就不會變成高Ping戰士啦!這邊參考了這位大佬的經驗再加上我自己遇到的一些狀況。

話不多說下面成列一下需要用到的資源

1.一台有公網IP的雲服務器(或者你自己有公網IP,辣蒜你牛批)
2.Xshell
3.一個善於鑽研的腦子

下面正式開始

一、創建用戶安裝Steamcmd和CSGO Server

1、在服務器上創建一個用戶名稱為steam(因為root的權限過大可能會出現什么意外情況)並創建相關目錄

useradd -m steam    // 添加名為steam的用戶
su steam    		// 切換到steam用戶
cd /home/steam/     // 切換到steam用戶的根目錄下

2、創建名為steamcmd的文件夾,下載steamcmd並解壓

mkdir steamcmd  															  //創建名為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所需的環境,運行steamcmd並安裝CS:GO服務端

sudo yum install glibc.i686        // 安裝steamcmd運行所需的庫
sudo yum install libstdc++.i686    // 有的主機已經安裝其他同樣效果的依賴,不用多次安裝
./steamcmd.sh					   // 啟動

出現Steam> ,說明steamcmd就安裝完成

在這里插入圖片描述

接下來就是在Steamcmd里面安裝CSGO Server

以匿名用戶身份登錄Steamcmd
login anonymous
創建CS:GO服務器文件夾,該文件夾在steamcmd文件夾目錄下
force_install_dir ./csgo_server
安裝csgo服務端(15分鍾左右)
app_update 740 validate

在看到如下圖片中最后的行的"Success!"后,表明CS:GO服務端安裝成功

在這里插入圖片描述

安裝完成后,退出Steamcmd
quit

二、編寫CS:GO更新腳本(最好做一下)

1、編寫steamcmd的runscript腳本

在steamcmd目錄下(退出steamcmd.sh后的當前目錄),使用vim創建新的update.txt文件
vi update.txt
進入編輯模式,寫入以下語句,然后保存退出
login anonymous
force_install_dir ./csgo_server
app_update 740
quit

2、編寫steamcmd運行腳本

在steamcmd目錄下,使用vim創建新的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
若運行結果如下所示,則更新腳本編寫完成,以后可以直接使用該命令一鍵更新CS:GO服務器

在這里插入圖片描述

若出現了權限不足的情況,提升權限再次運行即可
chmod 775 csgo_server_update.sh

如果實在不行可以直接使用Root來啟動!

三、配置並運行CS:GO服務端

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

在App ID中填入CS:GO的ID:730。備忘錄中填入:CSGO服務端令牌(選填)
在這里插入圖片描述

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

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文件中添加登錄令牌,修改部分參數(這部分一定要改,不然很影響游戲體驗!)
// 新增以下參數:
// steam account,修改為自己剛剛申請的登陸令牌
sv_setsteamaccount "4FXXXXXXXXXXXXXXXXXXXXXXXXX"

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

注意啊!steam account一定要添加,hostname可以改成自己喜歡的,rcon_password也要設,sv_password也要設

修改完以上參數之后,服務器便可以啟動了,關於server.cfg中的其他參數說明,可以在server.cfg文件的注釋中查看,或者自己百度

3、對了,別忘了把你服務器的27015的udp協議端口開下來

各個雲服務器有各自的手段,這個自行解決一下

4、為了能讓你常駐CSGO Server ,那就要使用Screen這個工具了

安裝
yum install screen -y
返回csgo_server目錄,使用screen創建新的會話
cd /home/steam/steamcmd/csgo_server/
screen -S csgo
注意:當screen會話未結束時,在下次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

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

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

在這里插入圖片描述

記住紅圈里的IP也就是你的雲服務器公網地址

四、在游戲中連接服務器

一定要在—worldwide的世界服才行

在游戲中打開瀏覽社區服服務器,右鍵收藏夾添加IP
在這里插入圖片描述

連接服務器,雙擊收藏夾中剛剛添加的服務器,輸入密碼即可,注意輸入法

在這里插入圖片描述

然后你就可以盡情享受你的私人服務器了!

五、添加社區創意工坊地圖

1、注冊Steam網頁API

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

2、獲取創意工坊地圖ID

在瀏覽器打開你中意的創意工坊地圖,看地址欄后id=XXXXXX,記得復制他
在這里插入圖片描述

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

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

啟動好之后和官方地圖的提示信息是一樣的哦

這邊我總結一下自己遇到的情況,我在啟動過官方地圖后再啟動創意工坊地圖就直接連接失敗。試了很多次。所以如果出現問題后,直接將你的服務器reboot或者init 6一下。然后重新啟動你的CSGO Server直接開啟創意工坊地圖,等待片刻,然后再連接即可!

六、總結

使用Screen使得CSGO Server常駐之后可以斷開SSH連接,下次連接SSH時

screen -r csgo

可以繼續操作服務端了。

附:(一些常用的CSGO Server指令)

切換地圖
changelevel de_train(地圖名或者創意工坊地圖的ID)
所有官方地圖 
PENDING:   (fs) training1.bsp
PENDING:   (fs) gd_rialto.bsp
PENDING:   (fs) gd_cbble.bsp
PENDING:   (fs) dz_sirocco.bsp
PENDING:   (fs) dz_junglety.bsp
PENDING:   (fs) dz_blacksite.bsp
PENDING:   (fs) de_vertigo.bsp
PENDING:   (fs) de_train.bsp
PENDING:   (fs) de_sugarcane.bsp
PENDING:   (fs) de_stmarc.bsp
PENDING:   (fs) de_shortnuke.bsp
PENDING:   (fs) de_shortdust.bsp
PENDING:   (fs) de_safehouse.bsp
PENDING:   (fs) de_overpass.bsp
PENDING:   (fs) de_nuke.bsp
PENDING:   (fs) de_mirage.bsp
PENDING:   (fs) de_lake.bsp
PENDING:   (fs) de_inferno.bsp
PENDING:   (fs) de_dust2.bsp
PENDING:   (fs) de_chlorine.bsp
PENDING:   (fs) de_cbble.bsp
PENDING:   (fs) de_canals.bsp
PENDING:   (fs) de_cache.bsp
PENDING:   (fs) de_bank.bsp
PENDING:   (fs) de_anubis.bsp
PENDING:   (fs) cs_office.bsp
PENDING:   (fs) cs_militia.bsp
PENDING:   (fs) cs_italy.bsp
PENDING:   (fs) cs_assault.bsp
PENDING:   (fs) cs_agency.bsp
PENDING:   (fs) coop_kasbah.bsp
PENDING:   (fs) ar_shoots.bsp
PENDING:   (fs) ar_monastery.bsp
PENDING:   (fs) ar_lunacy.bsp
PENDING:   (fs) ar_dizzy.bsp
PENDING:   (fs) ar_baggage.bsp


免責聲明!

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



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