ARK Survival Evolved《方舟生存进化》 集群服务器搭建教程:多地图联通与角色传送配置
ARK Survival Evolved《方舟生存进化》 集群服务器搭建教程:多地图联通与角色传送配置
单张地图的 ARK 私服玩久了难免单调——孤岛刷遍了,想去焦土体验高温沙漠,想去堕落感受地下异界,却要从头开始培育恐龙。集群服务器(Cluster)正是为此而生:多张地图共享同一个角色和物品数据库,玩家可以携带恐龙和装备在地图之间自由传送,这才是 ARK 真正完整的冒险体验。
本文的重点不在于单实例 ARK 服务器的基础搭建,而是聚焦在多地图集群组网这个进阶话题:如何配置 ClusterDirOverride 实现数据共享,如何用 systemd 管理多个地图实例,以及如何处理地图间传送的规则配置。
服务器配置
运行多张地图并行意味着服务器资源消耗成倍增加。以两张地图(孤岛 + 焦土)为例,空载内存占用就接近 12GB;如果同时在线玩家超过 10 人,16GB 内存是基本要求。
雨云服务器 rainyun-com提供 8 核 16GB 机型,专为多实例并行场景设计,网络稳定、SSD I/O 出色,是 ARK 集群服务器的理想选择。注册填优惠码2026off领 5 折优惠券,多地图并行的运营成本大幅降低。
配置参考:
| 地图数量 | CPU | 内存 | 硬盘 | 带宽 |
|---|---|---|---|---|
| 2 张地图 | 6 核 | 12GB | 100GB SSD | 20Mbps |
| 3–4 张地图 | 8 核 | 16GB+ | 200GB SSD | 30Mbps |
系统推荐 Ubuntu 22.04 LTS 64 位。
前置准备
安装必要依赖
sudoaptupdatesudoaptinstall-y\lib32gcc-s1 lib32stdc++6\wgetcurlscreen\libsdl2-2.0-0:i386创建 ARK 专用用户
sudouseradd-m-s/bin/bash arksudopasswdarksu- ark安装 SteamCMD
mkdir-p~/steamcmd&&cd~/steamcmdwgethttps://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gztar-xvzfsteamcmd_linux.tar.gz安装步骤
下载 ARK 服务端
ARK: Survival Evolved 服务端 App ID 为376030,文件体积较大(约 15–20GB):
mkdir-p~/ark_server ~/steamcmd/steamcmd.sh\+force_install_dir ~/ark_server\+login anonymous\+app_update376030validate\+quit规划目录结构
集群服务器需要清晰的目录结构,每张地图独立存放配置和存档:
mkdir-p~/ark_cluster/{cluster_data,logs}mkdir-p~/ark_cluster/TheIsland/{config,saves}mkdir-p~/ark_cluster/ScorchedEarth/{config,saves}目录说明:
cluster_data/:集群共享数据目录,存放传送数据(ClusterDirOverride 指向此处)TheIsland/config/:孤岛地图的独立配置文件ScorchedEarth/config/:焦土地图的独立配置文件
核心配置
孤岛地图配置(Game.ini)
cat>~/ark_cluster/TheIsland/config/Game.ini<<'EOF' [/script/shootergame.shootergamemode] MaxTribeMemberNum=5 MaxTribesPerTeam=1 bPvEDisableFriendlyFire=True bDisableStructurePlacementCollision=False # 恐龙驯服速度(集群建议调高) TamingSpeedMultiplier=3.0 # 经验倍率 XPMultiplier=2.0 # 作物生长速度 CropGrowthSpeedMultiplier=2.0 # 孵蛋速度 EggHatchSpeedMultiplier=5.0 # 幼崽成熟速度 BabyMatureSpeedMultiplier=10.0 # 禁止外来恐龙传入时超过等级上限 bAllowFlyerSpeedLeveling=True MaxDinoLevel=300 EOF孤岛地图配置(GameUserSettings.ini)
cat>~/ark_cluster/TheIsland/config/GameUserSettings.ini<<'EOF' [ServerSettings] ServerPassword= ServerAdminPassword=YourClusterAdmin2026 MaxPlayers=20 # 关键:集群模式下禁止下载恐龙/物品的限制(根据需要调整) noTributeDownloads=False PreventDownloadSurvivors=False PreventDownloadItems=False PreventDownloadDinos=False # 上传冷却时间(秒) TributeItemExpirationSeconds=86400 TributeDinoExpirationSeconds=86400 TributeSurvivorExpirationSeconds=86400 AllowThirdPersonPlayer=True ShowMapPlayerLocation=True EnablePvPGamma=True EOF焦土地图配置
# 复制孤岛配置作为基础,再按需修改cp~/ark_cluster/TheIsland/config/Game.ini ~/ark_cluster/ScorchedEarth/config/Game.inicp~/ark_cluster/TheIsland/config/GameUserSettings.ini ~/ark_cluster/ScorchedEarth/config/GameUserSettings.ini# 焦土地图可适当增加耐热属性倍率sed-i's/TamingSpeedMultiplier=3.0/TamingSpeedMultiplier=3.0\nHeatTemperatureMultiplier=0.7/'\~/ark_cluster/ScorchedEarth/config/Game.iniClusterDirOverride:集群核心配置
集群的关键在于所有地图实例共享同一个ClusterDirOverride目录,传送数据(角色、恐龙、物品)就存放在这里:
# 集群目录需要服务进程具有读写权限chmod755~/ark_cluster/cluster_data进阶功能
多实例 systemd 服务配置
为每张地图创建独立的 systemd service 文件,便于分别控制启停:
# 孤岛地图服务sudotee/etc/systemd/system/ark-island.service<<'EOF' [Unit] Description=ARK Cluster - The Island After=network.target Wants=network.target [Service] Type=simple User=ark WorkingDirectory=/home/ark/ark_server/ShooterGame/Binaries/Linux ExecStart=/home/ark/ark_server/ShooterGame/Binaries/Linux/ShooterGameServer \ TheIsland?SessionName=集群-孤岛?MaxPlayers=20 \ ?ServerAdminPassword=YourClusterAdmin2026 \ ?AltSaveDirectoryName=TheIsland \ -ClusterDirOverride=/home/ark/ark_cluster/cluster_data \ -ClusterId=MyARKCluster2026 \ -NoTransferFromFiltering \ -server \ -log \ -NoBattlEye \ -Port=7778 \ -QueryPort=27015 \ -servergamelog \ -ServerRCONOutputTribeLogs \ -ConfigOverrideItemCraftingCosts= \ -mods= Restart=on-failure RestartSec=60 StandardOutput=append:/home/ark/ark_cluster/logs/island.log StandardError=append:/home/ark/ark_cluster/logs/island-error.log [Install] WantedBy=multi-user.target EOF# 焦土地图服务sudotee/etc/systemd/system/ark-scorched.service<<'EOF' [Unit] Description=ARK Cluster - Scorched Earth After=network.target After=ark-island.service [Service] Type=simple User=ark WorkingDirectory=/home/ark/ark_server/ShooterGame/Binaries/Linux ExecStart=/home/ark/ark_server/ShooterGame/Binaries/Linux/ShooterGameServer \ ScorchedEarth_P?SessionName=集群-焦土?MaxPlayers=20 \ ?ServerAdminPassword=YourClusterAdmin2026 \ ?AltSaveDirectoryName=ScorchedEarth \ -ClusterDirOverride=/home/ark/ark_cluster/cluster_data \ -ClusterId=MyARKCluster2026 \ -NoTransferFromFiltering \ -server \ -log \ -NoBattlEye \ -Port=7780 \ -QueryPort=27017 \ -servergamelog Restart=on-failure RestartSec=60 StandardOutput=append:/home/ark/ark_cluster/logs/scorched.log StandardError=append:/home/ark/ark_cluster/logs/scorched-error.log [Install] WantedBy=multi-user.target EOF启用并启动所有服务:
sudosystemctl daemon-reloadsudosystemctlenableark-island ark-scorchedsudosystemctl start ark-island# 等待孤岛地图完全启动(约2-3分钟)后再启动焦土sleep120sudosystemctl start ark-scorched端口规划
多实例必须使用不同端口,避免冲突:
| 地图 | 游戏端口 | Steam 查询端口 | RCON 端口 |
|---|---|---|---|
| The Island | 7778 | 27015 | 32330 |
| Scorched Earth | 7780 | 27017 | 32332 |
| Aberration | 7782 | 27019 | 32334 |
防火墙放行:
sudoufw allow7778:7783/udpsudoufw allow27015:27020/udpsudoufw allow32330:32335/tcpsudoufw reload地图间传送规则
集群中玩家可以在指定的 Obelisk(传送尖碑)或 Tek Transmitter 上传/下载角色、恐龙和物品。可以在配置中限制哪些内容允许跨服传送:
# 在 GameUserSettings.ini 中 [ServerSettings] # 禁止从其他服务器下载幸存者(防止外服玩家携带超强角色进入) PreventDownloadSurvivors=True # 允许恐龙和物品传送 PreventDownloadDinos=False PreventDownloadItems=False # 限制上传物品的等级(避免高级装备刷服) MaxTributeItems=50 MaxTributeDinos=20日常维护
统一更新脚本
cat>~/update_ark_cluster.sh<<'EOF' #!/bin/bash echo "[$(date)] 停止所有 ARK 实例..." sudo systemctl stop ark-island ark-scorched echo "[$(date)] 更新服务端文件..." ~/steamcmd/steamcmd.sh \ +force_install_dir ~/ark_server \ +login anonymous \ +app_update 376030 validate \ +quit echo "[$(date)] 启动集群..." sudo systemctl start ark-island sleep 120 sudo systemctl start ark-scorched echo "[$(date)] ARK 集群更新完成" EOFchmod+x ~/update_ark_cluster.sh集群状态监控
# 查看所有 ARK 实例状态sudosystemctl status ark-island ark-scorched# 查看实时日志(孤岛)tail-f~/ark_cluster/logs/island.log# 检查端口占用ss-tunp|grep-E'7778|7780'存档备份
cat>~/backup_cluster.sh<<'EOF' #!/bin/bash BACKUP_DATE=$(date +%Y%m%d_%H%M) BACKUP_DIR=~/ark_backups/$BACKUP_DATE mkdir -p $BACKUP_DIR cp -r ~/ark_cluster/cluster_data/ $BACKUP_DIR/cluster_data/ cp -r ~/ark_cluster/TheIsland/saves/ $BACKUP_DIR/island_saves/ cp -r ~/ark_cluster/ScorchedEarth/saves/ $BACKUP_DIR/scorched_saves/ # 保留最近 7 天的备份 find ~/ark_backups -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \; echo "集群存档已备份至 $BACKUP_DIR" EOFchmod+x ~/backup_cluster.sh# 每天凌晨 3 点自动备份crontab-e# 0 3 * * * /home/ark/backup_cluster.sh常见问题
Q:玩家传送后角色数据丢失?
检查所有地图实例的-ClusterId参数是否完全一致(大小写敏感),并确认-ClusterDirOverride路径存在且各实例进程均有读写权限。
Q:两个地图实例端口冲突无法启动?
每个实例的-Port和-QueryPort必须不同,端口差值建议为 2。检查当前占用情况:ss -tunp | grep 777。
Q:集群模式下恐龙等级超过上限被拒绝下载?
在接收地图的Game.ini中设置OverrideMaxExperiencePointsDino并适当调高MaxDinoLevel,或设置AllowAnyoneBabyImprintCuddle=True以兼容来自高倍率服务器的恐龙。
Q:服务器内存不足导致某个实例崩溃?
优先保证主要地图(孤岛)的内存,可以在次要地图启动脚本中添加-UseNoRHIThread参数减少内存占用,或者错峰启动不同地图。
Q:玩家无法看到集群中其他服务器?
集群成员之间不会自动出现在大厅列表中——传送是通过游戏内上传/下载机制实现的,而非服务器间的直接连接。告知玩家使用 Obelisk 上传角色,再连接目标服务器后下载即可。
ARK 集群服务器打通了多地图冒险的任督二脉,玩家可以在孤岛积累基础实力,前往焦土挑战热浪与沙漠,再深入堕落世界探索地下生态——所有角色和恐龙跨服带走,这才是完整的 ARK 体验。多地图并行对硬件要求较高,推荐选用雨云服务器 rainyun-com的 8 核 16GB 机型,充裕的 CPU 和内存保障多实例稳定运行,注册时填入优惠码2026off可享受 5 折优惠,长期稳定运营 ARK 集群的最优选择。
