SteamCMD 游戏服务器管理教程
SteamCMD 是 Valve 提供的命令行工具,用于在 Linux 服务器上安装和更新 Steam 平台的游戏专用服务端。几乎所有 Steam 上的游戏专用服务器都通过 SteamCMD 进行下载和管理,包括 CS2、Valheim、Rust、ARK 等热门游戏。本文将系统介绍 SteamCMD 的安装、使用方法和自动化管理技巧。购买搬瓦工 VPS 搭建游戏服务器请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 的折扣。
一、安装 SteamCMD
1.1 Ubuntu/Debian 系统
apt update
apt install lib32gcc-s1 lib32stdc++6 curl wget -y
# 创建专用用户
useradd -m -s /bin/bash steam
su - steam
# 下载并解压 SteamCMD
mkdir -p ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
1.2 CentOS/RHEL 系统
yum install glibc.i686 libstdc++.i686 curl wget -y
useradd -m -s /bin/bash steam
su - steam
mkdir -p ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
1.3 验证安装
~/steamcmd/steamcmd.sh +quit
首次运行时 SteamCMD 会自动更新自身,完成后显示 Steam> 提示符即表示安装成功。
二、SteamCMD 基础用法
2.1 交互模式
# 启动 SteamCMD 进入交互模式
~/steamcmd/steamcmd.sh
# 在 Steam> 提示符下执行命令
Steam> login anonymous
Steam> force_install_dir /home/steam/game-server
Steam> app_update 740 validate
Steam> quit
2.2 单行命令模式
更常用的方式是将所有命令写在一行中:
~/steamcmd/steamcmd.sh +force_install_dir ~/game-server +login anonymous +app_update 740 validate +quit
2.3 脚本模式
对于复杂的操作,可以将命令写入脚本文件:
cat > ~/steamcmd/update_cs2.txt << 'EOF'
@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
force_install_dir /home/steam/cs2-server
login anonymous
app_update 730 validate
quit
EOF
# 执行脚本
~/steamcmd/steamcmd.sh +runscript ~/steamcmd/update_cs2.txt
三、常用游戏 App ID 速查表
以下是常见游戏专用服务器的 Steam App ID:
- CS2:730
- Valheim:896660
- Rust:258550
- ARK: Survival Evolved:376030
- Palworld:2394010
- Terraria (TShock):105600
- 7 Days to Die:294420
- Garry's Mod:4020
- Team Fortress 2:232250
- Left 4 Dead 2:222860
- Project Zomboid:380870
- Satisfactory:1690800
四、登录模式
4.1 匿名登录
大部分游戏服务端支持匿名登录下载,无需 Steam 账号:
~/steamcmd/steamcmd.sh +login anonymous +app_update 730 validate +quit
4.2 账号登录
少数游戏服务端需要使用拥有该游戏的 Steam 账号登录:
~/steamcmd/steamcmd.sh +login your_username your_password +app_update APPID validate +quit
如果账号开启了 Steam Guard 两步验证,首次登录时需要输入验证码。登录成功后凭据会被缓存,后续无需再次输入密码。
五、自动更新脚本
创建通用的服务端更新脚本,方便管理多个游戏服务器:
cat > ~/update-game.sh << 'EOF'
#!/bin/bash
# 通用游戏服务端更新脚本
# 用法: ./update-game.sh [service_name]
APP_ID=$1
INSTALL_DIR=$2
SERVICE_NAME=$3
if [ -z "$APP_ID" ] || [ -z "$INSTALL_DIR" ]; then
echo "Usage: $0 [service_name]"
exit 1
fi
# 停止服务(如果指定了服务名)
if [ -n "$SERVICE_NAME" ]; then
echo "Stopping $SERVICE_NAME..."
sudo systemctl stop $SERVICE_NAME
fi
# 更新服务端
echo "Updating App ID $APP_ID..."
~/steamcmd/steamcmd.sh +force_install_dir $INSTALL_DIR +login anonymous +app_update $APP_ID validate +quit
# 启动服务
if [ -n "$SERVICE_NAME" ]; then
echo "Starting $SERVICE_NAME..."
sudo systemctl start $SERVICE_NAME
fi
echo "Update completed at $(date)"
EOF
chmod +x ~/update-game.sh
# 使用示例
./update-game.sh 896660 ~/valheim-server valheim
./update-game.sh 258550 ~/rust-server rust
六、定时自动更新
# 每天凌晨 4 点自动更新所有游戏服务端
(crontab -l 2>/dev/null; echo "0 4 * * * /home/steam/update-game.sh 896660 /home/steam/valheim-server valheim >> /home/steam/logs/update.log 2>&1") | crontab -
(crontab -l 2>/dev/null; echo "10 4 * * * /home/steam/update-game.sh 258550 /home/steam/rust-server rust >> /home/steam/logs/update.log 2>&1") | crontab -
mkdir -p ~/logs
七、Workshop 内容下载
SteamCMD 也可以下载 Steam Workshop 中的 Mod 和地图:
# 下载 Workshop 物品
~/steamcmd/steamcmd.sh +login anonymous +workshop_download_item GAME_APPID WORKSHOP_ITEM_ID +quit
# 示例:下载 ARK 的某个 Mod
~/steamcmd/steamcmd.sh +login anonymous +workshop_download_item 346110 731604991 +quit
下载的内容保存在 ~/steamcmd/steamapps/workshop/content/ 目录下。
八、磁盘空间管理
# 查看各服务器占用空间
du -sh ~/*/
# 清理 SteamCMD 缓存
rm -rf ~/steamcmd/steamapps/downloading/*
rm -rf ~/steamcmd/steamapps/temp/*
# 查看总磁盘使用情况
df -h
九、常见问题
SteamCMD 更新失败
如果 SteamCMD 在更新过程中报错,可以尝试清理缓存后重试:
rm -rf ~/steamcmd/steamapps
rm -rf ~/steamcmd/package
~/steamcmd/steamcmd.sh +quit
lib32gcc 缺失
这是最常见的依赖问题,确保已安装 32 位库:
# Ubuntu/Debian
dpkg --add-architecture i386
apt update
apt install lib32gcc-s1 lib32stdc++6 -y
# CentOS
yum install glibc.i686 libstdc++.i686 -y
下载速度慢
SteamCMD 的下载速度取决于服务器到 Steam CDN 的网络质量。搬瓦工 VPS 的多个数据中心通常都有不错的下载速度。如果特别慢,可以尝试在低峰时段下载。
总结
SteamCMD 是管理 Linux 游戏服务器的核心工具,掌握它的使用方法可以轻松搭建和维护各种 Steam 游戏服务器。如果你需要更直观的图形化管理界面,推荐使用 Pterodactyl 游戏面板。具体的游戏服务器搭建教程请参阅 Valheim、Rust、CS2、幻兽帕鲁 等。购买搬瓦工 VPS 请访问 bwh81.net,使用优惠码 NODESEEK2026 可享受 6.77% 的折扣。