在Linux操作系统中架设CS服务器(以Counter-Strike: Global Offensive为例)需要系统准备、依赖安装、服务器下载、配置优化及启动管理等步骤,以下是详细流程:

系统环境准备
推荐使用Ubuntu 20.04/22.04或CentOS 7/8等稳定发行版,确保系统为64位架构,并拥有至少4GB内存和20GB可用存储空间,首先更新系统并安装必要依赖,Ubuntu/Debian系统执行:
sudo apt update && sudo apt upgrade -y sudo apt install -y lib32gcc1 libstdc++6:i386 libstdc++6 wget curl screen
CentOS/RHEL系统执行:
sudo yum update -y sudo yum install -y glibc.i686 libstdc++.i686 wget curl screen
其中lib32gcc1和libstdc++6:i386是CS:GO服务器的32位运行库依赖,不可忽略。
安装SteamCMD
SteamCMD是Valve官方的游戏服务器管理工具,用于下载和更新服务器,创建安装目录并下载:
sudo mkdir -p /opt/steamcmd sudo chown -R $USER:$USER /opt/steamcmd cd /opt/steamcmd wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz
首次运行SteamCMD会自动更新,执行以下命令进入SteamCMD交互界面:
./steamcmd.sh
登录匿名账户(无需注册)并安装CS:GO Dedicated Server(应用ID为740):
login anonymous force_install_dir /home/csgoserver # 设置服务器安装路径 app_update 740 validate # 下载并验证文件(首次执行较慢) exit
force_install_dir可自定义路径,建议使用普通用户目录(如/home/csgoserver)避免权限问题。

配置服务器文件
服务器核心配置位于/home/csgoserver/csgo/cfg/server.cfg,首次需手动创建或修改关键参数:
cd /home/csgoserver/csgo/cfg nano server.cfg
以下为常用配置参数说明(可参考下表调整):
| 参数名 | 作用 | 示例值 |
|---|---|---|
hostname |
服务器名称 | “我的CS:GO服务器” |
rcon_password |
RCON远程管理密码 | “your_rcon_pass” |
sv_password |
玩家加入服务器密码 | “your_game_pass” |
sv_cheats |
是否允许作弊(0禁止) | 0 |
mp_roundtime |
每回合时长(分钟) | 5 |
mp_maxrounds |
每局最大回合数 | 30 |
sv_lan |
是否为局域网服务器(0否) | 0 |
net_port |
服务器监听端口 | 27015 |
还需配置地图循环文件mapcycle.txt(位于同目录),
de_dust2 de_inferno de_nuke de_mirage
每行一个地图名称,服务器会按顺序循环加载。
启动与管理服务器
使用screen工具让服务器后台运行,避免SSH断开导致服务器关闭,首先安装screen(若未安装):
sudo apt install screen # Ubuntu/Debian sudo yum install screen # CentOS/RHEL
创建screen会话并启动服务器:
screen -S csgo_server cd /home/csgoserver ./srcds_run -game csgo -console -port 27015 +ip 0.0.0.0 +maxplayers 10 +map de_dust2 +sv_password your_game_pass
参数说明:-console启用控制台,+ip 0.0.0.0监听所有IP(可替换为服务器公网IP),+maxplayers设置最大玩家数。
按Ctrl+A+D退出screen会话,服务器将后台运行,重新进入会话使用screen -r csgo_server。

防火墙与端口配置
确保服务器开放27015端口(TCP/UDP),供客户端连接,Ubuntu使用UFW:
sudo ufw allow 27015/tcp sudo ufw allow 27015/udp sudo ufw enable
CentOS使用firewalld:
sudo firewall-cmd --permanent --add-port=27015/tcp sudo firewall-cmd --permanent --add-port=27015/udp sudo firewall-cmd --reload
若使用云服务器(如阿里云、腾讯云),还需在安全组规则中添加相同端口。
常见问题排查
- 服务器无法连接:检查防火墙是否放行端口,
netstat -tuln | grep 27015确认端口监听状态。 - 地图循环失效:确认
mapcycle.txt格式正确,无空行或特殊字符,并在server.cfg中添加mapcyclefile mapcycle.txt。 - 玩家加入提示密码错误:检查
sv_password是否与客户端输入一致,区分大小写。
相关问答FAQs
Q1: 如何远程管理CS:GO服务器?
A: 可通过RCON命令远程管理,客户端使用游戏控制台(默认键)输入rcon_password your_rcon_pass后,执行changelevel de_inferno换图、kick 玩家ID踢人等命令,也可安装SourceMod插件,通过Web界面(如Admin Web Panel)实现图形化管理。
Q2: 如何自动更新服务器?
A: 使用crontab设置定时任务,每周执行一次SteamCMD更新,编辑crontab:crontab -e,添加以下行:
0 3 * * 0 /opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/csgoserver +app_update 740 validate +exit
表示每周日凌晨3点自动更新服务器并验证文件完整性。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/32300.html