CS:GO開服架設服務器搭建游戲配置方法教程教學

CS:GO開服架設服務器搭建游戲配置方法教程教學
?
基于Centos7.X的CS:GO私人服務器搭建
大家好我是艾西今天跟大家分享一下自己個人怎么用服務器搭建CS:GO steam游戲架設方法及步驟,需要準備那些東西。
服務器、Xshell遠程軟件、FileZilla、API密鑰 & 服務器登錄令牌、
部署:連接服務器、部署、更新腳本、下載安裝插件
?

?
準備服務器:
服務器(服務器是必備的,當然自己家的電腦可以搭建起來嗎?我的答案是可以。我建議用服務器,因為24小時全天運行,且穩(wěn)定有專業(yè)的機房人員管理,機房的濕度溫度以及磁場等因素都是決定機器網絡正常運行的關鍵。自家電腦搭建起來很卡自己玩玩學習一下還是可以的,但是想游戲運行順暢個人建議用服務器架設搭建游戲)我這里用Centos7.X做演示
配置越高的服務器對于游戲的整體運營以及游戲體驗都會有很大的提升,有能力的可以直接上I9游戲高頻系列
?
下面正式開始服務器搭建
一. 創(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 ???// 有的主機已經安裝其他同樣效果的依賴,不用多次安裝
./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
若運行結果如下所示,則更新腳本編寫完成,以后可以直接使用該命令一鍵更新CS:GO服務器

?
CS:GO更新腳本
若出現(xiàn)了權限不足的情況,提升權限再次運行即可
chmod 775 csgo_server_update.sh
?

三. 配置并運行CS:GO服務端
1. 前往Steam游戲服務器帳戶管理注冊steam服務器登錄令牌。沒有該令牌服務器只能在本地網絡中進行連接,在社區(qū)服務器瀏覽器中也不會顯示。(網站可能無法連接,推薦使用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
最關鍵的參數(shù)在下圖已經用紅筆圈出來了
?

?
服務器配置
修改完以上參數(shù)之后,服務器便可以啟動了,關于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會話未結束時,在下次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?開啟調試模式
-game?指明游戲,此處是csgo
-console?打開游戲控制臺
-port?游戲服務器端口,此處是27015
-steamcmd_script?運行steamcmd的腳本文件地址
-steam_dir?Steam的安裝地址
+map?服務器加載的地圖(此處只能用官方地圖,創(chuàng)意工坊地圖請看后面)
當看到如下圖所示的界面之后,說明服務器成功地運行,可以在游戲中連接了

?
服務器啟動成功
記下紅圈中的服務器IP地址,等會要用
四. 在游戲中連接服務器
1. 由于國服的社區(qū)服務器瀏覽器和世界服的不一樣,世界服現(xiàn)在也免費了,因此目前我們使用世界服進行連接。(關于如何切換到世界服,請自行百度)
2. 打開社區(qū)服務器瀏覽器,點擊“收藏夾選項卡”,輸入服務器IP地址,點擊“在此地址上查找游戲”,然后選擇找到的服務器,點擊“將選定游戲服務器添加至收藏夾”

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

?
?
加入服務器
4. Enjoy!
PS:實測4人在64tick情況下,loss和choke基本為0%,延遲穩(wěn)定在25ms左右

?
連接延遲
五. 使用社區(qū)地圖
1. 注冊Steam網頁API
前往Steam網頁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網頁API的Authkey,填入剛剛獲取的API Authkey
?
若看到以下Log,則表示服務器切換到創(chuàng)意工坊的地圖成功
?
服務器成功切換到創(chuàng)意工坊地圖
按照上面的步驟再次連接服務器,就會發(fā)現(xiàn)服務器地圖切換為創(chuàng)意工坊的地圖了,Enjoy!
4. 更換地圖
如果不想通過重啟服務器的方法來更換地圖,可以在服務器控制臺中輸入以下命令:
changelevel XXXX ???// XXXX可以是創(chuàng)意工坊地圖ID,也可以是官方地圖名字

?
服務器后臺直接更換地圖
5.更多關于創(chuàng)意工坊地圖的命令,可以參考官方給出的文檔:CSGO_Workshop_For_Server_Operators
六. 添加Mod和插件
有興趣的人可以找我
常用插件為sourcemod和metamod,裝了這倆之后才能裝滿十,kz,僵尸等等插件。
需求:滿十競技服務器,可自定義皮膚、手套
1.需要用到的插件以及網站
Sourcemod
Metamod
滿十
皮膚
手套
multi1v1(如果想搭建1v1服務器,就把此插件替換滿十)
?
下載
sourcemod
?
metamod
?
pugsetup
?
?
weapons和gloves與上述步驟相同。
全部下載完成并解壓。注意:.tar.gz格式的文件解壓一次為.tar,需打開tar文件夾再解壓里面的文件一次。
?
?
打開sourcemod-1.10.0-git6539-linux\addons\sourcemod\configs\core.cfg,將最后一項"FollowCSGOServerGuidelines" "yes"中的yes改為no。否則皮膚插件無效。
3. 上傳至服務器
打開filezilla,“文件”→“站點管理器”,新站點,協(xié)議選擇SFTP,主機填寫自己服務器的公網IP地址,用戶為之前創(chuàng)建的csgo。連接。
?
?
右邊的遠程站點進入/home/csgo/steamcmd/csgo_server/csgo,左邊的本地站點進入具體的插件文件夾內。選中cfg和addons文件夾,并上傳。
同樣地,把所有的插件的cfg文件夾和addons文件夾都上傳至/home/csgo/steamcmd/csgo_server/csgo。
?
4./home/csgo/steamcmd/csgo_server/csgo/addons/sourcemod/configs/admins_simple.ini 文件可以添加添加sourcemod的admin管理員用戶,格式為
“STEAM_1:1:122170925” “z”
“STEAM_1:1:528138521” “z”
“STEAM_1:1:223831180” “z”
“STEAM_1:1:445039989” “z”
“STEAM_1:1:451545623” “z”
“STEAM_1:0:521375560” “z”
“STEAM_1:1:440635526” “z”
“STEAM_1:0:246580798” “z”
“STEAM_1:0:546754288” “z”
“STEAM_1:0:124344904” “z”
左側為steamid,進入游戲房間,打開控制臺輸入status即可看見當前房間所有玩家的steamid。
?
5.進入控制臺,編輯服務器參數(shù)文件。
[csgo@VM-16-4-centos steamcmd]$ vim /home/csgo/steamcmd/csgo_server/csgo/cfg/autoexec.cfg
sv_setsteamaccount “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX” //填入服務器登錄令牌
hostname “csgoserver” //修改服務器名稱
rcon_password “123” //服務器OP密碼
sv_password “123” //設置服務器加入密碼(可選)
sv_maxcmdrate “200” // 服務器cmd最大帶寬使用量
sv_maxrate “786432” // 服務器最大帶寬使用量,默認值非常小,因此會造成choke值異常,此處建議改為128000
sv_mincmdrate “10” // 服務器cmd最小帶寬使用量
sv_minrate “80000” // 服務器最小帶寬使用量,與上面同
理,此處建議改為80000
sv_sendvelocity “1”
?
6.編寫啟動指令
vim /home/csgo/steamcmd/csgo_server/start5.sh
./srcds_run -game csgo -tickrate 128 -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2 -maxplayers_override 14
添加執(zhí)行權限
[csgo@VM-16-4-centos csgo_server]$ chmod +x /home/csgo/steamcmd/csgo_server/start5.sh
?
7.啟動服務器
新建screen
[csgo@VM-16-4-centos csgo_server]$ screen -S csgo
啟動服務器
[csgo@VM-16-4-centos csgo_server]$ /home/csgo/steamcmd/csgo_server/start5.sh
?
注意:screen 的用法具體自行搜索,常用的有
退出當前screen但程序繼續(xù)運行——按住ctrl的同時先點擊A,再點擊D。
列出所有screen——screen -ls
刪除screen——screen -S ### -X quit
其它有用的插件比如warmod等等可以在x社區(qū)找到,安裝方法一般是放在cfg以及addon文件夾內,使用方法在插件原文里說明的也比較詳細,這里我就給大家略過了。
?至此,CS:GO私人服務器的搭建就完成了。要想讓服務器在后臺繼續(xù)運行,直接斷開ssh連接即可。在下次ssh連接登錄后,想要恢復之前的screen會話,輸入以下命令即可:
screen -r csgo
?
?

?