Assetto Corsa《神力科莎》 专用服务器搭建教程:SteamCMD 安装与多人联机配置
Assetto Corsa《神力科莎》 是由意大利 Kunos Simulazioni 开发的顶级赛车模拟游戏,以其极为精准的车辆物理模型和轮胎模拟而在赛车游戏领域享有极高声誉。无论是职业赛车手练习还是玩家联机竞速,Assetto Corsa 的专用服务器都是举办高质量多人赛事的核心基础设施。与客户端 P2P 模式相比,专用服务器提供更稳定的延迟、完善的赛事管理功能,以及不受客户端在线状态影响的 24 小时持续运营能力。
搭建 Assetto Corsa 专用服务器需要通过 SteamCMD 下载官方 Linux 服务端程序(App ID: 302550),配置赛道、车辆、天气、助手设置等参数,并通过 systemd 实现服务自动管理。本教程基于 Linux 环境,适合个人车队、模拟赛车俱乐部以及赛事组织者。
搭好服务器后,你可以配合内容管理器(Content Manager)或 AC Server Manager 等前端工具实现图形化管理,大幅降低运维门槛,让更多精力集中在赛事策划和社区运营上。
服务器配置
推荐使用 雨云服务器 rainyun-com 搭建 Assetto Corsa 专用服务器。注册填优惠码 2026off 领 5 折优惠券,2 核 4GB 机型 足以稳定运行一个容纳 16-24 名玩家的赛车房间,性价比极高。
推荐系统配置:
- 操作系统:Ubuntu 22.04 LTS(64 位)
- CPU:2 核(支持更多玩家可升级至 4 核)
- 内存:4GB(每个房间约消耗 500MB-1GB)
- 存储:40GB SSD(含服务端文件、赛道和车辆数据)
- 带宽:每名玩家约需 100-200 Kbps 上行,16 人房间建议至少 5 Mbps
- 开放端口:TCP/UDP 9600(游戏)、TCP 8081(HTTP 接口,可选)
准备工作
系统初始化
bash
# 更新系统
apt update && apt upgrade -y
# 安装必要依赖
apt install -y lib32gcc-s1 curl wget unzip screen ufw
# 配置防火墙
ufw allow 22/tcp
ufw allow 9600/tcp
ufw allow 9600/udp
ufw allow 8081/tcp
ufw enable
创建专用用户
bash
# 创建非 root 用户运行服务端(安全最佳实践)
useradd -m -s /bin/bash acserver
su - acserver
安装 SteamCMD
bash
# 切换到 acserver 用户家目录
cd ~
mkdir -p ~/steamcmd && cd ~/steamcmd
# 下载 SteamCMD
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
# 验证安装
./steamcmd.sh +quit
详细配置:安装服务端
下载 Assetto Corsa Server
bash
# 使用 SteamCMD 下载服务端(App ID 302550 为 AC Dedicated Server)
~/steamcmd/steamcmd.sh \
+force_install_dir ~/ac-server \
+login anonymous \
+app_update 302550 validate \
+quit
注意: Assetto Corsa 专用服务器(App ID 302550)支持匿名下载,无需 Steam 账号。
验证安装
bash
ls ~/ac-server/
# 应看到 acServer 可执行文件和 cfg/、content/ 等目录
ls ~/ac-server/cfg/
# server_cfg.ini entry_list.ini
基础服务器配置
编辑主配置文件 ~/ac-server/cfg/server_cfg.ini:
ini
[SERVER]
NAME=My AC Racing Server
CARS=ks_porsche_911_gt3_rs;ks_ferrari_488_gt3;ks_lamborghini_huracan_gt3
TRACK=ks_nurburgring
TRACK_LAYOUT=nordschleife
SUN_ANGLE=-8
PASSWORD=
ADMIN_PASSWORD=your_admin_password_here
UDP_PORT=9600
TCP_PORT=9600
HTTP_PORT=8081
MAX_CLIENTS=16
NUM_THREADS=2
REGISTER_TO_LOBBY=1
PICKUP_MODE_ENABLED=1
SLEEP_TIME=1
[FIA_FLAGS]
FORCE_VIRTUAL_MIRROR=0
[PRACTICE]
NAME=Free Practice
TIME=30
IS_OPEN=1
[QUALIFY]
NAME=Qualifying
TIME=15
IS_OPEN=1
[RACE]
NAME=Race
LAPS=10
WAIT_TIME=60
IS_OPEN=0
[DYNAMIC_TRACK]
SESSION_START=96
RANDOMNESS=2
SESSION_TRANSFER=50
LAP_GAIN=10
[WEATHER_0]
GRAPHICS=3_clear
BASE_TEMPERATURE_AMBIENT=26
VARIATION_AMBIENT=1
BASE_TEMPERATURE_ROAD=6
VARIATION_ROAD=1
WIND_BASE_SPEED_MIN=3
WIND_BASE_SPEED_MAX=15
WIND_BASE_DIRECTION=30
WIND_VARIATION_DIRECTION=15
配置参赛车辆列表
编辑 ~/ac-server/cfg/entry_list.ini,每辆车对应一个条目:
ini
[CAR_0]
MODEL=ks_porsche_911_gt3_rs
SKIN=0_white
SPECTATOR_MODE=0
DRIVER_NAME=
TEAM=
GUID=
BALLAST=0
RESTRICTOR=0
[CAR_1]
MODEL=ks_ferrari_488_gt3
SKIN=0_ferrari_red
SPECTATOR_MODE=0
DRIVER_NAME=
TEAM=
GUID=
BALLAST=0
RESTRICTOR=0
[CAR_2]
MODEL=ks_lamborghini_huracan_gt3
SKIN=0_yellow
SPECTATOR_MODE=0
DRIVER_NAME=
TEAM=
GUID=
BALLAST=0
RESTRICTOR=0
手动测试启动
bash
cd ~/ac-server
./acServer
# 观察输出,确认服务器正常启动
# [ServerManager] Server started
# Waiting for connections on port 9600...
按 Ctrl+C 停止,确认无报错后配置 systemd 服务。
核心功能:游戏配置进阶
添加 Mod 赛道和车辆
将 mod 车辆文件夹复制到服务端对应目录:
bash
# 赛道放置位置
~/ac-server/content/tracks/<track_id>/
# 车辆放置位置
~/ac-server/content/cars/<car_id>/
服务端只需要车辆的 data/ 目录(物理数据),不需要3D模型文件,可有效节省存储空间:
bash
# 从客户端提取服务端所需文件
rsync -av --include="data/" --exclude="*" \
/path/to/ac/content/cars/my_mod_car/ \
~/ac-server/content/cars/my_mod_car/
配置助力系统限制
在 server_cfg.ini 中精确控制驾驶辅助系统:
ini
[SERVER]
ABS_ALLOWED=1 ; 0=禁止, 1=出厂设置, 2=允许
TC_ALLOWED=1 ; 牵引力控制
STABILITY_ALLOWED=0
AUTOCLUTCH_ALLOWED=1
TYRE_BLANKETS_ALLOWED=1
FORCE_VIRTUAL_MIRROR=0
配置赛事管理员命令
进入游戏后,管理员可通过聊天框使用以下命令:
/next_session - 跳转下一阶段
/restart_session - 重启当前阶段
/ballast [car_id] [kg] - 设置配重
/ban_id [car_id] - 踢出玩家
/kick_id [car_id] - 踢出玩家
使用技巧
创建 systemd 服务
bash
# 切换回 root 用户
exit
# 创建 systemd 服务文件
cat > /etc/systemd/system/acserver.service << 'EOF'
[Unit]
Description=Assetto Corsa Dedicated Server
After=network.target
[Service]
Type=simple
User=acserver
WorkingDirectory=/home/acserver/ac-server
ExecStart=/home/acserver/ac-server/acServer
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
EOF
# 启用并启动服务
systemctl daemon-reload
systemctl enable acserver
systemctl start acserver
# 查看运行状态
systemctl status acserver
journalctl -u acserver -f
使用 Screen 管理多个房间
bash
# 以不同配置目录运行多个房间实例
screen -S race1 -dm bash -c "cd ~/ac-server && AC_CFG_DIR=cfg_race1 ./acServer"
screen -S race2 -dm bash -c "cd ~/ac-server && AC_CFG_DIR=cfg_race2 ./acServer"
# 进入 screen 会话查看日志
screen -r race1
定期自动更新服务端
bash
# 创建更新脚本
cat > /home/acserver/update-server.sh << 'EOF'
#!/bin/bash
systemctl stop acserver
/home/acserver/steamcmd/steamcmd.sh \
+force_install_dir /home/acserver/ac-server \
+login anonymous \
+app_update 302550 validate \
+quit
systemctl start acserver
EOF
chmod +x /home/acserver/update-server.sh
# 添加每周自动更新(周日凌晨 4 点)
echo "0 4 * * 0 acserver /home/acserver/update-server.sh" | crontab -
监控在线玩家
通过 HTTP 接口查询服务器状态(需开启 HTTP_PORT):
bash
curl http://localhost:8081/INFO
curl http://localhost:8081/JSON | python3 -m json.tool
常见问题排查
Q:服务器已启动但在大厅列表中不可见
确认 REGISTER_TO_LOBBY=1 已设置,且服务器外网 IP 的 UDP/TCP 9600 端口已开放。检查防火墙规则:
bash
ufw status verbose
# 使用在线端口检测工具验证端口是否对外开放
Q:玩家连接时显示 "Wrong checksum"
服务端与客户端的车辆/赛道数据不一致。确保 content/ 目录下的文件哈希值与客户端完全一致,删除服务端对应内容后重新传输。
Q:./acServer 启动后立即崩溃
查看错误输出,常见原因是配置文件语法错误或指定的赛道/车辆 ID 不存在:
bash
cd ~/ac-server && ./acServer 2>&1 | head -50
Q:玩家反馈延迟高
检查服务器与玩家的网络路由,优先选择地理位置靠近玩家群体的机房。同时确认 NUM_THREADS 参数与服务器 CPU 核心数匹配。
Q:服务器崩溃后没有自动重启
确认 systemd 服务的 Restart=on-failure 配置生效:
bash
systemctl show acserver | grep Restart
搭建一台稳定流畅的 Assetto Corsa 专用服务器,选择网络质量过硬的云服务器至关重要。雨云服务器 rainyun-com 的 2 核 4GB 机型 完全满足 16 人赛车房间的需求,BGP 多线接入保障各地玩家低延迟连接体验。注册填入优惠码 2026off 即可获得 5 折优惠券,以最低成本打造你的专属赛车竞技场。