Availability: Public Title: 命令行参数 Crumbs: %ROOT%, Engine, Engine/Basics Description:参数集合,它们可以被传递到引擎的可执行文件用来配置控制其如何运行的选项。 [TOC (start:2 end:3)] ## 概述 命令行参数是一连串的关键字字符串,当运行可执行文件时可以通过命令行或者可执行文件的快捷方式将其传入。它们的目的是自定义引擎运行的方式,以便符合开发人员或用户的需要。这可以像使得运行编辑器而不运行游戏那么简单;或它也可以更加复杂,比如使用某个特定的地图在指定的分辨率和帧频率下启动游戏,同时把每帧转存到一个单独的图像文件中。 ## 模式 这些参数强制主编辑器可执行程序(`UE4Editor.exe`) 以使用未烘焙内容的游戏或服务器来运行。 [REGION:note] 这些命令是不区分大小写的。 [/REGION] *示例:* UE4Editor.exe -game | 参数 | 描述 | | -------- | ----------- | | -game | 使用未烘焙内容来启动游戏。| | -server | 将游戏作为使用未烘焙内容的服务器来运行。| ## URL参数 URLs可以传入到可执行命令中来强制游戏在启动时加载特定的地图。这些参数也可以和 SERVER或EDITOR模式结合使用来使用特定的地图运行编辑器或服务器。传入URL参数是可选的,但是该参数必须紧跟在可执行命令名称的后面或者如果存在任何模式开关则紧跟在该模式开关的后面。 URL由两部分组成: 地图名称或服务器IP地址以及一系列的可选的附加参数。地图名称可以是使放在Maps目录中的任何地图的名称。这里是否包含文件扩展名(也就是, `.umap`)是可选的。要想加载在Maps目录中不能找到的地图,那么可以使用来自于Maps目录的绝对路径或相对路径。在这种情况下,则强制包含文件扩展名。服务器IP地址是一个标准的4-部分IP地址,即由0到255之间的4个值组成,这些数值之间用句号分隔。其它的选项通过把它们附加到地图名称或服务器IP地址的后面来指定。每个选项都使用‘?’作为前缀,并且可以使用'='来设置值。使用'-'来启动选项将会把该选项从缓存的URL选项中移除。 *示例:* MyGame.exe /Game/Maps/MyMap UE4Editor.exe MyGame.uproject /Game/Maps/MyMap?game=MyGameInfo -game UE4Editor.exe MyGame.uproject /Game/Maps/MyMap?listen -server MyGame.exe 127.0.0.1 ### 一般选项 | 参数 | 描述 | | -------- | ----------- | | game |告诉引擎要使用的GameInfo类(覆盖默认的值)。| | name | 使用的玩家名称。| ### 服务器选项 | 参数 | 描述 | | -------- | ----------- | | listen | 指定服务器作为监听服务器。| | bIsLanMatch | 设置多玩家游戏是否在本地网络上(比如 `bIsLanMatch=0` )。| | bIsFromInvite | 定义该玩家的加入受到了邀请。| | spectatoronly | 以观看模式启动游戏。| ## 开关 根据特定关键字的及它的应用目的的不同,这些参数可以传入到游戏或编辑器中。有些参数是一般的开关(也就是-UNATTENDED),而其它的参数是设置开关,它们是“键=值”对(也就是-LOG=MyLog.txt)。这些命令是大小写不敏感的。传入普通的开关的语法是在每个参数前面加上一个减号(‘-’),然后后面紧跟上那个参数。设置开关除了服务器开关外,其它的不需要以 ‘-‘开头。 *示例:* UE4Editor.exe -silent LOG=MyLog.txt ### 开发者 * `ABSLOG`: 和LOG=类似,但是没有文件名长度检查。 * `ALLUSERS`: 当指定了INSATLLGE时,为所有用户添加游戏。 * `AUTO`: 假设对所有问题的回答都为”是。“(比如在编译过程中) * `AUTOCHECKOUTPACKAGES`: 自动检查需要保存的包。 * `AutomatedMapBuild`: 执行针对特定地图的自动构建。 * `BIASCOMPRESSIONFORSIZE`: 覆盖关于大小的压缩设置。 * `BUILDMACHINE`: 设置为编译机器。用于决定是否启用调试输出。 * `BULKIMPORTINGSOUNDS`: 当批量地导入声音时使用它。(针对通用浏览器) * `CHECK_NATIVE_CLASS_SIZES`: 启用native类的大小检查。注意: 游戏机平台上的Native类会导致native类的大小检查失败,尽管假设它们是正确的。 * `CODERMODE`: 启用Coder(编码)模式。 * `COMPATSCALE`: 手动地设置兼容性设置来覆盖PCCompat工具设置。 * `CONFORMDIR`: 当统一包时要使用的目录。 * `COOKFORDEMO`: 指定其为演示作品的烘焙包。 * `COOKPACKAGES`: 指定烘焙包的标签。 * `CRASHREPORTS`: 总是报告引擎的崩溃情况。 * `D3DDEBUG`: 使用 d3d调试设备。 * `DEBUG`: 告诉引擎发送调试信息到调试器,或者在脚本编译过程中编译调试包。 * `DEVCON`: 禁用开发人员的可靠连接。(使用未加密的插槽) * `DUMPFILEIOSTATS`: 跟踪并记录文件IO的统计数据。 * `DUMPUDKSURVEY`: 简单地转存UDK硬件调查。不上传。 * `FATASCRIPTWARNINGS`: 把调试过程中的脚本警告当成致命错误。 * `FINAL_RELEASE`: 为脚本编译设置FINAL_RELEASE宏。 * `FIXEDSEED`: 使用固定的值0初始化随机数生成器。 * `FIXUPTANGENTS`: 自动修复在分布中遗留的切线。 * `FORCELOGFLUSH`: 强制在每行后进行日志刷新。 * `FORCEPVRTC`: 强制对移动平台进行pvrtc贴图压缩。 * `FORCESOUNDRECOOK`: 强制完全地重新烘焙所有声效。 * `GENERICBROWSER`: 使用通用浏览器。 * `INCLUDEUTGAMECONTENT`: 设置要加载的UTGameContent包。 * `INSTALLED`: 用于开发,就像安装了游戏那样运行游戏。 * `INSTALLFW` / `UNINSTALLFW`: 设置是否要执行防火墙集成的处理。 * `INSTALLGE`: 把游戏添加到游戏浏览器中。 * `CULTUREFORCOOKING`: 设置烘焙所使用的语言。 * `LIGHTMASSDEBUG`: 使用–debug手动地启动lightmass,并允许lightmass执行多次。 * `LIGHTMASSSTATS`: 强制所有的lightmass代理向日志中报告详细的统计数据。 * `LOG`: 当用作为开关(-log)时,将打开一个独立的窗口实时地显示日志的内容。当用作为设置(LOG=filename.log)时,将告诉引擎使用紧跟在后面的字符串作为日志文件名。 * `LOGTIMES`: 在日志输出中打印时间。(默认情况下,这和设置*Engine.ini文件的[LogFiles]部分中的LogTimes=True的效果一致。) * `NOCONFORM`: 告知引擎不要统一包,因为它们已经编译了。 * `NOCONTENTBROWSER`: 禁用 **内容浏览器** 。 * `NOINNEREXCEPTION`: 禁用native C++中的异常处理程序。 * `NOLOADSTARTUPPACKAGES`: 强制不加载启动包。如果启动包中的对象必须从编辑器中删除,那么您可以使用这项。 * `NOLOGTIMES`: 在日志输出中不打印时间。(默认情况下,这和设置*Engine.ini文件的[LogFiles]部分中的LogTimes=False的效果一致。) * `NOMODAUTOLOAD`: 不要自动地加载mod类。 * `NOPAUSE`: 在退出时自动地关闭日志窗口。 * `NOPAUSEONSUCCESS`: 只要没有错误存在,那么便在退出时自动地关闭日志窗口。 * `NORC`: 禁用远程控制。用于专用服务器。 * `NOVERIFYGC`: 不验证垃圾编译器的假定条件。 * `NOWRITE`: 禁止把结果输出到日志中。 * `OUTPUTHEADERS`: 强制批量导出脚本中头文件的输出。 * `SEEKFREELOADING`: 仅使用烘焙的数据。 * `SEEKFREEPACKAGEMAP`: 使用免搜索(烘焙)版本覆盖包地图。 * `SEEKFREELOADINGPCCONSOLE`: 仅为PC控制台模式使用烘焙的数据。 * `SEEKFREELOADINGSERVER`: 仅为服务器使用烘焙的数据。 * `SETTHREADNAMES`: (仅Xbox) 强制设置线程名称。这可能会搞糟XDK COM API,这也是为什么在需要的情况下必须现实地设置执行它的原因。 * `SHOWMISSINGLOC`: 如果丢失了本地化文本则返回错误的字符串,而不是英文文本。 * `SILENT`: 禁用输出和反馈。 * `TRACEANIMUSAGE`: 跟踪动画的应用。 * `TREATLOADWARNINGSASERRORS`: 强制加载警告作为错误处理。 * `UNATTENDED`: 设置为无人管理的状态。禁用需要从用户获得反馈的任何东西。 * `UNINSTALLGE`: 从游戏浏览器中删除游戏。 * `USEUNPUBLISHED`: 强制使用在Unpublished文件夹中的包。(废弃?) * `VADEBUG`: 使用Visual Studio调试器界面。 * `VERBOSE`: 设置脚本编译器使用详细的输出。 * `VERIFYGC`: 强制验证垃圾编译器的假设条件。 * `WARNINGSASERRORS`: 把警告当做错误处理。 ### 渲染 * `ConsoleX`: 控制台输出窗口的水平位置。 * `ConsoleY`: 控制台输出窗口的垂直位置。 * `WinX`: 设置游戏窗口在屏幕上的水平位置。 * `WinY`: 设置游戏窗口在屏幕上的垂直位置。 * `ResX`: 设置游戏窗口的水平分辨率。 * `ResY`: 设置游戏窗口的垂直分辨率。 * `VSync`: 通过命令行激活VSYNC。(这会防止产生图像撕裂,但会造成fps消耗并导致输入延迟)。 * `NoVSync`: 通过命令行禁用VSYNC。 * `BENCHMARK`: 为了不跳任何帧来处理每一帧,则以固定步长来运行游戏。当把这个参数和DUMPMOVIE选项结合使用时是非常有用的。 * `DUMPMOVIE`: 把渲染的帧使用当前的分辨率转存到文件中。 * `DUMPMOVIE_TILEDSHOT`: 使用指定的分辨率乘数把渲染的帧转存到文件中。使用为高分辨率帧使用平铺截图(比如 `DUMPMOVIE_TILEDSHOT=4`)。 * `EXEC`: 执行指定的exec文件。 * `FPS`: 设置性能基准测试中每秒钟的帧数。 * `FULLSCREEN`: 设置游戏以全屏模式运行。 * `PIXO`: 使用pixomatic软件渲染。 * `SECONDS`: 设置最大的tick(更新)时间。 * `SM3`: 强制使用shader model 3。 * `SM4` / `D3D10`: 如果DirectX 10存在,则强制使用它。 * `WINDOWED`: 设置游戏以窗口模式运行。 ### 网络 * `LANPLAY`: 告诉引擎在连接到服务器时不要超过客户端的带宽。因为服务器更新量是双倍的,这可能会占用充满整个客户端带宽。 * `Limitclientticks`: 强制对网络更新进行节流。 * `MULTIHOME`: 告诉引擎为网络使用多寻址地址。 * `NETWORKPROFILER`: 启用网络分析跟踪。 * `NOSTEAM`: 设置不使用steamworks。 * `PORT`: 告诉引擎使用特定的端口号。 * `PRIMARYNET`: 影响引擎如何处理网络绑定。 ### 用户 * `NOHOMEDIR`: 覆盖使用My Documents(我的文档)文件夹作为主目录。 * `NOFORCEFEEDBACK`: 在引擎中禁用强制反馈功能。 * `NOSOUND`: 禁用引擎中的任何声效输出。 * `NOSPLASH`: 当加载游戏时禁止使用程序启动图像。 * `NOTEXTURESTREAMING`: 禁用贴图动态载入。总加载最高质量的贴图。 * `ONETHREAD`: 使用单线程运行引擎而不使用多线程。 * `PATHS`: 设置测试冲突的内容所使用的路径。这个参数对发行版本无效。 * `PREFERREDPROCESSOR`: 设置特定处理器的线程关联性。 * `USEALLAVAILABLECORES`: 强制在目标平台上使用所有可用核心。 ### 服务器开关 * `LOGIN`: 设置登录时使用的用户名。 * `PASSWORD`: 设置登录时使用的密码。 ### 游戏状态/数据库 * `NODATABASE`: 请不要使用数据库。忽略数据库连接错误。 * `NOLIVETAGS`: 跳过加载SQL数据库中没有验证的标签改变。仅为当前用户加载。 ### INI/设置文件 * `ENGLISHCOALESCED`: 如果不能找到语言的本地化版本则恢复到默认的(英语)coalesced .ini。 * `NOAUTOINIUPDATE`: 禁止向更新的.ini文件中输入提示信息。 * `NOINI`: 不更新.ini文件。 * `REGENERATEINIS`: 强制重新生成.ini文件。 可以使用另一个命令行参数来临时地覆盖游戏或编辑器加载的INI文件。比如,如果使用了一个自定义的'MyGame.ini' 文件而不是'UDKGame.ini',那么该参数将为(也就是-GAMEINI=MyGame.ini )。这个表格列出了UE4中用于覆盖不同的INI文件的参数。 | 命令行参数| INI覆盖 | | --- | --- | | `DEFEDITORINI=` | Default Editor | | `EDITORINI=` | Editor | | `DEFEDITORUSERSETTINGSINI=` | Default EditorUserSettings | | `EDITORUSERSETTINGSINI=` | EditorUserSettings | | `DEFCOMPATINI=` | Default Compat | | `COMPATINI=` | Compat | | `DEFLIGHTMASSINI=` | Default Lightmass | | `LIGHTMASSINI=` | Lightmass | | `DEFENGINEINI=` | Default Engine | | `ENGINEINI=` | Engine | | `DEFGAMEINI=` | Default Game | | `GAMEINI=` | Game | | `DEFINPUTINI=` | Default Input | | `INPUTINI=` | Input | | `DEFUIINI=` | Default UI | | `UIINI=` | UI | ### 调试 * `BugLoc` (e.g. `BugLoc=(X=1798.8569,Y=475.9513,Z=-8.8500)`) * `BugRot` (e.g. `BugRot=(Pitch=-1978,Yaw=-7197,Roll=0)`) ### 其它 * `timelimit` (e.g. `timelimit=[time]`) * `goalscore` (e.g. `goalscore=[score]`) * `numbots` (e.g. `numbots=[num]`)