在 Legion Hosting 上设置和配置 Arma 3 专用服务器的完整指南。服务器运行后,请参阅我们的模组安装指南添加 Workshop 内容,以及管理员和 BattlEye 设置指南来配置服务器管理和反作弊。
在 GPanel 中首次启动
从 Legion Hosting 购买 Arma 3 服务器后,登录 GPanel(gpanel.legionhosting.net)进行管理。
- 从仪表板导航到您的 Arma 3 服务器。
- 在 Console 选项卡上,点击 Start 首次启动服务器。初次启动需要几分钟时间,因为它会通过 SteamCMD 下载和安装 Arma 3 专用服务器文件。
- 当控制台显示
Game started或类似的就绪消息时,您的服务器已上线且可加入。 - 在进行配置更改之前停止服务器,以确保更改正确应用。
GPanel 启动变量
GPanel 提供控制 Arma 3 服务器二进制文件启动方式的启动变量。这些可以在服务器面板的 Startup 选项卡中找到。常见变量包括:
| 变量 | 描述 | 示例 |
|---|---|---|
SERVER_PORT |
主游戏端口 (UDP)。由 GPanel 自动设置。 | 2302 |
SERVER_CFG |
服务器配置文件路径。 | server.cfg |
SERVER_PROFILE |
日志和设置的服务器配置文件目录名称。 | server |
MAX_PLAYERS |
最大玩家槽位数。 | 64 |
MODS |
以分号分隔的要加载的模组文件夹列表。 | @CBA_A3;@ace |
SERVER_MODS |
仅服务器端模组(客户端不需要)。 | @OCAP2 |
ADDITIONAL_PARAMS |
附加到命令行的额外启动参数。 | -filePatching -enableHT |
server.cfg 配置
server.cfg 文件是 Arma 3 服务器的主要配置文件。通过 GPanel 中的 File Manager 选项卡或通过 SFTP 上传来访问它。以下是一个完整示例:
// ========================================
// Arma 3 Server Configuration
// ========================================
// Server Identity
hostname = "My Legion Hosting Arma 3 Server";
password = ""; // Server password (empty = no password)
passwordAdmin = "MyAdminPass123"; // Admin password for #login
motd[] = {
"Welcome to our Arma 3 server!",
"Hosted by Legion Hosting",
"TeamSpeak: ts.example.com"
};
motdInterval = 5; // Seconds between MOTD messages
// Player Settings
maxPlayers = 64;
kickDuplicate = 1; // Kick duplicate player IDs
verifySignatures = 2; // 0=off, 1=warn, 2=kick unsigned addons
requiredSecureId = 2; // Require BattlEye secure ID
// Voting
voteMissionPlayers = 1; // Min players to vote for mission
voteThreshold = 0.33; // 33% vote threshold
// Network
disconnectTimeout = 5; // Timeout for disconnect (seconds)
maxDesync = 150; // Max desync before kick
maxPing = 350; // Max ping before kick
maxPacketLoss = 50; // Max packet loss % before kick
// Performance
MinBandwidth = 107374182; // Minimum bandwidth (bits/s)
MaxBandwidth = 1073741824; // Maximum bandwidth (bits/s)
MaxMsgSend = 128; // Max messages per frame
MaxSizeGuaranteed = 512; // Max guaranteed packet size
MaxSizeNonguaranteed = 256; // Max non-guaranteed packet size
// Logging
logFile = "server_console.log";
timeStampFormat = "short";
// Persistent Battlefield
persistent = 1; // Enable persistence
// BattlEye Anti-Cheat
BattlEye = 1; // 1=enabled, 0=disabled
// Mission Rotation
class Missions {
class Mission1 {
template = "Escape_Altis.Altis";
difficulty = "Custom";
};
class Mission2 {
template = "co10_Escape_Tanoa.Tanoa";
difficulty = "Custom";
};
};
.pbo 扩展名)。例如,co40_AW_Invade_Annex.Altis.pbo 变为 co40_AW_Invade_Annex.Altis。将任务文件上传到 mpmissions/ 目录。
难度设置和服务器配置文件
Arma 3 使用服务器配置文件来存储难度设置。配置文件创建在与 SERVER_PROFILE 启动变量匹配的目录中。难度配置文件通常位于:
<profile_name>/<profile_name>.Arma3Profile
您可以在 server.cfg 的 Missions 类中将难度设置为预设值之一(recruit、regular、veteran、custom),或在服务器配置文件中定义完全自定义的难度类:
class DifficultyPresets {
class CustomDifficulty {
class Options {
// HUD Elements
groupIndicators = 1; // 0=never, 1=limited, 2=always
friendlyTags = 1; // 0=never, 1=limited, 2=always
enemyTags = 0; // 0=never, 1=limited, 2=always
detectedMines = 1; // 0=never, 1=limited, 2=always
commands = 1; // 0=never, 1=limited, 2=always
waypoints = 1; // 0=never, 1=limited, 2=always
weaponInfo = 2;
stanceIndicator = 2;
staminaBar = 1;
weaponCrosshair = 0; // Disable crosshair
visionAid = 0;
// Gameplay
thirdPersonView = 0; // Disable 3rd person (milsim)
reducedDamage = 0;
tacticalPing = 1; // 0=off, 1=enabled
cameraShake = 1;
scoreTable = 1;
deathMessages = 0;
vonID = 1;
mapContent = 0; // Hide map markers
autoReport = 0; // Disable AI auto-report
multipleSaves = 0;
};
// AI Skill
aiLevelPreset = 3; // 0=low, 1=normal, 2=high, 3=custom
class CustomAILevel {
skillAI = 0.75;
precisionAI = 0.40;
};
};
defaultDifficulty = "CustomDifficulty";
};
thirdPersonView = 0)、准星(weaponCrosshair = 0)和死亡消息(deathMessages = 0)。大多数军事模拟社区还使用 ACE3 模组来获得高级医疗和弹道系统。
任务轮换
任务在 server.cfg 的 class Missions 块中定义。服务器在启动时加载第一个任务,并在当前任务结束或玩家投票时轮换到后续任务。
class Missions {
class Mission1 {
template = "co40_AW_Invade_Annex.Altis";
difficulty = "Custom";
// Optional parameters:
// class Params {}; // Mission-specific parameters
};
class Mission2 {
template = "Warlords_Altis.Altis";
difficulty = "veteran";
};
class Mission3 {
template = "co10_Escape_Tanoa.Tanoa";
difficulty = "Custom";
};
};
将任务添加到服务器:
- 从 Steam Workshop 或社区网站下载任务 PBO 文件。
- 通过 SFTP 或 GPanel 文件管理器将
.pbo文件上传到服务器的mpmissions/目录。 - 在
server.cfg的class Missions块中添加相应的条目,使用文件名(不含.pbo)作为template值。 - 重启服务器以使更改生效。
如何连接
有多种方式可以连接到您的 Arma 3 服务器:
服务器浏览器
- 启动 Arma 3 并从主菜单点击 Multiplayer。
- 在 Server Browser 中,使用筛选选项或按名称搜索您的服务器。
- 选择您的服务器并点击 Join。如果设置了密码则输入密码。
直接连接
- 在服务器浏览器中,点击底部的 Direct Connect。
- 输入您的服务器 IP 和端口(在 GPanel 的服务器概览中可找到)。默认游戏端口为
2302。 - 点击 Join。
Steam 服务器列表
- 在 Steam 中,转到 View > Game Servers(或 View > Servers)。
- 点击 Favorites 选项卡,然后点击 Add a Server。
- 输入您的服务器 IP 和 Steam Query Port(游戏端口 + 1,例如游戏端口为
2302,则使用2303)。 - 点击 Add this address to favorites,然后通过列表连接。
2302)加上 Steam Query 端口(游戏端口 + 1)。如果您的 GPanel 显示端口 2302,玩家应使用该端口连接。Steam 查询端口 2303 用于服务器浏览器查询。除非您有专用 IP,否则服务器端口是随机分配的——请始终在 GPanel 中查看正确的端口。
性能调优
Arma 3 服务器可能非常消耗资源,特别是在大量玩家和 AI 密集型任务时。以下是优化性能的关键设置和技术:
无头客户端
无头客户端 (HC) 将 AI 处理从服务器卸载到单独的进程,显著提高 AI 密集型任务的服务器 FPS。任务必须支持无头客户端才能使用此功能。
要启用无头客户端,在 server.cfg 中添加以下内容:
// Headless Client Configuration
headlessClients[] = {"127.0.0.1"};
localClient[] = {"127.0.0.1"};
服务器 FPS 和网络设置
这些 server.cfg 设置会影响性能:
| 设置 | 推荐值 | 说明 |
|---|---|---|
MinBandwidth |
107374182 |
每个客户端的最小带宽(bits/s) |
MaxBandwidth |
1073741824 |
最大总带宽(bits/s) |
MaxMsgSend |
128 |
每个模拟帧发送的消息数 |
MaxSizeGuaranteed |
512 |
最大可靠消息大小(字节) |
MaxSizeNonguaranteed |
256 |
最大非可靠消息大小(字节) |
maxDesync |
150 |
不同步踢出阈值 |
maxPing |
350 |
高延迟踢出阈值 |
附加启动参数
您可以将这些添加到 GPanel 中的 ADDITIONAL_PARAMS 启动变量:
| 参数 | 描述 |
|---|---|
-enableHT |
为多核 CPU 启用超线程支持。 |
-hugepages |
启用大内存页以获得更好的内存性能。 |
-loadMissionToMemory |
将整个任务加载到 RAM 中以加快访问速度。 |
-noLogs |
禁用 RPT 日志记录(仅在调试完成后使用)。 |
相关文章
- Arma 3 模组安装指南 — 添加 Steam Workshop 模组、管理加载顺序和配置签名验证。
- Arma 3 管理员和 BattlEye 设置 — 配置管理员权限、BattlEye 反作弊和 RCON 工具。
- 如何查找您的服务器 IP 和端口
- 如何通过 SFTP 上传文件
- 新服务器入门指南
需要帮助?
如果您在设置 Arma 3 服务器时遇到问题或需要进一步帮助,我们的支持团队随时为您服务。提交支持工单,我们将帮您解决问题。