命令行参数
Jump to navigation
Jump to search
命令行参数可以在游戏启动前通过命令行界面进行游戏设置,这对于高级用户或服务器管理员来说非常有用。
| -h, --help | 显示帮助。 | |
| --version | 显示版本信息。 | |
| -v, --verbose | 启用详细日志记录。 | |
| -c, --config | PATH | 使用配置文件。 |
| --no-log-rotation | 停止日志轮转。 | |
| --mod-directory | PATH | 使用模组目录。 |
| --check-unused-prototype-data | 输出所有未访问的原型值的警告。 请模组开发者注意:如果条目未使用,且是一个包含了 'ignore' 变量的值为 'true' 的键/值的表单,则整个条目将被忽略。 | |
| --executable-path | PATH | 覆盖自动检测的可执行路径。通常并不需要,除非在非常特殊的系统中应用。 |
| -s, --map2scenario | arg | 地图转换到场景。 |
| -m, --scenario2map | arg | 场景转换到地图。 |
| --apply-update | arg | 立即应用更新包。 |
| --create | FILE | 创建新地图。 |
| --map-gen-settings | FILE | 地图生成设置,与参数 --create,--start-server-load-scenario 或 --generate-map-preview 共同使用。详见 data/map-gen-settings.example.json
|
| --map-gen-seed | SEED | 使用地图种子,与参数 --create,--start-server-load-scenario 或 --generate-map-preview 共同使用。 这将覆盖地图生成设置中指定的地图种子。
|
| --map-gen-seed-max | SEED | 使用地图种子,与参数 --generate-map-preview 共同使用以生成多个预览,这会基于 map-gen-seed 到 map-gen-seed-max 范围中的每个种子生成。
|
| --map-settings | FILE | 地图设置,与参数--create 或 --start-server-load-scenario 共同使用。详见 data/base/prototypes/map-settings.lua
|
| --preset | arg | 使用的地图生成设置名称。 |
| --generate-map-preview | PATH | 生成地图预览图像;PATH 应指向一个 PNG 图像,或以 '/' 或 '\' 结尾以指向一个目录。 |
| --generate-map-preview-random | COUNT | 使用随机种子通过 --generate-map-preview 参数生成的地图的数量。
|
| --map-preview-size | SIZE | 地图预览尺寸。(单位为像素,默认值1024) |
| --map-preview-offset | X,Y | 地图中心偏移量。(单位为米,默认值:0,0) |
| --map-preview-planet | PLANET | 生成星球预览。(默认为新地星) |
| --report-quantities | PROTOTYPE,... | 当生成地图预览时,报告命名实体原型的近似数量。 |
| --threads | THREADCOUNT | 生成地图预览时使用的进程数。 |
| --disable-migration-window | 禁用打开包含迁移内容的存档时显示的界面。 | |
| --instrument-mod | arg | 启用仪表模式(一种调试模式)的模组名称。 |
| --sync-mods | FILE | 与存档同步模组。注意:对于无头服务器,需要在 player-data.json 文件中设置 service-username 和 service-token 以获取需要下载的任何模组。
|
| --enable-unsafe-lua-debug-api | 启用Lua调试库中的非安全功能。 | |
| --host | FILE | 开始多人游戏托管。 |
| --host-interactive | FILE | 打开多人服务器设置以托管选定存档。 |
| --start-server | FILE | 启动多人服务器。 |
| --start-server-load-scenario | [MOD/]NAME | 启动多人服务器并加载指定场景。优先在指定模组中查找场景,如果没有指定模组,将会在顶层场景目录中查找。 |
| --start-server-load-latest | 启动多人服务器并加载最新的可用存档。 | |
| --until-tick | TICK | 运行存档到指定的地图时刻。 |
| --benchmark | FILE | 加载存档并运行基准测试。 |
| --benchmark-ticks | N | 基准测试的时长。(单位为刻,默认值1000) |
| --benchmark-runs | N | 地图运行时长,地图将在每次运行后重新加载。(单位为刻,默认值1) |
| --benchmark-verbose | timings | 以逗号分隔的列表,输出每刻内的更新时序。允许使用 "all"、"timestamp" 以及 show-time-usage 视图中出现的所有其他值。如果本参数为空字符串,将会禁用详细基准测试。 |
| --benchmark-sanitize | 仅输出最终基准测试结果。 | |
| --benchmark-ignore-paused | 若游戏在保存时处于暂停状态,则保持暂停。默认情况下当基准测试开始时,游戏将退出暂停状态。 | |
| --output-perf-stats | FILE | 保存渲染性能测试数据的文件路径。特殊标签 {api}、{hw}、{time} 和 {tag} 将被替换。 |
| --dump-data | 将 data.raw 文件以JSON格式导出到脚本输出文件夹并退出。 | |
| --dump-icon-sprites | 将所有图标精灵(一种动态渲染图像)以PNG格式导出到脚本输出文件夹并退出。 | |
| --dump-prototype-locale | 将所有原型名称和描述(如果其值有效)导出到脚本输出文件夹并退出。 | |
| --report-autogenerated-icon-mipmaps | 报告哪些图标将生成MIP贴图。 | |
| --log-shared-tile-layers | 加载原型后记录哪些地格层被多个原型共享,并列出共享原型。 | |
| --log-spritesheets-to-optimize | N | 记录N个似乎存在一些几乎透明的噪点的精灵图,如果清除噪点,文件大小可以大幅缩小。 |
| --mp-connect | ADDRESS | 启动游戏并连接到指定地址。 |
| --password | PASSWORD | 使用 mp-connect 时需要的密码。(如果有) |
| --heavy | 以heavy模式运行带有图像的单人游戏。(heavy模式与非同步检测有关,详情请参阅技术文档:去同步化) | |
| --load-game | FILE | 以单人模式启动并加载游戏。 |
| --load-scenario | [MOD/]NAME | 启动游戏并加载指定的单人游戏场景。优先在指定模组中查找场景,如果没有指定模组,将会在顶层场景目录中查找。 |
| --benchmark-graphics | FILE | 加载存档并以带图像模式运行,以进行基准测试,测试时间与正常游戏相同。 |
| --benchmark-frame | FILE | 加载存档并进行单帧图形渲染基准测试(预备+渲染),不更新游戏。 |
| --force-opengl | 强制使用 OpenGL 进行渲染(仅限Windows和macOS系统) | |
| --force-d3d | 强制使用 Direct3D 进行渲染(仅限Windows) | |
| --d3d-adapter | ID | 指定执行 Direct3D 初始化的适配器(即显卡)(仅限Windows) |
| --d3d-feature-level | 覆盖功能级别(11,10.1,10)(仅限Windows) | |
| --dxgi-blit-model | 强制使用 Blit 演示模式(仅限 Windows) | |
| --force-metal | 强制使用 Metal 进行渲染(仅限macOS系统) | |
| --debug-graphics | 启用图形API的调试层。如果使用DirectX,则需要安装DirectX SDK才能启用。 | |
| --fullscreen | BOOL | 以窗口模式启动游戏。(并保存到设置) |
| --max-texture-size | N | 指定游戏可使用的最大纹理尺寸(并保存到配置)。此值应为大于2048的2的幂。 |
| --graphics-quality | arg | 设定图像质量。有效值:high(高)、medium(中) |
| --video-memory-usage | arg | 设定显存使用值。有效值:all(全部)、high(高)、medium(中)、low(低) |
| --force-graphics-preset | arg | 强制图像预设。有效值:very-low(极低)、low(低)、mac-with-low-ram(mac-低内存)、medium-with-low-vram(中等-低显存)、medium(中)、high(高)、very-high(非常高)、extreme(最高) |
| --gfx-safe-mode | 将部分图像设置重置为大多数配置可以正常工作的值。 | |
| --low-vram | 不在精灵图集中的精灵不会被分配为纹理对象。 | |
| --shader | arg | 启用/禁用着色器后处理。(并保存到配置) |
| --disable-audio | 禁用音频。主要用于在开发期间加快启动速度。 | |
| --window-size | arg | 设置窗口分辨率。例如“1680x1050”,或者“maximized”(最大化)。 |
| --single-thread-loading | 禁止在多个线程中加载精灵。 | |
| --cache-sprite-atlas | BOOL | 启用/禁用精灵图集缓存。 |
| --nogamepad | 禁用游戏控制器(即手柄)支持。 |
| --port | N | 使用网络端口。 |
| --bind | ADDRESS[:PORT] | 绑定IP地址。(可包含端口) |
| --rcon-port | N | 用于RCON(远程管理服务)的端口。 |
| --rcon-bind | ADDRESS:PORT | 用于RCON的IP地址和端口。 |
| --rcon-password | PASSWORD | RCON密码。 |
| --server-settings | FILE | 服务器设置文件路径。详见 data/server-settings.example.json |
| --use-server-whitelist | BOOL | 是否启用白名单。 |
| --use-authserver-bans | 验证连接的玩家未被禁止加入多人游戏,并将禁用/解禁命令通报给 Factorio.com | |
| --server-whitelist | FILE | 服务器白名单文件路径。 |
| --server-banlist | FILE | 服务器封禁名单文件路径。 |
| --server-adminlist | FILE | 服务器管理员名单文件路径。 |
| --console-log | FILE | 服务器日志副本存储路径。 |
| --server-id | FILE | 服务器 ID 读写路径。 |
布尔选项
带有布尔(BOOL)选项的上述参数必须格式化为 [参数]=true 或 [参数]=false。例如:
--fullscreen=false
这将以窗口模式(非全屏)启动游戏。
多人游戏
--start-server SAVE
启动一个没有用户界面的无头(专用)服务器。
--mp-connect ADDRESS
ADDRESS 是远程服务器的IP:端口,其中端口是可选的。例如:
./factorio --mp-connect 192.168.1.101 ./factorio --mp-connect 192.168.1.101:2345
如上所示,可以在IP地址后接一个冒号来指定端口。
根据自定义设置创建地图
在某些情况下,通过存储在JSON文件中的地图和/或地图生成器设置,而非通过游戏内的地图设置界面创建新游戏是非常有用的。一个理由是通过直接编辑设置文件,可以将部分设置更改为为界面允许范围之外的值。
要执行此操作,需要通过命令行运行游戏,并需要一个包含地图生成器设置的JSON文件,以及一个包含地图设置(如果需要自定义)的JSON文件。
自定义生成器设置示例:
{
"terrain_segmentation": 0.5,
"water": "2",
"width": 0,
"height": 0,
"starting_area": "normal",
"peaceful_mode": false,
"autoplace_controls":
{
"coal": {"frequency": 1, "size": 2, "richness": 0.5},
"copper-ore": {"frequency": "low", "size": "normal", "richness": "high"},
"crude-oil": {"frequency": "normal", "size": "normal", "richness": "normal"},
"enemy-base": {"frequency": "normal", "size": "normal", "richness": "normal"},
"iron-ore": {"frequency": "normal", "size": "normal", "richness": "normal"},
"stone": {"frequency": "normal", "size": 0, "richness": "normal"},
"uranium-ore": {"frequency": "normal", "size": "none", "richness": "normal"}
},
"cliff_settings":
{
"name": "cliff",
"cliff_elevation_0": 30,
"cliff_elevation_interval": 20,
"richness": 1
},
"property_expression_names":
{
"elevation": "0_16-elevation",
"temperature": "35"
},
"seed": null
}
注意,这与从Lua修改的MapGenSettings的格式相同。文件中的所有内容都是可选的。
创建自定义存档:
"C:\Program Files\Factorio\bin\x64\Factorio.exe" --create stuff-seed123.zip --map-gen-settings map-gen-settings.json --map-gen-seed 123
生成地图预览:
"C:\Program Files\Factorio\bin\x64\Factorio.exe" --generate-map-preview preview-seed123.png --map-gen-settings map-gen-settings.json --map-gen-seed 123
根据地图共享代码生成JSON文件
可以根据已知的地图共享代码创建初始JSON文件,无需从头开始。要将地图共享代码转换为JSON文件,需要打开游戏并运行如下命令:
/c helpers.write_file('map.txt', helpers.table_to_json(helpers.parse_map_exchange_string("<地图共享代码>")))
然后在用户数据目录中打开 script_output 文件夹,并打开 map.txt 文件,其内容类似于:
{"map_settings":{ ...<MAP_SETTINGS> ... },"map_gen_settings":{ ...<MAP_GEN_SETTINGS>... }}
将 { ...<MAP_SETTINGS> ... } 部分复制到名为 'map-settings.json' 的新文件中,并将其置于所需位置。将 { ...<MAP_GEN_SETTINGS> ... } 部分复制到名为 'map-gen-settings.json' 的新文件中,并将其置于所需位置。