切换语言: English

命令行参数

From Official Factorio Wiki
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-seedmap-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-usernameservice-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' 的新文件中,并将其置于所需位置。

参见