在本指南中,我们将下载、配置并运行一个 ARK: Survival Ascended 专用服务器。
ASA 服务器比大多数游戏更吃资源。虚幻引擎 5 的重写大幅提高了内存需求,而且有一个平台层面的事实贯穿本指南始终:ARK: Survival Ascended 没有原生的 Linux 专用服务器。Wildcard 只发布了 Windows 二进制文件,Linux 主机需要通过 Proton 或 Wine 来运行它。
我们会完整讲解 Windows 部分,然后是 Linux 上的 Proton 方案,附带 apt 和 dnf 的操作说明,因为这正是大多数在 Linux 主机上运行 ASA 的人实际采用的方式。
前置要求
- Windows 10 22H2 或更高版本,或 Windows Server 2016 或更高版本。你选择的版本需要同时被 Microsoft 和 Steam 支持。
- 或者,使用现代 Linux 发行版,通过 Proton 或 Wine 运行服务器。
- 需要 64 位 系统。服务器二进制文件仅支持 64 位。
- 每个服务器安装大约需要 11 GiB 的磁盘空间,另外还需为存档、配置文件、日志、更新和模组预留空间。为保险起见,预算 20 GB。
- 建议每个服务器实例配备 4 个逻辑核心。单线程性能仍然比核心数量更重要,因为除物理运算外的游戏逻辑都运行在单一线程上。
- 大量的内存。见下文。
每张地图的内存占用
这是让从 ARK: Survival Evolved 转来的人感到意外的数字。以下数据基于默认设置、无人连接的空地图:
| 地图 | 关卡名称 | 空地图内存占用 |
|---|---|---|
| The Island | TheIsland_WP |
8 - 10 GiB |
| The Center | TheCenter_WP |
10.5 - 12 GiB |
| Scorched Earth | ScorchedEarth_WP |
7.5 - 9 GiB |
| Aberration | Aberration_WP |
8 - 10 GiB |
| Extinction | Extinction_WP |
7 - 8.5 GiB |
随着玩家连接、世界随建筑和驯养生物的积累而“老化”,以及模组的加入,内存占用会进一步上升。使用量在生物重生阶段也会激增,这个阶段会持续数分钟。
作为对比,ASE 中相同的地图内存占用大约在 3 - 5 GiB。请为 ASA 主机规划至少 16 GB 的内存,如果你想在 The Center 上运行一个繁忙的服务器,则需要更多。
许可限制
在你为主机花钱之前,这一点值得了解。根据 ARK 的最终用户许可协议,专用服务器只能用于个人、非商业用途,除非你从 Nitrado 获得专用服务器许可证。
只要捐赠者没有获得任何有价值的回报,接受捐赠就是允许的,收回你的运营成本也是允许的。超出这个范围赚钱则不允许。
下载服务器文件
ASA 专用服务器是 Steam 应用 2430930,通过匿名登录即可免费获取。
你需要用到 SteamCMD。我们有一篇专门的指南:
ArticleHow To Download & Run SteamCMD (2026)A guide on how to download and run SteamCMD on both Linux and Windows.1.3k00
安装好 SteamCMD 后:
login anonymous
force_install_dir C:\ark-asa
app_update 2430930 validate
quit
或者作为单条命令:
steamcmd.exe +login anonymous +force_install_dir C:\ark-asa +app_update 2430930 validate +quit
注意 - 当 Steam 的 CDN 繁忙时,有时会降低匿名登录的优先级,甚至直接拒绝,尤其是当服务器同时尝试拉取多个模组时特别常见。如果下载持续卡住,改用真实的 Steam 账户登录通常可以解决问题。
服务器可执行文件最终位于:
<install folder>\ShooterGame\Binaries\Win64\ArkAscendedServer.exe
你的启动脚本也应该放在这里。
Windows 前置条件
服务器需要两个未内置的运行库:
在首次启动前安装好这两者。缺少 VC++ 运行库是导致全新 ASA 服务器立即退出且没有任何有用错误信息的最常见原因。
Windows Server 与证书吊销列表
如果你使用的是 Windows Server 版本而不是桌面版 Windows,还需要额外一步,跳过这一步会导致你的服务器永远不会出现在浏览器中。
Windows Server 对证书和吊销列表的处理方式不同,必须正确启用并配置 TLS 1.2。你还需要手动安装证书吊销列表:
- 从 dev.epicgames.com 下载
r2m02.crl,或直接从 crl.r2m02.amazontrust.com/r2m02.crl 下载。 - 右键点击下载的文件并选择安装。
- 选择将所有的证书都放入下列存储,并选择受信任的根证书颁发机构。
- 重启机器。
警告 - 如果你在 2023 年 11 月 18 日之前搭建过服务器,并安装了 r2m02.cer 证书,该证书此后已被吊销,必须将其移除,否则你的服务器会一直处于不可见状态。运行 certmgr.msc 和 certlm.msc,在“受信任的根证书颁发机构”下分别搜索 Amazon RSA 2048 M02,将其移除,然后重启。
地图名称
ASA 使用 World Partition 关卡名称,均以 _WP 结尾,与 ASE 的名称不同。写错这个会导致服务器拒绝启动。
| 地图 | ASA 关卡名称 |
|---|---|
| The Island | TheIsland_WP |
| The Center | TheCenter_WP |
| Scorched Earth | ScorchedEarth_WP |
| Ragnarok | Ragnarok_WP |
| Aberration | Aberration_WP |
| Extinction | Extinction_WP |
| Astraeos | Astraeos_WP |
| Lost Colony | LostColony_WP |
| Club ARK | BobsMissions_WP |
地图名称紧跟在可执行文件之后,位于所有其他选项之前。
启动选项
ASA 在同一条命令行中混合使用了两种语法,这正是大多数配置问题的根源。
问号选项紧跟在地图名称之后,用 ? 连接:
| Option | Description |
|---|---|
?SessionName=<name> |
浏览器中显示的服务器名称。 |
?ServerPassword=<password> |
玩家加入所需的密码。省略整个选项即可开放服务器。 |
?ServerAdminPassword=<password> |
管理员密码,同时也用于 RCON。 |
?RCONEnabled=True |
启用 RCON。 |
?RCONPort=27020 |
RCON 使用的 TCP 端口。 |
连字符选项跟在这些选项之后,用空格分隔:
| Option | Default | Description |
|---|---|---|
-port=<port> |
7777 |
UDP 游戏端口。 |
-WinLiveMaxPlayers=<n> |
70 |
最大玩家数。 |
-mods=<id1,id2> |
N/A | CurseForge 项目 ID,启动时自动更新。 |
-NoBattlEye |
off | 在不启用 BattlEye 的情况下运行。 |
-log |
off | 写入控制台日志。 |
-MULTIHOME |
off | 绑定到特定 IP。需要同时设置 MULTIHOME=<ip>。 |
-NoTransferFromFiltering |
off | 禁用单人模式与非集群服务器之间的 ARK Data 传输。 |
ASA 语法的三个陷阱
几乎每个人都会中一次这些坑。
?ServerAdminPassword=必须是最后一个?选项。 ASA 会把它之后的所有内容都解析成密码的一部分。把它放在?链的末尾,放在连字符选项之前。- ASA 需要
-port=<port>,而不是?Port=<port>。 用?形式的话,服务器会默默忽略你,仍然停留在 7777 端口。这与 ASE 不同。 GameUserSettings.ini中的ActiveMods不起作用。 那是 ASE 的设置。ASA 在命令行中使用-mods=,并且完全不使用 Steam Workshop。
在 Windows 上启动服务器
在 ShooterGame\Binaries\Win64 中打开终端并运行:
.\ArkAscendedServer.exe TheIsland_WP?SessionName="My ASA Server"?ServerPassword=joinme?ServerAdminPassword=changeme -port=7777 -WinLiveMaxPlayers=20 -log
首次启动会花一些时间,因为服务器要生成世界。留意它是否出现在游戏内的非官方服务器浏览器中,以确认它已启动。
创建启动脚本
每次都手动输入这些内容会很烦。在 ArkAscendedServer.exe 所在文件夹中创建 start.bat:
@echo off
setlocal
set SESSIONNAME=My ASA Server
set MAP=TheIsland_WP
set PORT=7777
set MAXPLAYERS=20
set ADMINPASS=changeme
set RESTART_DELAY=10
:restart
cls
echo Starting ARK: Survival Ascended server...
echo.
.\ArkAscendedServer.exe %MAP%?SessionName="%SESSIONNAME%"?RCONEnabled=True?RCONPort=27020?ServerAdminPassword=%ADMINPASS% ^
-port=%PORT% ^
-WinLiveMaxPlayers=%MAXPLAYERS% ^
-log
echo.
echo Server stopped or crashed. Restarting in %RESTART_DELAY% seconds...
timeout /t %RESTART_DELAY% /nobreak > nul
goto restart
编辑顶部的变量,保存后双击运行即可。该脚本会在服务器崩溃或被关闭时自动重启它。
提示 - 注意 ?ServerAdminPassword= 所在的位置:位于 ? 链的最后,紧接在连字符选项之前。这个顺序是有意为之的。
通过 Proton 在 Linux 上运行
ASA 服务器没有原生的 Linux 版本。下面是社区的做法,效果不错,但这不是 Wildcard 官方支持的方式。
安装依赖
你需要 SteamCMD 以及 Proton 或 Wine 运行环境。
Debian 与 Ubuntu:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y multiverse
sudo apt install -y steamcmd lib32gcc-s1 wine winetricks screen curl tar
Fedora、RHEL 与 Rocky:
sudo dnf install -y glibc.i686 libstdc++.i686 wine winetricks screen curl tar
# SteamCMD is not packaged on all RHEL-family distros, so fetch it directly:
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
然后按照与 Windows 上完全相同的方式下载服务器文件,使用 Windows 平台覆盖选项,让 SteamCMD 获取 Windows 版本的二进制文件:
./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous \
+force_install_dir /home/ark/asa +app_update 2430930 validate +quit
这行 +@sSteamCmdForcePlatformType windows 是必不可少的。没有它,SteamCMD 会去寻找一个并不存在的 Linux depot。
注意 - 大多数在 Linux 上运行 ASA 的人使用 GE-Proton,而不是纯粹的 Wine,因为它能更可靠地处理 Epic Online Services 的部分。社区中也存在若干为你搭建好整个 prefix 的包装项目,在自己动手搭建之前值得先看看这些项目。
运行服务器
配置好 Wine prefix 后,启动命令与 Windows 上的基本一致:
export WINEPREFIX=/home/ark/.wine-asa
export WINEARCH=win64
wine /home/ark/asa/ShooterGame/Binaries/Win64/ArkAscendedServer.exe \
"TheIsland_WP?SessionName=My ASA Server?RCONEnabled=True?RCONPort=27020?ServerAdminPassword=changeme" \
-port=7777 -WinLiveMaxPlayers=20 -log
预期这会比原生服务器更粗糙。启动更慢,内存占用更高,排查问题时还要判断故障是出在 ASA 本身还是 Wine prefix 上。
保持服务器运行
把上面的内容包装成一个脚本,用 screen 运行:
screen -S asa ./start_asa.sh
按 CTRL + A 然后 D 分离会话,用 screen -r asa 重新连接。
如果想要更持久的方案,可以在 /etc/systemd/system/asa.service 创建一个 systemd 单元:
[Unit]
Description=ARK Survival Ascended Dedicated Server
After=network.target
[Service]
Type=simple
User=ark
WorkingDirectory=/home/ark/asa/ShooterGame/Binaries/Win64
ExecStart=/home/ark/start_asa.sh
Restart=on-failure
RestartSec=30
TimeoutStopSec=180
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now asa
这个较长的 TimeoutStopSec 是有意设置的。ASA 保存和关闭需要一些时间,如果强行缩短这个时间,可能会导致进度丢失。
端口与端口转发
服务器会监听以下本地端口。请在路由器上转发这些端口,并在操作系统防火墙中放行它们。
| Protocol | Port | Purpose |
|---|---|---|
| UDP | 7777 | 游戏端口 |
| UDP | 7778 | 对等端口,始终为游戏端口 + 1 |
| UDP | 27015 | 查询端口,仅用于 Steam 服务器浏览器 |
| TCP | 27020 | RCON(如果已启用) |
警告 - ARK 的服务器不支持 UPnP 或任何其他自动端口转发方式,因此你必须在路由器上手动完成这项操作。
对等端口用于 Steam 的 P2P 协议,以在游戏内浏览器中进行广播。Epic 客户端则使用标准的 80 和 443 端口,配合 TLS 1.2。
在 Linux 上:
# Debian/Ubuntu with ufw
sudo ufw allow 7777:7778/udp
sudo ufw allow 27015/udp
sudo ufw allow 27020/tcp
# Fedora/RHEL with firewalld
sudo firewall-cmd --permanent --add-port=7777-7778/udp
sudo firewall-cmd --permanent --add-port=27015/udp
sudo firewall-cmd --permanent --add-port=27020/tcp
sudo firewall-cmd --reload
在同一台机器上运行多个服务器
这是支持的,通常的做法是按区块递增端口号:
| Instance | Game (UDP) | Peer (UDP) | Query (UDP) | RCON (TCP) |
|---|---|---|---|---|
| 1 | 7777 | 7778 | 27015 | 27020 |
| 2 | 7779 | 7780 | 27016 | 27021 |
| 3 | 7781 | 7782 | 27017 | 27022 |
完全不同的端口号也可以正常工作。唯一的限制是,除非显式提供查询端口,否则 Steam 服务器浏览器无法找到查询端口高于 27020 的服务器。
这样做时请记住内存表。在 The Island 上运行三个 ASA 实例,在还没有任何人加入之前就已经需要 30 GiB。
配置文件
除了启动选项之外,服务器配置的大部分内容都存放在两个 .ini 文件中:
<install folder>\ShooterGame\Saved\Config\WindowsServer\GameUserSettings.ini
<install folder>\ShooterGame\Saved\Config\WindowsServer\Game.ini
这些文件只有在首次启动后才会创建,所以请先启动一次服务器,再进行编辑。
GameUserSettings.ini 在 [ServerSettings] 下保存了大部分日常设置:采集与经验倍率、驯服速度、昼夜长度、建筑上限、PvP 开关等。Game.ini 则保存更深层的调整,例如各等级的工程点数和各生物的属性倍率。
ARK Wiki 服务器配置页面 是这两者完整且详尽的参考资料。调整设置时值得一直开着这个页面。
提示 - 编辑 .ini 文件前请先停止服务器。ASA 会在关闭时重写这些文件,如果你在服务器运行时编辑,它会毫不犹豫地覆盖你的更改。
RCON
RCON 让你可以远程执行管理员命令,这比切换到控制台窗口方便得多。
用以下 ? 选项开启它:
?RCONEnabled=True?RCONPort=27020
ServerAdminPassword 同时也是 RCON 密码,所以必须设置它才能使用 RCON。请使用一个真正安全的密码,并且只把它交给你信任的人,因为它授予完全的管理员控制权。
如果要从网络外部使用 RCON,请转发 TCP 27020 端口,并且只有在你了解其暴露风险的情况下才这么做。
注意 - 我们自己的 TMC App 内置了 RCON 功能,支持完整的命令历史记录与日志、同时向多台服务器发送命令,以及命令的定时调度。它还有一个带实时延迟和状态图表的服务器浏览器。如果你运行不止一台 ARK 服务器,值得一试,但有一点需要注意:它仍处于非常早期的开发阶段,README 中也说明了这一点,所以请当作部分测试版对待。尝试它并告诉我们出了什么问题,是目前对它最有帮助的事情。它以 GPL-3.0 协议开源,地址在 github.com/modcommunity/tmc-app,欢迎在 issue tracker 中提交 bug 报告和功能请求。
添加模组
ASA 的模组来自 CurseForge,而不是 Steam Workshop,添加方式是在 -mods= 中使用 CurseForge 的 Project ID:
-mods=1163881
多个模组用逗号分隔,中间不要有空格:
-mods=1163881,927131,893657
服务器会在启动时自行下载并更新它们。加载顺序从左到右,最左边的 ID 优先级高于其后的 ID。自定义地图模组通常放在最前面。
玩家无需提前安装任何东西。加入一个装有模组的 ASA 服务器时,客户端会自动下载这些模组,PS5 和 Xbox Series 主机上的运作方式也是如此。
我们另有一篇 ARK: Survival Ascended 模组指南,介绍了客户端方面的内容以及如何查找 Project ID。
更新服务器
ASA 客户端拒绝连接运行旧版本的服务器,所以每次游戏更新后都需要更新服务器。
重新运行你安装时使用的同一条 SteamCMD 命令:
steamcmd.exe +login anonymous +force_install_dir C:\ark-asa +app_update 2430930 validate +quit
先停止服务器。在服务器运行时更新底层文件很容易导致数据损坏。
模组会在服务器下次启动时自行更新,所以这方面不需要额外操作。
提示 - 更新前请备份 ShooterGame\Saved。它保存着你的世界、玩家档案和部落数据,是唯一无法重新下载的部分。
疑难排解
服务器立即退出且没有任何提示。 缺少必要组件。请安装 VC++ 2013 x64 可再发行组件包和 2010 年 6 月版的 DirectX 运行库。
服务器运行正常,但从未出现在浏览器中。 在 Windows Server 上,这几乎总是证书吊销列表的问题,请按照上文步骤操作。在桌面版 Windows 上,请检查查询端口是否已转发。
无论我怎么设置,端口始终是 7777。 你用的是 ?Port= 而不是 -port=。ASA 需要连字符形式。
管理员密码不起作用,而且它之后的内容都不生效。 说明 ?ServerAdminPassword= 不是你 ? 参数链中的最后一个,导致它后面的内容都被吞进了密码里。
模组无法加载。 请检查你用的是 -mods= 而不是 ActiveMods,确认使用的是 Project ID 而非文件 ID,并且逗号后面没有空格。
在 Linux 上服务器被 OOM killer 杀死。 再看一遍内存表。ASA 需要大量内存,而 The Center 需求最高。
Steam 下载一直卡住。 Steam 繁忙时匿名登录的优先级会被降低。改用真实账号登录即可。
在 Linux 上一切都变慢了。 这是预期的。你是通过转译层运行 Windows 二进制文件。如果性能很重要,Windows 才是官方支持的平台。
我能在 Linux 上原生运行 ASE 服务器吗? 可以,这确实是这两款游戏的一个真实差异。ASE 原生支持 Linux,需要 glibc 2.17 或更新版本。而 ASA 不支持。
结语
ASA 服务器的问题主要集中在内存和语法上。用 SteamCMD 拉取应用 2430930,安装 VC++ 和 DirectX 运行库,并构建一条命令行,把 ?ServerAdminPassword= 放在 ? 参数链的最后,并使用带连字符的 -port=。
决定动手前要检查的两件事:你有足够的内存,因为一张空的 Island 地图就已经需要 8 - 10 GiB;以及你使用的是 Windows,或者已经准备好应对 Proton,因为没有原生的 Linux 服务器。
另请参阅
- ARK Wiki: Dedicated server setup - 目前最详尽的参考资料,也是本指南很大一部分内容的来源。
- ARK Wiki: Server configuration - 涵盖所有
.ini设置项和启动参数。 - ARK: Survival Ascended on CurseForge
- ARK 官方 Discord
- SteamCMD 文档
- GE-Proton - 大多数 Linux ASA 服主使用的 Proton 版本。
- TMC App - 我们自己开发的服务器浏览器,带实时延迟图表,以及支持历史记录、多服务器命令和计划任务的 RCON 功能。基于 GPL-3.0 开源,目前仍处于非常早期的开发阶段,欢迎提供反馈。
我们会尽力让本指南保持最新,但 ARK 会持续更新,尤其是 Linux 方面的情况会随着社区工具的发展而变化。如果这里的某项说明与你实际看到的情况不符,请告知我们,或在本指南的 GitHub 仓库中提交一个 pull request。
如果你有任何问题,或需要服务器或模组相关方面的帮助,欢迎加入我们的 Discord 服务器!

