前言
起因是打算开一个CSGO的插件服务器趁着过年和朋友一起玩,但由于CS2的服务器端和debian13的安全政策更新,现在网上很多资料都已经过时了,前前后后折腾了好几天才搞好。所以便萌生了写一篇博客记录下来的想法,也希望能帮助到其他人。
一,准备工作
首先需要准备一台装有Linux系统的服务器。
官方给出的最低配置要求是:
- 最低内存要求:2GB(实际体验下来2G根本不够,建议至少4G)
- 存储空间:65GB
- CPU:x86-64-v2(支持 POPCNT/SSE4.2)
由于CS2新版的服务器需要 Glibc 2.31,所以使用的系统应不老于Ubuntu 20.04、Debian 11 或 Enterprise Linux 9。(我这里使用的是debian13,安装插件时又吃了系统太新的亏。)
二,安装SteamCMD
SteamCMD 是 Steam 客户端的命令行版本,想要下载服务器端需要先安装SteamCMD。
SteamCMD可以通过包管理器安装,也可以手动安装。这里我把两种安装方法都写出来了,大家自行选择。(官方建议是从发行版提供的存储库安装 SteamCMD 软件包。)
从存储库安装
先直接从存储库安装。
Ubuntu:
sudo add-apt-repository multiverse; sudo dpkg –add-architecture i386; sudo apt update
sudo apt install steamcmd
Debian:
sudo apt update; sudo apt install software-properties-common; sudo apt-add-repository non-free; sudo dpkg –add-architecture i386; sudo apt update
sudo apt install steamcmd
(但由于在debian12之后apt-add-repository 命令不再有效,需要使用这个变通方法。)
安装完成后由于官方不建议直接使用root运行SteamCMD,所以我们需要先给他专门创建一个用户。
sudo useradd -m steam
sudo passwd steam
之后切换到steam用户。
su – steam
直接输入即可进入steam交互环境
steamcmd
手动安装
先安装依赖。
sudo apt-get install lib32gcc-s1
同样的,创建steam用户。
sudo useradd -m steam
sudo passwd steam
之后切换到新建的steam用户家目录下。
sudo -u steam -s
cd /home/steam
切换到steam用户。
su – steam
在家目录下创建Steam文件夹来存放SteamCMD的文件。
mkdir ~/Steam
cd ~/Steam
下载并解压文件
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf –
之后在~/Steam目录下运行即可进入steam交互环境。
./steamcmd.sh
三,安装游戏服务器
进入交互环境后steam会先检查更新,等他跑完。
之后使用匿名账号登陆SteamCMD
login anonymous
设置服务器安装位置(/full/path/to/cs2-ds/改成你自己的路径,如果不设置路径会默认安装在SteamCMD安装目录下/steamapps/common/Counter-Strike Global Offensive)
force_install_dir /full/path/to/cs2-ds/
之后安装CS2(CS2的服务器端和游戏本体合并到一起了,都是730),等待进度跑完即可。
app_update 730 validate
四,申请社区服务器令牌(可选)
如果说你打算把服务器开在公网上让大家都可以看到,需要申请社区服务器令牌。
在这个链接申请,申请基本上没有要求,只要是steam等级大于0就可以。
不过如果开插件服,修改服务器内容(如开全皮肤之类的),据说有概率被封,所以还是建议不使用令牌,直接内网穿透就行。
五,安装插件
开插件服一般都使用MetaMod+CounterStrikeSharp的组合。新出现的swiftlys2框架安装方式也差不多,所以就只讲MetaMod和CounterStrikeSharp的安装方法了。
MetaMod
先去MetaMod官网下载插件,下载时看清要下载Dev版本的,稳定版的是给起源引擎1用的,CS2是起源引擎2,所以要下载Dev版本的。

下载下来是一个压缩包,解压后得到一个addons文件夹,直接把这个文件夹放到刚刚游戏安装目录下/Counter-Strike Global Offensive/game/csgo目录下。
之后修改/csgo目录下的gameinfo.gi文件,在
Game_LowViolence csgo_lv // Perfect World content override
这一行下面添加,保存后即可完成MetaMod的安装。
Gamecsgo/addons/metamod
CounterStrikeSharp
同样的,先去官网下载,下载时选择带有运行时的,之后更新插件时可以选择不带运行时的。
压缩包解压后同样是一个addons文件夹,把这个文件夹放到刚刚放MetaMod的目录(游戏安装目录下/Counter-Strike Global Offensive/game/csgo)下即可完成安装,之后安装基于CounterStrikeSharp的插件只需要放在addons/counterstrikesharp/plugins目录下即可。
六,配置服务器
服务器的配置文件为Counter-Strike Global Offensive/game/csgo/cfg目录下的server.cfg。
打开 server.cfg并添加你想要的配置(下面为我常用的配置)
mp_autokick 0 //禁止自动踢人,防止因友伤,挂机之类被踢出服务器
mp_drop_knife_enable 1 //允许丢刀
sv_password "密码" //设置服务器连接密码
hostname "服务器名称" //设置服务器名称
mp_friendlyfire 0 // 禁止友伤
编辑完保存即可。
七,运行服务器
CS2服务端近期更新后,运行服务器是一个比较大的坑点。不同于之前很多教程写直接运行位于/game/bin/linuxsteamrt64下的CS2二进制文件,现在Linux上要通过/Counter-Strike Global Offensive/game下的cs2.sh脚本来启动服务器,一个比较常见的运行指令如下
./cs2.sh -dedicated +map de_dust2
其中常用的的参数如下
|
-dedicated |
表明以服务器模式启动 |
|
-ip |
设置服务器ip |
|
-insecure |
禁用VAC |
|
-maxplayers |
设置最大人数 |
|
-port |
设置服务器端口(默认为27015) |
| -map | 设置地图 |
| -game_mode | 游戏模式,用来指定竞技还是休闲 |
| -game_type |
游戏类型,用来指定是否为死斗,一般不用管 |
比如这个就是以竞技模式,沙二地图启动服务器,服务器最大人数为12人。
.\\cs2.exe -dedicated maxplayers 12 +game_type 0 +game_mode 1 +map de_dust2
之后在客户端打开控制台,输入
connect (服务器ip)
即可完成连接(记得放行端口,CS2使用的是UDP)。
八,常见问题
对于debian13系统来说,还有一个坑点,因为debian13安全机制更加严格导致,导致插件无法启用可执行堆栈,进而导致插件加载失败。
目前的解决方法是先安装patchelf
sudo apt install patchelf
之后使用patchelf来清除可执行堆栈即可。
patchelf –clear-execstack /home/cs2server/serverfiles/game/csgo/addons/counterstrikesharp/bin/linuxsteamrt64/counterstrikesharp.so
网硕互联帮助中心




评论前必须登录!
注册