命令行参数
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' 的新文件中,并将其置于所需位置。