云计算百科
云计算领域专业知识百科平台

2026 在Linux上搭建CS2插件服务器

前言

起因是打算开一个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

赞(0)
未经允许不得转载:网硕互联帮助中心 » 2026 在Linux上搭建CS2插件服务器
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!