本指南涵盖了在 Legion Hosting 上配置和运行 Factorio 专用服务器所需的一切内容,包括账户认证、启动变量、服务器设置、世界生成、玩家连接和存档管理。有关模组安装,请参阅 Factorio 模组安装。
1. 获取 Factorio 账户令牌
如果您希望服务器显示在公共多人游戏服务器浏览器中,则必须提供 Factorio 账户用户名和令牌。从官方模组门户下载模组也需要这些凭据。
- 前往 factorio.com/login 并登录您的 Factorio 账户。
- 导航到您的个人资料页面。
- 向下滚动到 API Authentication Tokens 部分。
- 点击 Generate 创建新令牌(或复制您的现有令牌)。
- 复制令牌字符串——您需要将其粘贴到 GPanel Startup 选项卡中的
SERVER_TOKEN字段。
SERVER_USERNAME 和 SERVER_TOKEN 留空。但是,如果没有有效的凭据,服务器将无法自动从模组门户下载模组。
2. 首次启动
从 Legion Hosting 购买 Factorio 服务器后,请按照以下步骤首次运行:
- 登录 GPanel 并选择您的 Factorio 服务器。
- 转到 Startup 选项卡。
- 设置 FACTORIO_VERSION 变量:
latest——安装当前稳定版本(推荐大多数玩家使用)。experimental——安装最新的实验性/测试版本,包含最新功能,但可能存在错误。
- 将 SERVER_NAME 设置为您希望在服务器浏览器中显示的名称。
- 如果您需要公开服务器列表,请填写 SERVER_USERNAME 和 SERVER_TOKEN(参见上一部分)。
- 转到 Console 选项卡并点击 Start。
- 服务器将下载 Factorio 专用服务器文件并生成默认存档。首次启动可能需要几分钟。
FACTORIO_VERSION 变量并重启服务器。新版本将自动下载。
3. GPanel 启动变量
这些变量在 GPanel 的 Startup 选项卡中配置,控制核心服务器行为。它们在每次服务器启动时生效。
| 变量 | 默认值 | 描述 |
|---|---|---|
FACTORIO_VERSION |
latest |
要安装的服务器版本。使用 latest 表示稳定版,experimental 表示最新测试版。 |
SAVE_NAME |
gamesave |
服务器启动时加载的存档文件名称(不含扩展名)。 |
SERVER_NAME |
|
在多人游戏浏览器中显示的服务器名称。 |
SERVER_DESC |
|
在浏览器中与服务器名称一起显示的简短描述。 |
SERVER_USERNAME |
|
您的 Factorio 账户用户名。公开服务器列表和模组下载必需。 |
SERVER_TOKEN |
|
您的 Factorio 账户认证令牌。与用户名配合使用,公开列表必需。 |
MAX_SLOTS |
20 |
服务器的最大玩家槽位数。 |
SAVE_INTERVAL |
10 |
自动保存间隔(分钟)。 |
SAVE_SLOTS |
5 |
循环自动保存槽位数。达到此限制后,较旧的存档将被覆盖。 |
AFK_KICK |
0 |
空闲玩家被踢出前的分钟数。0 表示禁用 AFK 踢出。 |
4. server-settings.json
主要服务器配置文件位于:
data/server-settings.json
通过 GPanel 中的文件管理器或通过 SFTP 编辑此文件。以下是最重要的设置。
SERVER_NAME、SERVER_DESC、MAX_SLOTS、SERVER_USERNAME 和 SERVER_TOKEN)可能会在启动时覆盖 server-settings.json 中的相应值。如果设置似乎未生效,请先检查 Startup 选项卡中的值。
| 设置 | 默认值 | 描述 |
|---|---|---|
name |
"" |
在多人游戏浏览器中显示的服务器名称。 |
description |
"" |
在浏览器中显示的服务器描述。 |
tags |
[] |
标签字符串数组(例如 ["modded", "vanilla", "friendly"]),用于浏览器中的筛选。 |
max_players |
0 |
最大玩家数。0 表示无限制(请改用 MAX_SLOTS 启动变量)。 |
visibility |
{"public": true, "lan": true} |
控制服务器是否显示在公共浏览器和/或局域网浏览器中。公共可见性需要有效的用户名和令牌。 |
game_password |
"" |
加入所需的密码。留空表示无密码。 |
require_user_verification |
true |
当设为 true 时,只有拥有已验证 Factorio 账户的玩家才能加入。 |
autosave_interval |
10 |
自动保存间隔(分钟),可能被 SAVE_INTERVAL 启动变量覆盖。 |
autosave_slots |
5 |
循环自动保存文件数量,可能被 SAVE_SLOTS 启动变量覆盖。 |
afk_autokick_interval |
0 |
AFK 踢出超时(分钟)。0 表示禁用。 |
auto_pause |
true |
当没有玩家连接时暂停游戏。可节省服务器资源。 |
only_admins_can_pause_the_game |
true |
将暂停功能限制为仅服务器管理员可用。 |
admins |
[] |
拥有管理员权限的 Factorio 用户名数组(例如 ["YourUsername"])。管理员可以踢出、封禁和执行命令。 |
server-settings.json 示例
{
"name": "My Factorio Server",
"description": "A Legion Hosting Factorio Server",
"tags": ["vanilla", "friendly"],
"max_players": 0,
"visibility": {
"public": true,
"lan": true
},
"username": "YourFactorioUsername",
"token": "YourTokenHere",
"game_password": "",
"require_user_verification": true,
"max_heartbeats_per_second": 60,
"allow_commands": "admins-only",
"autosave_interval": 10,
"autosave_slots": 5,
"afk_autokick_interval": 0,
"auto_pause": true,
"only_admins_can_pause_the_game": true,
"max_upload_in_kilobytes_per_second": 0,
"max_upload_slots": 5,
"minimum_latency_in_ticks": 0,
"ignore_player_limit_for_returning_players": false,
"admins": ["YourFactorioUsername"]
}
5. 地图生成
Factorio 使用两个配置文件来控制新地图的生成方式以及游戏过程中的世界行为。
map-gen-settings.json(世界生成)
位于:
data/map-gen-settings.json
此文件控制创建新地图时的地形、资源分布和敌人放置。对此文件的更改仅在生成新地图时生效——不会改变现有存档。
| 设置 | 描述 |
|---|---|
width / height |
地图尺寸(以方块为单位)。0 表示无限(默认)。设置特定值以限制地图大小。 |
seed |
地图生成种子。使用 null 表示随机种子,或指定数字以重现特定地图。 |
peaceful_mode |
默认为 false。当设为 true 时,敌人不会主动攻击。 |
autoplace_controls |
控制资源和地形特征的频率、大小和丰富度。每个条目(例如 iron-ore、copper-ore、coal、stone、crude-oil、trees、enemy-base)接受 frequency、size 和 richness 值。 |
cliff_settings |
控制悬崖生成:name、cliff_elevation_0(第一个悬崖高度)、cliff_elevation_interval(悬崖层间距)、richness(悬崖密度)。 |
starting_area |
安全起始区域大小(无敌人)。默认为 1。更高的值在遇到虫群之前提供更多空间。 |
property_expression_names |
用于水域覆盖、海拔和湿度的高级地形表达式。control-setting:moisture:bias 和类似键可调整地形生成。 |
资源频率、大小和丰富度值
对于 autoplace_controls 中的每种资源,您可以调整三个属性。值为倍数,1 为正常值:
| 属性 | 效果 |
|---|---|
frequency |
资源出现的频率。更高 = 更多矿脉分布在地图上。 |
size |
每个资源矿脉的大小。 |
richness |
每个资源方块在耗尽前产出的物品数量。 |
map-gen-settings.json 示例
{
"width": 0,
"height": 0,
"seed": null,
"peaceful_mode": false,
"autoplace_controls": {
"iron-ore": { "frequency": 1, "size": 1.5, "richness": 2 },
"copper-ore": { "frequency": 1, "size": 1.5, "richness": 2 },
"coal": { "frequency": 1, "size": 1, "richness": 1.5 },
"stone": { "frequency": 1, "size": 1, "richness": 1.5 },
"crude-oil": { "frequency": 1, "size": 1, "richness": 2 },
"uranium-ore": { "frequency": 1, "size": 1, "richness": 1 },
"trees": { "frequency": 1, "size": 1, "richness": 1 },
"enemy-base": { "frequency": 1, "size": 1, "richness": 1 }
},
"cliff_settings": {
"name": "cliff",
"cliff_elevation_0": 10,
"cliff_elevation_interval": 40,
"richness": 1
},
"starting_area": 1,
"property_expression_names": {
"control-setting:moisture:frequency:multiplier": "1",
"control-setting:moisture:bias": "0"
}
}
map-settings.json(运行时世界行为)
位于:
data/map-settings.json
此文件控制运行时行为,例如污染扩散、敌人进化和扩张。与 map-gen-settings.json 不同,当更改并重新加载地图时,其中一些设置可以影响现有存档。
| 部分 | 关键设置 | 描述 |
|---|---|---|
pollution |
enabled, diffusion_ratio, ageing, min_to_diffuse |
控制污染是否扩散、扩散速度以及衰减速度。禁用污染也会禁用由污染驱动的敌人攻击。 |
enemy_evolution |
enabled, time_factor, destroy_factor, pollution_factor |
控制敌人如何随时间、摧毁巢穴和污染而进化。较低的因子 = 较慢的进化。将 enabled 设为 false 可完全冻结进化。 |
enemy_expansion |
enabled, max_expansion_distance, settler_group_min_size, settler_group_max_size, min_expansion_cooldown, max_expansion_cooldown |
控制敌人是否建立新基地以及扩张的积极程度。禁用可防止虫群在地图上蔓延。 |
steering |
default, moving |
单位的寻路行为。通常不需要调整。 |
map-settings.json 示例
{
"pollution": {
"enabled": true,
"diffusion_ratio": 0.02,
"min_to_diffuse": 15,
"ageing": 1,
"expected_max_per_chunk": 150,
"min_to_show_per_chunk": 50
},
"enemy_evolution": {
"enabled": true,
"time_factor": 0.000004,
"destroy_factor": 0.002,
"pollution_factor": 0.0000009
},
"enemy_expansion": {
"enabled": true,
"max_expansion_distance": 7,
"settler_group_min_size": 5,
"settler_group_max_size": 20,
"min_expansion_cooldown": 14400,
"max_expansion_cooldown": 216000
}
}
6. 创建新地图
默认情况下,您的服务器在首次启动时使用标准设置生成地图。要使用自定义生成设置创建新地图:
- 在 GPanel 中停止您的服务器。
- 使用您所需的世界生成和运行时设置编辑
data/map-gen-settings.json和data/map-settings.json(参见上一部分)。 - 在文件管理器中导航到 saves 目录。
- 删除或重命名现有的存档文件(例如
gamesave.zip),以便服务器生成新的存档。 - 确保
SAVE_NAME启动变量与您想要的存档文件名一致(默认为gamesave)。 - 启动服务器。它将检测到该名称的存档不存在,并使用您更新的设置生成新地图。
map-gen-settings.json 中的 seed 值设置为特定数字。使用 null 表示随机种子。
7. 如何连接
玩家可以通过两种方式连接到您的 Factorio 服务器。
选项 A:公共服务器浏览器
如果您已使用有效的 Factorio 凭据配置了 SERVER_USERNAME 和 SERVER_TOKEN,并且 visibility.public 设置为 true:
- 打开 Factorio 并点击游玩。
- 选择多人游戏。
- 点击浏览公共游戏。
- 使用搜索栏按名称查找您的服务器。
- 点击服务器加入。如果设置了游戏密码,请输入密码。
选项 B:直接连接
- 打开 Factorio 并点击游玩。
- 选择多人游戏。
- 点击连接到地址。
- 以
IP:Port格式输入您的服务器 IP 地址和端口。 - 点击连接。
8. 存档管理
自动保存配置
自动保存由两个启动变量控制:
SAVE_INTERVAL——服务器自动保存的频率,单位为分钟(默认:10)。SAVE_SLOTS——保留的循环自动保存文件数量(默认:5)。达到限制后,最旧的自动保存将被覆盖。
自动保存文件存储在 saves 目录中,文件名为 _autosave1.zip、_autosave2.zip 等。
手动保存
您可以随时通过在 GPanel 控制台中运行以下命令来触发手动保存:
/server-save
这将使用当前的 SAVE_NAME 创建保存。您也可以保存到特定文件名:
/server-save my-backup
上传现有存档
要将现有的 Factorio 世界传输到您的服务器:
- 在 GPanel 中停止您的服务器。
- 找到您的本地存档文件。在大多数系统上,Factorio 存档位于:
- Windows:
%APPDATA%\Factorio\saves\ - Linux:
~/.factorio/saves/ - macOS:
~/Library/Application Support/factorio/saves/
- Windows:
- 通过文件管理器或 SFTP 将
.zip存档文件上传到服务器上的 saves 目录。 - 在 GPanel 的 Startup 选项卡中,将
SAVE_NAME设置为上传的文件名(不含.zip扩展名)。 - 启动服务器。
FACTORIO_VERSION 启动变量与创建存档时使用的版本匹配。
相关文章
需要帮助?
如果您遇到本指南未涵盖的问题,请提交工单,并提供您的服务器详细信息和问题描述。