喜欢玩《Assetto Corsa》的朋友,应该都体验过和朋友联机赛车的快乐吧。但很多人不知道,其实你完全可以自己搭建一台 专属服务器,邀请好友一起跑圈、漂移、开赛道活动,比公用房间更稳定,还能自由加载MOD。
本期小编就指导大家如何从零开始搭建一台Assetto Corsa服务器,包括准备环境、配置文件、开放端口等内容,大家可以跟着这篇教程一步步地操作,拥有一个属于自己的Assetto Corsa服务器其实很简单。
一、什么是Assetto Corsa专用服务器?
AC 服务器本质上是运行 acServer
的一台常开主机,负责房间规则、赛道/车辆、玩家人数与网络会话。玩家端通过 公网IP:端口 连接进入你的房间。
- 服务器端核心文件:
acServer
可执行程序 +cfg
配置 +content
(赛道/车辆/皮肤) - 客户端要求:玩家本地必须有相同赛道与车辆(含版本),否则会校验失败进不去
- 延迟与流畅度:取决于服务器机房线路、带宽与玩家到机房的物理距离
二、搭建或实现的具体步骤
准备工作:准备一台云服务器(VPS)
推荐两家我用过且性价比高的:
- 萤光云(YGCloud):价格低、CN2 优化回国线路,原生 IP,连接稳定;适合长期房间与固定俱乐部活动。支持 Windows / Linux,一键装环境很顺手。
- LightNode:按小时计费超灵活,全球 40+ 节点(新加坡、香港、日本等亚洲热门点位齐),NVMe SSD,2 分钟就能开机;非常适合临时赛事或周末联赛。
建议配置(10人左右稳定房间):
- CPU:2 vCPU 起(物理性能越强越稳)
- 内存:4GB 起
- 磁盘:20GB+(含 MOD 余量)
- 带宽:≥10 Mbps(上/下行都要看,更多人需更高)
- 系统:Windows Server 2019/2022 或 Ubuntu 22.04 LTS
小编建议:亚洲玩家多就选香港/新加坡/日本节点;欧洲房就放德法荷/英国;尽量离人群地理更近,延迟更美丽。
步骤1:安装 SteamCMD 与 AC专用服务器
1A. Windows 安装
- 下载 SteamCMD(官方 exe)→ 放到如
C:\steamcmd
- 以管理员运行
cmd
/PowerShell,执行:
cd C:\steamcmd
steamcmd +login anonymous +force_install_dir C:\acserver +app_update 302550 validate +quit
302550
是 Assetto Corsa Dedicated Server 的 App ID- 安装完成后,服务器文件会在
C:\acserver
下
1B. Ubuntu / Debian 安装
- 准备依赖与 32 位库(SteamCMD 需要):
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl ca-certificates tar unzip ufw
- 新建专用账户与目录:
sudo useradd -m -s /bin/bash acserver
sudo mkdir -p /opt/acserver /opt/steamcmd
sudo chown -R acserver:acserver /opt/acserver /opt/steamcmd
- 安装 SteamCMD 并拉取 AC 服务器:
sudo -iu acserver bash -c '
cd /opt/steamcmd
curl -sSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar -xz
./steamcmd.sh +login anonymous +force_install_dir /opt/acserver +app_update 302550 validate +quit
'
步骤2:准备与理解核心目录结构
常见结构(Windows 类似):
/opt/acserver/
├─ acServer (或 acServer.exe)
├─ cfg/
│ ├─ server_cfg.ini # 主配置:端口、模式、赛道、房名等
│ ├─ entry_list.ini # 玩家/车辆/皮肤列表(含 Steam GUID)
│ └─ welcome.txt # 进房欢迎语(可选)
├─ content/
│ ├─ tracks/ # 赛道(需与客户端一致)
│ └─ cars/ # 车辆(需与客户端一致)
└─ logs/ # 日志(问题排查的第一现场)
步骤3:写配置(可直接套用)
3A. server_cfg.ini
(完整示例,10人房)
[SERVER]
NAME=My_Club_Racing_Server
PASSWORD=
ADMIN_PASSWORD=superadmin123
UDP_PORT=9600
TCP_PORT=9600
HTTP_PORT=8081
REGISTER_TO_LOBBY=1
MAX_CLIENTS=10
MAX_BALLAST_KG=0
SLEEP_TIME=1
LOOP_MODE=1
PICKUP_MODE_ENABLED=1
WELCOME_MESSAGE=cfg/welcome.txt
# 房间流程(练习/排位/正赛)
PRACTICE=1
PRACTICE_TIME=20 ; 分钟
QUALIFY=1
QUALIFY_TIME=15
RACE=1
RACE_LAPS=10
RACE_OVER_TIME=180 ; 结束等待(秒)
# 赛道与布局(示例:Monza)
TRACK=monza
CONFIG_TRACK=gp
# 车辆(英文短名,逗号分隔)
CARS=ks_ferrari_458_gt2,ks_bmw_m3_e30
# 网络/同步(保守值更稳)
CLIENT_SEND_INTERVAL_HZ=18
SEND_BUFFER_SIZE=0
RECV_BUFFER_SIZE=0
# 碰撞与惩罚
ALLOWED_TYRES_OUT=2
ABS_ALLOWED=1
TC_ALLOWED=1
STABILITY_ALLOWED=0
AUTOCLUTCH_ALLOWED=1
DAMAGE_MULTIPLIER=50
FUEL_RATE=100
TYRE_WEAR_RATE=100
DYNAMIC_TRACK=1
TYRE_BLANKETS_ALLOWED=1
# 倒计时
START_RULE=2 ; 0=直接走,1=计时灯,2=表盘灯
WAIT_TIME=30
要点解释
REGISTER_TO_LOBBY=1
:把你的房间注册到官方大厅,玩家能在游戏内列表看到TRACK
/CARS
:务必与content/
下的文件一致;玩家端也要有同版本PICKUP_MODE_ENABLED=1
:开放随进随出;联赛可关掉SLEEP_TIME
:越小越耗 CPU,1 已足够稳定- 练习/排位/正赛:按需要开关调整
- 惩罚与助力规则按俱乐部习惯设定
3B. entry_list.ini
(示例:限制固定车手/车辆/皮肤)
[CAR_0]
MODEL=ks_ferrari_458_gt2
SKIN=07_red
GUID=76561198000000001
SPECTATOR_MODE=0
BALLAST=0
RESTRICTOR=0
[CAR_1]
MODEL=ks_bmw_m3_e30
SKIN=10_white
GUID=76561198000000002
SPECTATOR_MODE=0
BALLAST=0
RESTRICTOR=0
- GUID = 车手的 Steam 64 位 ID。获取方式:
1)让玩家进一次房→看logs/
;或
2)玩家在本地 Content Manager / SteamID 查询页面获取 - 如果想开放自由进房,可暂不写
entry_list.ini
或保持最小约束
3C. welcome.txt
欢迎加入 My Club!比赛文明驾驶,出弯礼貌让行。Discord: discord.gg/xxxx
步骤4:放行端口与防火墙
默认常用:
UDP/TCP 9600
(会话端口)TCP 8081
(内置 HTTP 监控/状态页)
Windows 防火墙:
控制面板 → 高级安全 Windows 防火墙 → 入站规则 → 新建规则(端口)
放行 TCP 8081、9600 和 UDP 9600。云厂商安全组也要放行相同端口。
Ubuntu(UFW):
sudo ufw allow 8081/tcp
sudo ufw allow 9600/tcp
sudo ufw allow 9600/udp
sudo ufw reload
sudo ufw status
小编的经验是:如果玩家“能看到房间但连不进”,十有八九是云安全组没放 UDP 或端口冲突。
步骤5:启动与测试
Windows:
cd C:\acserver
acServer.exe -c cfg/server_cfg.ini
Linux:
sudo -iu acserver bash -c '
cd /opt/acserver
./acServer -c cfg/server_cfg.ini
'
玩家测试连接:
- 在游戏内大厅搜索你的房名(
NAME
) - 或直接在 Direct Join/CM 中输入
你的公网IP:9600
- 浏览器访问
http://你的公网IP:8081/
,可查看基础状态页(不同版本表现不同)
步骤6:设置开机自启与崩溃自动拉起
Linux systemd 服务示例(推荐):
/etc/systemd/system/acserver.service
[Unit]
Description=Assetto Corsa Dedicated Server
After=network.target
[Service]
User=acserver
WorkingDirectory=/opt/acserver
ExecStart=/opt/acserver/acServer -c cfg/server_cfg.ini
Restart=always
RestartSec=5
StandardOutput=append:/opt/acserver/logs/stdout.log
StandardError=append:/opt/acserver/logs/stderr.log
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
启用:
sudo systemctl daemon-reload
sudo systemctl enable --now acserver
sudo systemctl status acserver
Windows(计划任务)思路:
- 任务计划程序 → 创建任务 → “使用最高权限运行”
- 触发器:系统启动时
- 操作:
C:\acserver\acServer.exe -c cfg\server_cfg.ini
- 失败时重试:每 5 分钟 3 次
步骤7:同步 MOD、赛道与皮肤
- 服务器端:将 MOD/赛道解压到
content/cars
与content/tracks
;注意版本一致 - 玩家端:必须拥有完全相同的车与赛道(包括数据/碰撞体/布局),否则校验失败
- 建议在社群置顶一个 “必装资源包”,用网盘或 Steam Workshop 列表统一分发,减少“进不来”的问题
三、影响因素或时间预估
- 新手从零到能进房:约 30–60 分钟(取决于拉包速度与端口放行)
- 开联赛前准备:规划规则 + 分发 MOD 包 + 彩排 1 次,0.5–1 小时
- 每次换车换图:5–10 分钟(修改
server_cfg.ini
+ 重启服务)
四、优化建议
- 选点位:玩家在哪儿就把服务器放哪儿;亚洲推荐 香港/新加坡/日本。
- 稳优先:
SLEEP_TIME=1
、CLIENT_SEND_INTERVAL_HZ=18
是保守且稳定的组合。 - 限制助力:俱乐部比赛禁用稳定+强 TC/ABS,更公平也更有驾驶乐趣。
- 日志必看:
logs/
是排错神器,端口、校验、GUID 都能看出来。 - 定时重启:长时间房间可设每天凌晨重启(systemd 已崩溃自拉起)。
- 语音与裁判:开 Discord/QQ 同步裁判规则与黄旗礼仪,减少事故。
- 备份 cfg:改配置前先备份;版本回滚救命。
- 带宽与人数:人越多对上行越敏感;高峰期带宽要有余量。
五、常见问题与解决方案
1)玩家能看到房间但连接失败?
- 云平台安全组没放行 UDP 9600;或端口被占用;或玩家端 MOD 版本不同。
- 先
ufw/windows 防火墙 + 安全组
三重检查,再查logs/
。
2)玩家进房提示 checksum failed?
- 服务器与玩家端的同一车辆或赛道文件不同。统一一个资源包重新下。
3)大厅搜不到我的房?
REGISTER_TO_LOBBY=1
是否开启;公网 9600/8081 是否通;有时需等待几分钟。- 也可让玩家用 Direct Join IP 直连。
4)延迟高、橡皮筋严重?
- 选更近的节点;减少人数或升级带宽;避免同时跑占带宽的任务。
- 跨洲玩家混房很容易抖,尽量同洲。
5)如何控制房间权限与踢人?
- 设置
ADMIN_PASSWORD
,进房后通过管理指令或辅助工具进行操作。 - 也可以限制
entry_list.ini
只允许白名单玩家。
6)Windows 关了终端就停服?
- 用计划任务 “登录时/启动时运行”,或 NSSM 把 exe 做成服务。
六、温馨提示(法律合规与使用建议)
自建房间请遵守当地法律法规与游戏平台条款,不要用于任何违规用途。
选择服务器方面,我个人更偏向萤光云做长期服,走 CN2 线路、原生 IP、稳定性高;LightNode更适合短期活动或周末赛,按小时计费省心省钱。关键是选离玩家近的节点,延迟立刻能拉开体验差距。