ARK Survival Evolved《方舟生存进化》 集群服务器搭建教程:多地图联通与角色传送配置

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 核12GB100GB SSD20Mbps
3–4 张地图8 核16GB+200GB SSD30Mbps

系统推荐 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.ini

ClusterDirOverride:集群核心配置

集群的关键在于所有地图实例共享同一个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 Island77782701532330
Scorched Earth77802701732332
Aberration77822701932334

防火墙放行:

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 集群的最优选择。