1. 程式人生 > 實用技巧 >基於Centos7.X的CS:GO社群服搭建

基於Centos7.X的CS:GO社群服搭建

基於Centos7.X的CS:GO私人伺服器搭建

由於比完了賽,在學校太過無聊,便想搭建一個CSGO社群伺服器,方便舍友同學進來遊玩,順便幫助一些有想法的人,讓他們少走一點彎路

一、建立新使用者,並下載steamcmd安裝CSGO服務端

1.安裝steamcmd所依賴的環境

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

1.使用root使用者登入到伺服器,接著建立一個名為steam的使用者,並進到該使用者的根目錄下,下載steamcmd並且安裝

useradd -m steam  //建立一個名叫steam的使用者(-m表示自動建立使用者的登入目錄)
su steam  //登入到steam使用者
cd /home/steam  //進入到steam使用者的目錄下

2.建立一個名為steamcmd的目錄,進入到目錄下安裝steamcmd

mkdir steamcmd  //建立名為steamcmd的目錄
cd steamcmd  //進入到steamcmd目錄下
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz  //下載steamcmd的安裝包
tar zxvf steamcmd_linux.tar.gz && rm steamcmd_linux.tar.gz// 解壓steamcmd並刪除安裝包

3.使用匿名使用者登入steamcmd,並且下載CSGO服務端

./steamcmd.sh  //執行steamcmd

如果你上面的操作沒有問題的話,你輸入了./steamcmd.sh就會出現如下的介面

然後輸入如下命令

login anonymous  //用匿名使用者登入(當然你也可以直接登入自己的賬號)
force_install_dir ./csgo_server  //選擇服務端安裝的目錄
app_update 740 validate  //開始下載服務端並驗證完整性
quit  //退出steamcmd

服務端一般下載時間半小時左右,主要還是看網路配置,如果中途退出了,只需重新輸入
app_update 740 validate
下載即可

二、配置並執行服務端

1.去Steam遊戲伺服器賬戶管理註冊一個steam社群服令牌(如果沒有註冊令牌,則只能在本地遊玩,並且社群服頁面也搜不到該伺服器)如果登入不上去可以使用UU加速器加速Steam或者使用Steamcommunity 302工具修復連線問題

申請的時候記得在AppID中填上CSGO的ID:730

單擊建立之後便會生成一個登入令牌,生成之後先儲存下載,待會兒要用

2.建立server.cfg檔案

切換到服務端目錄下,建立名為server.cfg的檔案

cd csgo_server/csgo/cfg/
vim server.cfg

進入到編輯模式,我現在把我的伺服器配置放出來供你們參考,如有需要自行修改

sv_setsteamaccount “” //在此輸入你剛剛獲取到的登入令牌
rcon_password “” // OP 密碼
// “” 表示沒有
hostname “DG_s1mple’s server”
// 伺服器名稱
sv_region 255 // 伺服器所在區域註冊引數
// 255=全球
// 0=美國東部
// 1=美國西部
// 2=南美洲
// 3=歐洲
// 4=亞洲
// 5=澳洲
// 6=中東
// 7=非洲
sv_rcon_minfailures 3
// 允許輸入OP密碼 錯誤次數下限 // 達到下限則封禁對方的IP
sv_rcon_banpenalty 5
// 封禁的時限 單位 分鐘
// 0=永久
sv_maxupdaterate 100
// 伺服器每秒更新最大頻率
// 根據實際網路狀況調節
// sv_maxrate / 300 = 要設的值 // 預設=30
// 區域網=101
sv_minupdaterate 40
// 伺服器每秒更新最小頻率
sv_unlag 1
// 玩家延時補償
// 0=關閉
// 1=開啟(預設)
sv_maxunlag 0.5 // 延時補償最大值預設 0.5 // 0.5=500毫秒(預設)
sv_voiceenable 1 // 伺服器是否允許麥克風語音通訊 // 0=禁止
// 1=允許(預設)
sv_unlagsamples 1 // 延時補償資料包平均取樣數量 // 預設=1
sv_unlagpush 0 // 伺服器推進延時補償
// 0=關閉(預設)
// 1=開啟
mp_autokick 0 // 自動踢除不動的玩家
// 0=關閉(比賽預設)
// 1=開啟
mp_autocrosshair 0 // 自動瞄準
// 0=關閉(預設)
// 1=開啟
mp_autoteambalance 0
// 自動平衡雙方人數
// 0=關閉(比賽預設)
// 1=開啟
mp_buytime 0.25 // 每回合購買武器裝備時間單位分鐘 // 比賽預設=0.25
mp_consistency 1 // 防止某些模型被更改
// 0=關閉
// 1=開啟(預設)
mp_c4timer 35 // C4爆炸倒計時單位秒
// 比賽預設=35
mp_decals 300 // 牆壁上的血花彈孔貼圖細節資料傳送(200-300)
mp_falldamage 1 // 高處落下傷害
// 0=關閉
// 1=開啟(預設)
mp_fadetoblack 0 // 死後黑屏
// 0=關閉(預設)
// 1=開啟
mp_flashlight 0 // 手電筒
// 0=禁止
// 1=允許(預設)
mp_forcechasecam 2 // 死後跟隨
// 0=所有玩家
// 1=僅隊友
// 2=僅隊友,主視角(比賽預設)
mp_forcecamera 2 // 死後視角選擇
// 0=全部視角
// 1=僅隊友,全部視角
// 2=僅隊友,主視角(比賽預設)
mp_footsteps 1 // 腳步聲
// 0=關閉
// 1=開啟(預設)
mp_fraglimit 0 //殺人數上限(1~n),超過上限就換地圖 // 0=關閉(預設)
mp_freezetime 8 // 每回合開始凍結時間單位秒
mp_friendlyfire 0 // 友軍傷害
// 0=關閉(預設)
// 1=開啟
mp_friendly_grenade_damage 1
// 友軍手雷傷害
// 0=關閉
// 1=開啟
mp_hostagepenalty 0 // 懲罰人質殺手
// 0=不懲罰(預設)
// 1~N=人質被殺數量,超過則踢出該玩家
mp_limitteams 0 // 兩隊人數差異上限
// 超過此上限,新玩家只能當觀察員 // 比賽預設=10
sv_logbans 1
// 伺服器日誌裡記錄Ban掉玩家的內容 // 0=不記錄
// 1=記錄
mp_logecho 0 // 將伺服器日誌反饋到控制檯 // 0=關閉
// 1=開啟
mp_logdetail 3 // 伺服器日誌裡記錄攻擊資訊 // 0=不記錄任何資訊
// 1=記錄敵人攻擊
// 2=記錄隊友攻擊
// 3=記錄所有攻擊
mp_logfile 1 // 伺服器記錄日誌為檔案 // 0=不記錄
// 1=記錄
mp_logmessages 1 // 伺服器日誌裡記錄談話內容 // 0=不記錄
// 1=記錄
mp_maxrounds 30 // 回合上限,達到此上限,自動重新載入新地圖
// 0=無回合上限(預設)
mp_playerid 0 // 當準星指向敵人或隊友時,顯示他們的名字
// 0=顯示所有人(比賽預設)
// 1=僅顯示隊友
// 2=不顯示
mp_roundtime 2
// 每回合時限單位分鐘
mp_timelimit 0
// 地圖最大時限,達此時限,自動重新載入新地圖
// 0=無時限
mp_tkpunish 0
// 懲罰隊友殺手
// 0=關閉(預設)
// 1=開啟
mp_startmoney 800 // 第一回合開始金錢(800~16000) // 加時賽=10000
mp_winlimit 30
// 一方最大勝利回合數,達到此數量,自動重新載入新地圖
// 0=無限制(預設)
sv_aim 0
// 自動瞄準
// 0=關閉(預設)
// 1=開啟
sv_airaccelerate 10 // 玩家在空中移動的速度
// 預設=10
sv_airmove 1 // 在空中移動&轉向
// 0=禁止
// 1=允許(預設)
sv_allowdownload 1
// 客戶端下載伺服器資源 // 0=禁止
// 1=允許(預設)
sv_allowupload 1
// 客戶端上傳自己的噴圖 // 0=禁止
// 1=允許(預設)
sv_alltalk 0 // 警匪通話
// 0=禁止(預設)
// 1=允許
sv_proxies 1 // HLTV代理
// 0=禁止
// 1=允許(預設)
sv_cheats 0 // 作弊模式
// 0=關閉(預設)
// 1=開啟
sv_clienttrace 1.0 // 客戶端模型的範圍框的尺寸
// 預設 1.0
sv_clipmode 0
// 鎖定客戶端快速模式
// 0=關閉(預設)
// 1=開啟
sv_friction 4
// 地面摩擦力預設 4
// 數值越低,摩擦越小
sv_gravity 800 // 重力預設 800
// 0=無限制
// 區域網=25000
sv_maxspeed 320 // 客戶端最大移動速度
// 伺服器最小傳輸速率<0-25000> // 0=無限制
sv_send_logos 1 // 客戶端相互之間傳送噴圖
// 0=禁止
// 1=允許(同時確保sv_allowdownload鍵值為1)
sv_sendvelocity 0
// 伺服器混合物理運算,適用於較好配置的伺服器 // 0=關閉
// 1=開啟
sv_send_resources 1
// 自動向客戶端傳送地圖關聯的*.res檔案裡包括的資原始檔 // 0=關閉
// 1=開啟(同時確保sv_allowdownload為1)
sv_stepsize 18
// 玩家的步伐距離
// 預設 18
sv_stopspeed 75
// 玩家停止移動時的速度預設 75
sv_timeout 65
// 客戶端連線伺服器超時的時限,達到時限則斷開連線
sv_voicecodec vaudio_speex // 語音通話解碼
// vaudio_speex是Valve新加入的解碼,優於voice_miles,佔用頻寬較少,為2.4kbps至15.2kbps
sv_voicequality 5
// 客戶端語音通話質量(確保sv_voicecodec voice_speex)
// 1=非常差…佔用頻寬 2.4 kbps // 2=差…佔用頻寬 6.0 kbps // 3=中等…佔用頻寬 8.0 kbps // 4=好…佔用頻寬 11.2 kbps // 5=非常清晰…佔用頻寬 15.2 kbps
allow_spectators 1
// 觀察員模式
// 0=禁止
// 1=允許
decalfrequency 30
// 玩家噴圖的時間間隔單位秒
edgefriction 2
// 玩家與玩家、牆壁、物體之間的摩擦
// 預設 2
host_framerate 0
// 與Demo錄製有關
// 0<N<1 為慢錄
// n=0 為正常(預設)
// n>1 為快錄
log on
// 開始記錄日誌
pausable 0
// 客戶端暫停遊戲
// 0=禁止
// 1=允許
mapcyclefile mapcycle.txt
// 地圖迴圈列表所在的.txt檔案
// *.txt = cstrike*.txt檔案
// Use this file to configure your DEDICATED server. // This config file is executed on server start.
// load ban files
exec listip.cfg
exec banned.cfg
sv_maxrate “128000” //伺服器最大頻寬使用量,預設值非常小,因此會造成choke值異常,此處建議改為128000
sv_minrate “100000” //伺服器最小頻寬使用量,與上面同理,此處建議改為80000

3.新增一個防火牆規則(如果是雲伺服器)

去防火牆面板新增一個規則,允許UDP協議的27015埠

三、安裝screen,用screen啟動csgo服務端

安裝screen程式,讓csgo服務端在後臺執行

yum -y install screen

然後進入到csgo_server目錄下新建一個會話

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

如果你的終端清屏了,說明執行成功,接下來執行這個命令

./srcds_run -game csgo -console -ip 0.0.0.0 -usercon +game_type 0 +game_mode 1 +port 27015  +map de_mirage -tickrate 128  -maxplayers_override 12 +mapgroup mg_active -nobots

如果提示你沒有srcds_run這個檔案,就說明你所在路徑有問題

最後出現如圖介面就可以正常登陸游玩了!

四、連線伺服器


進入伺服器列表,選擇收藏夾,然後點右下角新增伺服器,輸入伺服器的IP地址後,點選將此地址新增至收藏夾

最後選擇後點擊右下角連線即可

文章所涉及的資料來自網際網路整理和個人總結,意在於個人學習和經驗彙總,如有什麼地方侵權,請聯絡本人刪除,謝謝!本文僅用於學習與交流,不得用於非法用途!

如果還需要裝外掛的教程,請評論,我也會更新的,如果沒有那就算了