原文博客:https://www.mintimate.cn Mintimate’s Blog,只为与你分享

CS GO确实是一个经久不衰的游戏。如何搭建自己的CS GO私人服务器呢?体验自己当服主,随时联机的快乐。

头图不能少~

前言

CS GO(《反恐精英:全球攻势》英语:Counter-Strike: Global Offensive,中国香港和台湾译作“绝对武力:全球攻势”)发布于2012年,随着不断的更新,游戏依旧火爆。

最近一位B站的粉丝,就发私信,希望和小伙伴搭建一个CS GO的个人私服;我之前并没有玩过CS GO,不过,既然是铁粉的需求,我们就尝试了一下。总的来说,确实有一些坑。

准备工具

服务器

目前,CS GO的服务器自建,支持Linux Server和Windows Server服务器,这两个就要看自己的取舍了:理论上,Windows Server更容易上手,毕竟大多数人的操作系统是Windows,但是对资源的浪费很大,举个例子:一台2C 4G的服务器,Windows Server可能系统占用1G内存,而Linux才占100M不到。

为了重新体现我们是Linux技术博主,本次搭建CS GO,使用Linux Server进行演示(腾讯云Debian Linux系统)。

如果你并没有服务器设备,需要一个购买/租借,强烈推荐学生用户:

另外,为大家争取到优惠*(੭ˊᵕˋ)੭ଘ,本站专属优惠~~(可能比学生优惠还优惠哦~)

中国香港、新加坡等地区,还可以买Lighthouse的中国香港、新加坡地区服务器,性价比高,适合有国际建服的需求。

经过测试,一台2C 4G 6M配置腾讯云轻量应用服务器,可以流畅运行CS GO服务器,6M带宽足够十个人以128tick进行 5v5(・_・;

如果你是Windows Server用户,那么建议至少选择2C 4G的服务器配置。

传输软件

后续我们需要设置管理员,管理员的设定,需要借助两个mods:

而CS GO安装mod主要的方法就是替换和追加文件。为了方便我们把本地的文件,拖拽上传到Linux服务器上,我们这里使用filezilla进行数据传输:

左边本地,右边服务器

辅助视频

嘿嘿,做教程视频不易(B站根本不会推荐引流),请务必一键三连哦~

如果感兴趣,还可以关注我们,带你初识Linux Server的魅力⁄(⁄ ⁄ ⁄ω⁄ ⁄ ⁄)⁄

服务器初始化

服务器初始化,我们Linux Server和Windows Server都讲一下,不过后续章节就只讲Linux Server了哦。Windows Server用户,可以按图索骥(因为Windows Server操作比Linux Server简单,需要切换用户的时候,Windows用户无需操作)。

Linux Server

如果你购买的是Linux Server(Debian、Ubuntu和CentOS等)服务器:

以腾讯云服轻量应用服务器Lighthouse为例,如果你购买的是Linux服务器(Debian、Ubuntu或CentOS等Linux发行版本服务器),如果想快速初始化,可以按

Windows Server

如果你购买的是Windows Server(Windows Server2019、Windows Server 2022)。我们购买服务器后,切换到腾讯云服务器后台,重制我们的Administrator用户密码:

重制密码

重制密码

之后,就可以远程连接服务器。你可以使用腾讯云的WebRDP(远程桌面):

VNC远程

后续如需上传本地配置给服务器使用时,我们可以使用微软远程桌面(Microsoft Remote Desktop),并开设共享文件夹。

macOS远程

设置本地交互目录

并且创建一个共享的文件夹,用来文件交互:

远程后效果

进入文件夹

Windows如下:

开始菜单运行mstsc

初始化

打开高级选项:

设置高级

并且,对本地文件夹进行映射:

设置本地交互目录

远程后效果

进入文件夹

SteamCMD

本章节目录,所有操作均在Linux Server的Terminal内操作(SSH连接服务器后的“黑窗”),不是本地Windows或者macOS、Linux,特此提醒。

在Terminal上,我们首先依靠软件包管理器先安装依赖:

sudo apt install -y systemd-sysv wget screen libstdc++6 lib32stdc++6 lib32z1 tar libcurl4-openssl-dev lib32gcc1

复制

使用软件包管理器安装依赖

wget

观察SteamCMD官方文档,SteamCMD需要用一个叫steam的用户,并在steam用户的“家”目录下的steam文件夹内操作。所以,我们提前创建:

# 创建一个用户叫steam
sudo useradd -m steam
# 给steam重置密码
sudo passwd steam 

复制

添加Steam用户

之后,我们切换到steam用户,并创建文件夹:

mkdir ~/Steam && cd ~/Steam

复制

创建Steam文件夹

下载SteamCMD原始文件并解压:

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

复制

下载SteamCMD原始文件

到此,我们的SteamCMD前期的准备就完成了,准备接下来的CS GO服务器拉取以及初始化等操作。

拉取CS_GO服务端

本章节目录,所有操作均在Linux Server的Terminal内操作(SSH连接服务器后的“黑窗”),不是本地Windows或者macOS、Linux,特此提醒。

Steam/my_csgo_server
./steamcmd.sh +force_install_dir ~/Steam/my_csgo_server +login anonymous +app_update 740 +quit

复制

其中:

~/Steam/my_csgo_server740

SteamCMD拉取CSGO

SteamCMD拉取CSGO中

SteamCMD拉取CSGO成功

可以看到,我们这样就拉取成功了,可以进行CS GO的初始化步骤了。

如果出现错误,比如这样的:

SteamCMD拉取CSGO失败

./steamcmd.sh +force_install_dir ~/Steam/my_csgo_server +login anonymous +app_update 740 +quit

Steamaccount

steamaccountsv_setsteamaccount

获取的条件:

  • Steam 帐户目前不能处于被社区封禁或锁定状态。
  • Steam 帐户不能处于受限状态。
  • Steam 帐户必须以及绑定了手机令牌。
  • Steam 帐户必须拥有所创建游戏服务器对应的游戏。
  • Steam 帐户可最多能创建1000个游戏服务器。
  • Steam 账号最少实际消费达5美元(折合人民币35元左右,礼品卡激活的商品价值不计算到其中)

首先,我们进入Steam Account的官网:https://steamcommunity.com/dev/managegameservers并选择登录Steam账号:

登录

登录后,填写信息:

登录后,填写信息

sv_setsteamaccount

得到sv_setsteamaccount

sv_setsteamaccount

CS_GO服务端初始化

/home/steam/Steam

配置文件编写

首先,我们根据官方给的配置文件模版进行配置文件的创建,复制内容:

// ************************************************************************** //
//                                                                            //
//     Counter-Strike: Global Offensive - server.cfg                          //
//     Version 120719                                                         //
//                                                                            //
// ************************************************************************** //

// .................................. Basic ................................. //

// Hostname - Name of the server.
hostname "" // 服务器名称

// RCON - remote console password.
rcon_password "" // OP 密码

// Server password - for private servers.
sv_password ""//进入服务器所需密码(如果不需要可以直接删除此行)

sv_setsteamaccount "" // Steamaccount(上文获取的sv_setsteamaccount)

// Email - Server admin email.
// Example: sv_contact "email@example.com"
sv_contact ""

// LAN mode - Server is a LAN server; can't connect from the internet. VAC (Valve Anti-Cheat) is disabled in this mode.
// Default: sv_lan 0
sv_lan 0

// Cheats mode - Server is disabled to use cheats by default;Commands like noclip,god are disabled to be exploited by the players. VAC (Valve Anti-Cheat) is disabled in this mode when value is set to '1'.
// Default: sv_cheats 0
// Cheats ON: sv_cheats 1
sv_cheats 0

// Tags - Used to provide extra information to clients when they're browsing for servers. Separate tags with a comma.
// Example: sv_tags "128-tick,deathmatch,dm,ffa,pistol,dust2"
sv_tags ""

// Region - The region of the world to report this server in.
// Default: -1
// 0 - US East, 1 - US West, 2 - South America, 3 - Europe, 4 - Asia, 5 - Australia, 6 - Middle East, 7 - Africa
sv_region -1

// ............................. Server Logging ............................. //

// Enable log - Enables logging to file, console, and udp < on | off >.
// Recommended: log on
log on

// Log bans - Log server bans in the server logs.
// Default: sv_logbans 1
// Recommended: sv_logbans 1
sv_logbans 1

// Log echo - Display log information to the server console.
// Default: sv_logecho 1
// Recommended: sv_logecho 1
sv_logecho 1

// Log file - Log server information in the log file.
// Default: sv_logfile 1
// Recommended: sv_logfile 1
sv_logfile 1

// One file log - Log server information to only one file.
// Default: sv_log_onefile 0
// Recommended: sv_log_onefile 0
sv_log_onefile 0

// Server Hibernation
sv_hibernate_when_empty 1
sv_hibernate_ms 5

// ............................. Server Query ............................. //
// More info at: https://www.gametracker.com/games/csgo/forum.php?thread=91691
host_name_store 1
host_info_show 1
host_players_show 2

// ................................ Ban List ................................ //

// User ban - Server banlist based on user steam ID.
// Recommended: exec banned_user.cfg
exec banned_user.cfg

// IP ban - Server banlist based on user IP.
// Recommended: exec banned_ip.cfg
exec banned_ip.cfg

// Write ID - Writes a list of permanently-banned user IDs to banned_user.cfg.
writeid

// Write IP - Save the ban list to banned_ip.cfg.
writeip

复制

my_csgo_server/csgo/cfgserver.cfgvim
vim
# 当前在/home/steam/Steam目录下;如果你和我步骤一样,那么无需修改
vim my_csgo_server/csgo/cfg/server.cfg

复制

使用vim创建并编辑

修改配置项为自己内容:

编辑配置项

其中:

  • hostname:服务器昵称,用于联机大厅内显示;
  • rcon_password:rcon的密码,通常不会使用;
  • sv_password:服务器密码,加入该CSGO服务器时,需要输入的密码;
  • sv_setsteamaccount:上个章节获取的。

最后的文件目录效果:

编辑配置项

之后,就可以进行启动了。

启动服务器

screenscreenscreen
my_csgo_server/home/steam/Steam/my_csgo_server

CS GO目录

srcds_runsrcds.exe
./srcds_run

复制

之后,CSGO的服务器就会开始运行:

CS GO运行

可选内容=>

你也可以添加启动参数进行CS GO服务器的启动:

./srcds_run -game csgo -tickrate 128 -console -rcon -usercon -ip 0.0.0.0 +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -maxplayers_override 10 +port 27015 +tv_port 27020 -autoupdate -steam_dir "../steamcmd" -steamcmd_script "../steamcmd/update_csgo.txt" +net_public_adr "IP"

复制

其中:

tickrate64次game_typegame_modemaxplayers_overrideportautoupdatesteam_dirsteamcmd_scriptsteam_dirsteamcmd_script
~/Steamupdate_csgo.txt
force_install_dir ~/Steam/my_csgo_server 
login anonymous
app_update 740 
quit

复制

sv_setsteamaccount

CS GO运行成功

这个时候,我们的CS GO就可以进行本地与服务器的连接了。但是还是需要对防火墙进行放行。

关闭服务器

quit

安全关闭

服务器防火墙

27015

腾讯云后台放行CSGO的UDP端口

之后,就可以服务器连接了,可以看看下一章节。

本地连接

本章节目录,所有操作没有特别说明,均在本地Windows、macOS上操作哦;特此提醒。

本地,其实很多种方法连接到远程服务器;比如,你可以在开始游戏后,在社区服务器浏览器内查找你的服务器;也可以更简单点,直接使用开发者控制台进行连接,我们就使用这个建党的方法。

打开本地的CS GO,选择各项设置菜单,选择启动开发者控制台

启动控制台

~

打开控制台

在之后,一次输入:

password "你的服务器密码"
connect "你的服务器IP"

复制

即可进行连接:

远程连接

进入游戏成功:

远程连接成功

服务器上的控制台也有成功加入的日志反馈:

远程连接成功

添加管理员

SourceModSourceModMetaModPtah
MetaMod  这个是相当于 Framework
SourceMod  相当于 Admin
Ptah 相当于 Extension
其他的mod(皮肤,死斗啥的。。) 才相当于 Plugins
-- 博哥

复制

Ptah安装,其实和MetaMod和SourceMod一样,这里我们就演示这两个。

安装MetaMod

MetaMod
MetaMod

下载MetaMod的插件包到本地:

下载MetaMod到本地

下载后,并解压文件:

MetaMod解压后,得到addons文件夹

这个时候,打开FileZilla软件,上方填入我们的服务器信息:

下载MetaMod到本地

之后,左边就是本地,右边就是服务器。我们这边定位到addons文件夹(MetaMod解压出的addons文件夹),右边定位到CSGO下载目录下的csgo文件夹内,并移动addons到其中:

上传addons到服务器(拖拽即可)

到此,Metamod就安装好了。(是不是很神奇?合并大法好呀);

我们重启CS GO就会生效(也就是先quit,之后再启动CS GO服务器)。

安装SourceMod

SourceMod
SourceMod

下载SourceMod的插件包到本地:

下载SourceMod到本地

下载后,并解压文件:

SourceMod解压后,得到的文件夹

这个时候,回到FileZilla软件,右键刷新一下本地目录,打开SourceMod解压后的文件夹:

FileZilla打开SourceMod文件夹

addonscfgaddonsaddonsmetamod

合并后的效果

cfgaddonscfg

合并后的效果

到此,SourceMod就安装好了,我们可以重启CS GO服务进程,之后,就可以使用命令看看CS GO是否有sm命令了:

sm plugins list

复制

使用SourceMod的sm命令,查看已经安装的插件

如果出现命令不存在,那就是没有安装对哦,可以再检查一下后,重新启动CS GO服务器再看看。

更多的SourceMod命令,可以查看官方文档:Category:SourceMod Documentation - AlliedModders Wiki

设置管理员

~status

获取SteamID

这里我们就获取了用户的SteamID,比如是这样的:

STEAM_1:0:9999999999

复制

csgo/addons/sourcemod/configs/admins_simple.ini
# 当前在CS GO目录下
vim csgo/addons/sourcemod/configs/admins_simple.ini

复制

修改admins_simple.ini

在文件的末尾追加:

"STEAM_1:0:9999999999" "99:z"

复制

STEAM_1:0:9999999999
sm_reloadadmins
~sm_admin

sm_admin使用效果

因为我使用macOS登录CS GO,所以字库不全。

Q&A

如何服务器迁移

服务器迁移其实很简单,你可以把所有自己的配置文件打包备份,不过我建议你可以直接备份CS GO安装目录下的CSGO:

备份该文件

这样备份,可以保存服务器配置的同时,插件也保存下来,避免二次配置的麻烦。

如何24小时运行服务器

其实就是如何挂起CS GO,可以在screen内启动CS GO,并让screen后台运行即可。

如何更新CSGO服务器

首先,你备份CSGO服务器前,建议先备份CS GO安装目录下的CSGO,之后,到SteamCMD所在目录下,执行:

./steamcmd.sh +force_install_dir ~/Steam/my_csgo_server +login anonymous +app_update 740 +quit

复制

等待完成后,即可更新完成。

修改配置不生效

修改服务器配置,如:允许传送等配置。但是客户端查看服务器却没有生效,可以排查:

  • 修改配置后,服务器上CSGO服务器需要重新启动;
  • 配置可能填错了。

如何使用创意工坊地图

其实,使用创意工坊的地图很简单,需要添加启动参数:

+host_workshop_map-authkey
Get

获取创意工坊地图路径

获取地图ID

authkey

获取authkey

获取authkey

最后,在CS GO启动时候,启动参数内添加即可。

比如,原本的启动是:

./srcds_run

复制

添加上启动参数:

./srcds_run +host_workshop_map 223333 -authkey 332222 

复制

22333332222

比如,我的启动参数:

./srcds_run  -game csgo -tickrate 128 -maxplayers_override 10  +host_workshop_map 243702660 -authkey 27E42**************

复制

更改地图

最后,成功加载到地图:

地图加载完成

启动后连接:

客户端载入地图

需要注意:

CSGO服务器安装地址/csgo/maps/workshop/host_workshop_map

原创

发布于 2022-10-06 11:18:01

4.9K3

举报

博客:https://www.mintimate.cn Mintimate’s Blog,只为与你分享

CS GO确实是一个经久不衰的游戏。如何搭建自己的CS GO私人服务器呢?体验自己当服主,随时联机的快乐。

头图不能少~

前言

CS GO(《反恐精英:全球攻势》英语:Counter-Strike: Global Offensive,中国香港和台湾译作“绝对武力:全球攻势”)发布于2012年,随着不断的更新,游戏依旧火爆。

最近一位B站的粉丝,就发私信,希望和小伙伴搭建一个CS GO的个人私服;我之前并没有玩过CS GO,不过,既然是铁粉的需求,我们就尝试了一下。总的来说,确实有一些坑。

准备工具

服务器

目前,CS GO的服务器自建,支持Linux Server和Windows Server服务器,这两个就要看自己的取舍了:理论上,Windows Server更容易上手,毕竟大多数人的操作系统是Windows,但是对资源的浪费很大,举个例子:一台2C 4G的服务器,Windows Server可能系统占用1G内存,而Linux才占100M不到。

为了重新体现我们是Linux技术博主,本次搭建CS GO,使用Linux Server进行演示(腾讯云Debian Linux系统)。

如果你并没有服务器设备,需要一个购买/租借,强烈推荐学生用户:

另外,为大家争取到优惠*(੭ˊᵕˋ)੭ଘ,本站专属优惠~~(可能比学生优惠还优惠哦~)

中国香港、新加坡等地区,还可以买Lighthouse的中国香港、新加坡地区服务器,性价比高,适合有国际建服的需求。

经过测试,一台2C 4G 6M配置腾讯云轻量应用服务器,可以流畅运行CS GO服务器,6M带宽足够十个人以128tick进行 5v5(・_・;

如果你是Windows Server用户,那么建议至少选择2C 4G的服务器配置。

传输软件

后续我们需要设置管理员,管理员的设定,需要借助两个mods:

而CS GO安装mod主要的方法就是替换和追加文件。为了方便我们把本地的文件,拖拽上传到Linux服务器上,我们这里使用filezilla进行数据传输:

左边本地,右边服务器

辅助视频

嘿嘿,做教程视频不易(B站根本不会推荐引流),请务必一键三连哦~

如果感兴趣,还可以关注我们,带你初识Linux Server的魅力⁄(⁄ ⁄ ⁄ω⁄ ⁄ ⁄)⁄

服务器初始化

服务器初始化,我们Linux Server和Windows Server都讲一下,不过后续章节就只讲Linux Server了哦。Windows Server用户,可以按图索骥(因为Windows Server操作比Linux Server简单,需要切换用户的时候,Windows用户无需操作)。

Linux Server

如果你购买的是Linux Server(Debian、Ubuntu和CentOS等)服务器:

以腾讯云服轻量应用服务器Lighthouse为例,如果你购买的是Linux服务器(Debian、Ubuntu或CentOS等Linux发行版本服务器),如果想快速初始化,可以按

Windows Server

如果你购买的是Windows Server(Windows Server2019、Windows Server 2022)。我们购买服务器后,切换到腾讯云服务器后台,重制我们的Administrator用户密码:

重制密码

重制密码

之后,就可以远程连接服务器。你可以使用腾讯云的WebRDP(远程桌面):

VNC远程

后续如需上传本地配置给服务器使用时,我们可以使用微软远程桌面(Microsoft Remote Desktop),并开设共享文件夹。

macOS远程

设置本地交互目录

并且创建一个共享的文件夹,用来文件交互:

远程后效果

进入文件夹

Windows如下:

开始菜单运行mstsc

初始化

打开高级选项:

设置高级

并且,对本地文件夹进行映射:

设置本地交互目录

远程后效果

进入文件夹

SteamCMD

本章节目录,所有操作均在Linux Server的Terminal内操作(SSH连接服务器后的“黑窗”),不是本地Windows或者macOS、Linux,特此提醒。

在Terminal上,我们首先依靠软件包管理器先安装依赖:

sudo apt install -y systemd-sysv wget screen libstdc++6 lib32stdc++6 lib32z1 tar libcurl4-openssl-dev lib32gcc1

复制

使用软件包管理器安装依赖

wget

观察SteamCMD官方文档,SteamCMD需要用一个叫steam的用户,并在steam用户的“家”目录下的steam文件夹内操作。所以,我们提前创建:

# 创建一个用户叫steam
sudo useradd -m steam
# 给steam重置密码
sudo passwd steam 

复制

添加Steam用户

之后,我们切换到steam用户,并创建文件夹:

mkdir ~/Steam && cd ~/Steam

复制

创建Steam文件夹

下载SteamCMD原始文件并解压:

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

复制

下载SteamCMD原始文件

到此,我们的SteamCMD前期的准备就完成了,准备接下来的CS GO服务器拉取以及初始化等操作。

拉取CS_GO服务端

本章节目录,所有操作均在Linux Server的Terminal内操作(SSH连接服务器后的“黑窗”),不是本地Windows或者macOS、Linux,特此提醒。

Steam/my_csgo_server
./steamcmd.sh +force_install_dir ~/Steam/my_csgo_server +login anonymous +app_update 740 +quit

复制

其中:

~/Steam/my_csgo_server740

SteamCMD拉取CSGO

SteamCMD拉取CSGO中

SteamCMD拉取CSGO成功

可以看到,我们这样就拉取成功了,可以进行CS GO的初始化步骤了。

如果出现错误,比如这样的:

SteamCMD拉取CSGO失败

./steamcmd.sh +force_install_dir ~/Steam/my_csgo_server +login anonymous +app_update 740 +quit

Steamaccount

steamaccountsv_setsteamaccount

获取的条件:

  • Steam 帐户目前不能处于被社区封禁或锁定状态。
  • Steam 帐户不能处于受限状态。
  • Steam 帐户必须以及绑定了手机令牌。
  • Steam 帐户必须拥有所创建游戏服务器对应的游戏。
  • Steam 帐户可最多能创建1000个游戏服务器。
  • Steam 账号最少实际消费达5美元(折合人民币35元左右,礼品卡激活的商品价值不计算到其中)

首先,我们进入Steam Account的官网:https://steamcommunity.com/dev/managegameservers并选择登录Steam账号:

登录

登录后,填写信息:

登录后,填写信息

sv_setsteamaccount

得到sv_setsteamaccount

sv_setsteamaccount

CS_GO服务端初始化

/home/steam/Steam

配置文件编写

首先,我们根据官方给的配置文件模版进行配置文件的创建,复制内容:

// ************************************************************************** //
//                                                                            //
//     Counter-Strike: Global Offensive - server.cfg                          //
//     Version 120719                                                         //
//                                                                            //
// ************************************************************************** //

// .................................. Basic ................................. //

// Hostname - Name of the server.
hostname "" // 服务器名称

// RCON - remote console password.
rcon_password "" // OP 密码

// Server password - for private servers.
sv_password ""//进入服务器所需密码(如果不需要可以直接删除此行)

sv_setsteamaccount "" // Steamaccount(上文获取的sv_setsteamaccount)

// Email - Server admin email.
// Example: sv_contact "email@example.com"
sv_contact ""

// LAN mode - Server is a LAN server; can't connect from the internet. VAC (Valve Anti-Cheat) is disabled in this mode.
// Default: sv_lan 0
sv_lan 0

// Cheats mode - Server is disabled to use cheats by default;Commands like noclip,god are disabled to be exploited by the players. VAC (Valve Anti-Cheat) is disabled in this mode when value is set to '1'.
// Default: sv_cheats 0
// Cheats ON: sv_cheats 1
sv_cheats 0

// Tags - Used to provide extra information to clients when they're browsing for servers. Separate tags with a comma.
// Example: sv_tags "128-tick,deathmatch,dm,ffa,pistol,dust2"
sv_tags ""

// Region - The region of the world to report this server in.
// Default: -1
// 0 - US East, 1 - US West, 2 - South America, 3 - Europe, 4 - Asia, 5 - Australia, 6 - Middle East, 7 - Africa
sv_region -1

// ............................. Server Logging ............................. //

// Enable log - Enables logging to file, console, and udp < on | off >.
// Recommended: log on
log on

// Log bans - Log server bans in the server logs.
// Default: sv_logbans 1
// Recommended: sv_logbans 1
sv_logbans 1

// Log echo - Display log information to the server console.
// Default: sv_logecho 1
// Recommended: sv_logecho 1
sv_logecho 1

// Log file - Log server information in the log file.
// Default: sv_logfile 1
// Recommended: sv_logfile 1
sv_logfile 1

// One file log - Log server information to only one file.
// Default: sv_log_onefile 0
// Recommended: sv_log_onefile 0
sv_log_onefile 0

// Server Hibernation
sv_hibernate_when_empty 1
sv_hibernate_ms 5

// ............................. Server Query ............................. //
// More info at: https://www.gametracker.com/games/csgo/forum.php?thread=91691
host_name_store 1
host_info_show 1
host_players_show 2

// ................................ Ban List ................................ //

// User ban - Server banlist based on user steam ID.
// Recommended: exec banned_user.cfg
exec banned_user.cfg

// IP ban - Server banlist based on user IP.
// Recommended: exec banned_ip.cfg
exec banned_ip.cfg

// Write ID - Writes a list of permanently-banned user IDs to banned_user.cfg.
writeid

// Write IP - Save the ban list to banned_ip.cfg.
writeip

复制

my_csgo_server/csgo/cfgserver.cfgvim
vim
# 当前在/home/steam/Steam目录下;如果你和我步骤一样,那么无需修改
vim my_csgo_server/csgo/cfg/server.cfg

复制

使用vim创建并编辑

修改配置项为自己内容:

编辑配置项

其中:

  • hostname:服务器昵称,用于联机大厅内显示;
  • rcon_password:rcon的密码,通常不会使用;
  • sv_password:服务器密码,加入该CSGO服务器时,需要输入的密码;
  • sv_setsteamaccount:上个章节获取的。

最后的文件目录效果:

编辑配置项

之后,就可以进行启动了。

启动服务器

screenscreenscreen
my_csgo_server/home/steam/Steam/my_csgo_server

CS GO目录

srcds_runsrcds.exe
./srcds_run

复制

之后,CSGO的服务器就会开始运行:

CS GO运行

可选内容=>

你也可以添加启动参数进行CS GO服务器的启动:

./srcds_run -game csgo -tickrate 128 -console -rcon -usercon -ip 0.0.0.0 +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -maxplayers_override 10 +port 27015 +tv_port 27020 -autoupdate -steam_dir "../steamcmd" -steamcmd_script "../steamcmd/update_csgo.txt" +net_public_adr "IP"

复制

其中:

tickrate64次game_typegame_modemaxplayers_overrideportautoupdatesteam_dirsteamcmd_scriptsteam_dirsteamcmd_script
~/Steamupdate_csgo.txt
force_install_dir ~/Steam/my_csgo_server 
login anonymous
app_update 740 
quit

复制

sv_setsteamaccount

CS GO运行成功

这个时候,我们的CS GO就可以进行本地与服务器的连接了。但是还是需要对防火墙进行放行。

关闭服务器

quit

安全关闭

服务器防火墙

27015

腾讯云后台放行CSGO的UDP端口

之后,就可以服务器连接了,可以看看下一章节。

本地连接

本章节目录,所有操作没有特别说明,均在本地Windows、macOS上操作哦;特此提醒。

本地,其实很多种方法连接到远程服务器;比如,你可以在开始游戏后,在社区服务器浏览器内查找你的服务器;也可以更简单点,直接使用开发者控制台进行连接,我们就使用这个建党的方法。

打开本地的CS GO,选择各项设置菜单,选择启动开发者控制台

启动控制台

~

打开控制台

在之后,一次输入:

password "你的服务器密码"
connect "你的服务器IP"

复制

即可进行连接:

远程连接

进入游戏成功:

远程连接成功

服务器上的控制台也有成功加入的日志反馈:

远程连接成功

添加管理员

SourceModSourceModMetaModPtah
MetaMod  这个是相当于 Framework
SourceMod  相当于 Admin
Ptah 相当于 Extension
其他的mod(皮肤,死斗啥的。。) 才相当于 Plugins
-- 博哥

复制

Ptah安装,其实和MetaMod和SourceMod一样,这里我们就演示这两个。

安装MetaMod

MetaMod
MetaMod

下载MetaMod的插件包到本地:

下载MetaMod到本地

下载后,并解压文件:

MetaMod解压后,得到addons文件夹

这个时候,打开FileZilla软件,上方填入我们的服务器信息:

下载MetaMod到本地

之后,左边就是本地,右边就是服务器。我们这边定位到addons文件夹(MetaMod解压出的addons文件夹),右边定位到CSGO下载目录下的csgo文件夹内,并移动addons到其中:

上传addons到服务器(拖拽即可)

到此,Metamod就安装好了。(是不是很神奇?合并大法好呀);

我们重启CS GO就会生效(也就是先quit,之后再启动CS GO服务器)。

安装SourceMod

SourceMod
SourceMod

下载SourceMod的插件包到本地:

下载SourceMod到本地

下载后,并解压文件:

SourceMod解压后,得到的文件夹

这个时候,回到FileZilla软件,右键刷新一下本地目录,打开SourceMod解压后的文件夹:

FileZilla打开SourceMod文件夹

addonscfgaddonsaddonsmetamod

合并后的效果

cfgaddonscfg

合并后的效果

到此,SourceMod就安装好了,我们可以重启CS GO服务进程,之后,就可以使用命令看看CS GO是否有sm命令了:

sm plugins list

复制

使用SourceMod的sm命令,查看已经安装的插件

如果出现命令不存在,那就是没有安装对哦,可以再检查一下后,重新启动CS GO服务器再看看。

更多的SourceMod命令,可以查看官方文档:Category:SourceMod Documentation - AlliedModders Wiki

设置管理员

~status

获取SteamID

这里我们就获取了用户的SteamID,比如是这样的:

STEAM_1:0:9999999999

复制

csgo/addons/sourcemod/configs/admins_simple.ini
# 当前在CS GO目录下
vim csgo/addons/sourcemod/configs/admins_simple.ini

复制

修改admins_simple.ini

在文件的末尾追加:

"STEAM_1:0:9999999999" "99:z"

复制

STEAM_1:0:9999999999
sm_reloadadmins
~sm_admin

sm_admin使用效果

因为我使用macOS登录CS GO,所以字库不全。

Q&A

如何服务器迁移

服务器迁移其实很简单,你可以把所有自己的配置文件打包备份,不过我建议你可以直接备份CS GO安装目录下的CSGO:

备份该文件

这样备份,可以保存服务器配置的同时,插件也保存下来,避免二次配置的麻烦。

如何24小时运行服务器

其实就是如何挂起CS GO,可以在screen内启动CS GO,并让screen后台运行即可。

如何更新CSGO服务器

首先,你备份CSGO服务器前,建议先备份CS GO安装目录下的CSGO,之后,到SteamCMD所在目录下,执行:

./steamcmd.sh +force_install_dir ~/Steam/my_csgo_server +login anonymous +app_update 740 +quit

复制

等待完成后,即可更新完成。

修改配置不生效

修改服务器配置,如:允许传送等配置。但是客户端查看服务器却没有生效,可以排查:

  • 修改配置后,服务器上CSGO服务器需要重新启动;
  • 配置可能填错了。

如何使用创意工坊地图

其实,使用创意工坊的地图很简单,需要添加启动参数:

+host_workshop_map-authkey
Get

获取创意工坊地图路径

获取地图ID

authkey

获取authkey

获取authkey

最后,在CS GO启动时候,启动参数内添加即可。

比如,原本的启动是:

./srcds_run

复制

添加上启动参数:

./srcds_run +host_workshop_map 223333 -authkey 332222 

复制

22333332222

比如,我的启动参数:

./srcds_run  -game csgo -tickrate 128 -maxplayers_override 10  +host_workshop_map 243702660 -authkey 27E42**************

复制

更改地图

最后,成功加载到地图:

地图加载完成

启动后连接:

客户端载入地图

需要注意:

CSGO服务器安装地址/csgo/maps/workshop/host_workshop_map