UDN
Search public documentation:

CommandLineArgumentsCH
English Translation
日本語訳
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3主页 > 虚幻引擎3基础 > 虚幻引擎3命令行参数

虚幻引擎3命令行参数


概述


命令行参数是一连串的关键字字符串,当运行可执行文件时可以通过命令行或者可执行文件的快捷方式将其传入。它们的目的是自定义引擎运行的方式,以便符合开发人员或用户的需要。这可以像使得运行编辑器而不运行游戏那么简单;或它也可以更加复杂,比如使用某个特定的地图在指定的分辨率和帧频率下启动游戏,同时把每帧转存到一个单独的图像文件中。

模式


这些参数强制使得主要的可执行命令以某种模式而不是正常的游戏模式运行,或者强制执行众多命令行开关中的一个,它们是一些执行和开发人员的相关的常见任务的较小的专用的应用程序。它们紧跟在可执行文件名称的后面比那可以立即地被传入到可执行命令中,不需要额外的语法。这些命令是大小写不敏感的。

示例:

UDK.exe editor

  • Editor: 启动编辑器
  • Server: 将游戏作为服务器运行

地图/服务器/编辑器的URL 参数


URLs可以传入到可执行命令中来强制游戏在启动时加载特定的地图。这些参数也可以和 SERVER或EDITOR模式结合使用来使用特定的地图运行编辑器或服务器。传入URL参数是可选的,但是该参数必须紧跟在可执行命令名称的后面或者如果存在任何模式开关则紧跟在该模式开关的后面。

URL由两部分组成: 地图名称或服务器IP地址以及一系列的可选的附加参数。地图名称可以是使放在Maps目录中的任何地图的名称。这里是否包含文件扩展名(也就是.udk 或.ut3)是可选的。要想加载在Maps目录中不能找到的地图,那么可以使用来自于Maps目录的绝对路径或相对路径。在这种情况下,则强制包含文件扩展名。服务器IP地址是一个标准的4-部分IP地址,即由0到255之间的4个值组成,这些数值之间用句号分隔。其它的选项通过把它们附加到地图名称或服务器IP地址的后面来指定。每个选项使用‘?’作为前缀。

示例:

UDK.exe MyMap.udk?game=MyPackage.MyGame?class=MyPackage.MyPawn
UDK.exe server MyMap.udk?listen=true?bIsLanMatch=true
UDK.exe 127.0.0.1

一般选项

  • CHARACTER: 要使用的玩家角色。
  • CLASS: 告诉引擎要使用的玩家类(覆盖默认值)。
  • GAME: 告诉引擎要使用的GameInfo 类(覆盖默认值)。
  • NAME: 要使用的玩家名称。
  • PASSWORD: 进入一个服务器所需要的密码。
  • TEAM: 玩家所在的团队 (或比较喜欢的团队)。

服务器选项

  • bHasVoice: 指出可以使用语音支持。
  • bIsLanMatch: 设置多玩家游戏是否在本地网络上(比如 bIsLanMatch=0 )。
  • bRequiresPassword: 设置在线游戏是否需要密码(比如 bRequiresPassword=0 )。
  • DEDICATED: 指定服务器作为专用服务器。
  • GAMEPASSWORD: 传入的服务器密码。
  • LISTEN: 指定服务器作为监听服务器 (比如 Listen=...).
  • SERVERDESCRIPTION: 为服务器显示的描述信息。

针对UTGame的特定选项

  • DIFFICULTY: 设置游戏中机器人的技能级别。
  • MUTATOR: 指定要使用的mutator (设置器)。
  • NUMPLAY: 要使用的玩家的数量。(玩家的数量是机器人的数量加1的值)。
  • RESTART: 重新启动地图。
  • SPECTATORONLY: 以观看模式启动游戏。

Switches(开关)


根据特定关键字的及它的应用目的的不同,这些参数可以传入到游戏或编辑器中。有些参数是一般的开关(也就是-UNATTENDED),而其它的参数是设置开关,它们是“键=值”对(也就是-LOG=MyLog.txt)。这些命令是大小写不敏感的。传入普通的开关的语法是在每个参数前面加上一个减号(‘-’),然后后面紧跟上那个参数。设置开关除了服务器开关外,其它的不需要以 ‘-‘开头。

示例:

UDK.exe –silent LOG=MyLog.txt

开发人员

  • ABSLOG: 和LOG=类似,但是没有文件名长度检查。
  • ALLUSERS: 当指定了INSATLLGE时,为所有用户添加游戏。
  • AUTO: 假设对所有问题的回答都为”是“(比如在编译过程中)。
  • AUTOCHECKOUTPACKAGES: 自动检查需要保存的包。
  • AUTODEBUG: 执行自动调试。附加UnrealScript调试器并在遇到的第一个字节代码出现则中断。
  • AutomatedMapBuild: 执行针对特定地图的自动构建。自动地图构建
  • BIASCOMPRESSIONFORSIZE: 覆盖关于大小的压缩设置。
  • BUILDMACHINE: 设置为编译机器。用于决定是否启用调试输出。
  • BULKIMPORTINGSOUNDS: 当批量地调出声音时使用它(针对通用浏览器)。
  • CHECK_NATIVE_CLASS_SIZES: 启用native类的大小检查。注意: 游戏机平台上的Native类会导致native类的大小检查失败,尽管假设它们是正确的。
  • CODERMODE: 启用Coder(编码)模式。
  • COMPATSCALE: 手动地设置兼容性设置来覆盖PCCompat工具设置。
  • CONFORMDIR: 当统一包时要使用的目录。
  • COOKFORDEMO: 指定其为演示作品的烘焙包。
  • COOKPACKAGES: 指定烘焙包的标签。
  • CRASHREPORTS: 总是报告引擎的崩溃情况。
  • D3DDEBUG: 使用 d3d调试设备。
  • DEBUG: 告诉引擎发送调试信息到调试器,或者在脚本编译过程中编译调试包。
  • DEBUGFACEFX: 跟踪FaceFX动画。
  • DEVCON: 禁用开发人员的可靠连接(使用未加密的插槽)
  • DUMPFILEIOSTATS: 跟踪并记录文件IO的统计数据。
  • DUMPUDKSURVEY: 简单地转存UDK硬件调查。不上传。
  • FATALSCRIPTWARNINGS: 把调试过程中的脚本警告当成致命错误。
  • FINAL_RELEASE: 为脚本编译设置FINAL_RELEASE宏。
  • FIXEDSEED: 使用固定的值0初始化随机数生成器。
  • FIXUPTANGENTS: 自动修复在分布中遗留的切线。
  • FORCELOGFLUSH: 强制在每行后进行日志刷新。
  • FORCEPVRTC: 强制对移动平台进行pvrtc贴图压缩。
  • FORCESOUNDRECOOK: 强制完全地重新烘焙所有声效。
  • GENERICBROWSER: 使用通用浏览器。
  • INCLUDEUTGAMECONTENT: 设置要加载的UTGameContent包。
  • INSTALLED: 用于开发,就像安装了游戏那样运行游戏。
  • INSTALLFW / UNINSTALLFW: 设置是否要执行防火墙集成的处理。
  • INSTALLGE: 把游戏添加到游戏浏览器中。
  • LANGUAGEFORCOOKING: 设置烘焙所使用的语言。
  • 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: 只要没有错误存在,那么便在退出时自动地关闭日志窗口。
  • NOREMOTECONTROL: 禁用远程控制。用于专用服务器。
  • NORC: 禁用远程控制。用于专用服务器。
  • NOVERIFYGC: 不验证垃圾编译器的假定条件。
  • NOWRITE: 禁止把结果输出到日志中。
  • OUTPUTHEADERS: 强制批量导出脚本中头文件的输出。
  • RC: 强制使远程控制可见。
  • REMOTECONTROL: 强制使远程控制可见。
  • REPAIR: 自动修复游戏资源数据库的任何问题。
  • SCRIPTSTACKONWARNINGS: 在调试过程中显示警告的脚本栈。
  • SEEKFREELOADING: 仅使用烘焙的数据。
  • SEEKFREEPACKAGEMAP: 使用免搜索(烘焙)版本覆盖包地图。
  • SEEKFREELOADINGPCCONSOLE: 仅为PC控制台模式使用烘焙的数据。
  • SEEKFREELOADINGSERVER: 仅为服务器使用烘焙的数据。
  • SETTHREADNAMES: (仅Xbox) 强制设置线程名称。这可能会搞糟XDK COM API,这也是为什么在需要的情况下必须现实地设置执行它的原因。
  • SHOWMISSINGLOC: 如果丢失了本地化文本则返回错误的字符串,而不是英文文本。
  • SILENT: 禁用输出和反馈。
  • SKIPDOWNLOADER: 对于针对Android系统的开发目的,跳过Google Play扩展下载器并使用手动同步的数据。
  • TRACEANIMUSAGE: 跟踪动画的应用。
  • TREATLOADWARNINGSASERRORS: 强制加载警告作为错误处理。
  • UNATTENDED: 设置为无人管理的状态。禁用需要从用户获得反馈的任何东西。
  • UNINSTALLGE: 从游戏浏览器中删除游戏。
  • USEUNPUBLISHED: 强制使用在Unpublished文件夹中的包(废弃?)。
  • UTRACE: 启用脚本跟踪功能。
  • VADEBUG: 使用Visual Studio调试器界面。
  • VERBOSE: 设置脚本编译器使用详细的输出。
  • VERIFYGC: 强制验证垃圾编译器的假设条件。
  • WAITFORDEBUGSERVER: 强制游戏等到UnrealConsole连接为止。
  • WARNINGSASERRORS: 把警告当做错误处理。
  • WXWINDOWS: 必须传入这个参数来启用属性窗口和远程控制。

渲染

  • ConsolePosX: 控制台输出窗口的水平位置。
  • ConsolePosY: 控制台输出窗口的垂直位置。
  • PosX: 设置游戏窗口在屏幕上的水平位置。
  • PosY: 设置游戏窗口在屏幕上的垂直位置。
  • WindowPosX: 设置游戏窗口在屏幕上的水平位置。
  • WindowPosY: 设置游戏窗口在屏幕上的垂直位置。
  • ResX: 设置游戏窗口的水平分辨率。
  • ResY: 设置游戏窗口的垂直分辨率。
  • VSync: 通过命令行激活VSYNC(这会防止产生图像撕裂,但会造成fps消耗并导致输入延迟)。
  • NoVSync: 通过命令行禁用VSYNC。
  • BENCHMARK: 为了不跳任何帧来处理每一帧,则以固定步长来运行游戏。当把这个参数和DUMPMOVIE选项结合使用时是非常有用的。
  • DUMPMOVIE: 把渲染的帧使用当前的分辨率转存到文件中。
  • DUMPMOVIE_TILEDSHOT: 使用指定的分辨率乘数把渲染的帧转存到文件中。使用为高分辨率帧使用平铺截图(比如 DUMPMOVIE_TILEDSHOT=4)。
  • EXEC: 执行指定的exec文件。
  • FORCESHADERMODEL2: 即使在shader model 3硬件上也强制使用shader model 2来渲染路径。
  • FORCESHADERMODEL3: 强制使用shader model 3。
  • FPS: 设置性能基准测试中每秒钟的帧数。
  • FULLSCREEN: 设置游戏以全屏模式运行。
  • PIXO: 使用pixomatic软件渲染。
  • SECONDS: 设置最大的tick(更新)时间。
  • SM3: 强制使用shader model 3。
  • SM4 / D3D10: 如果DirectX 10存在,则强制使用它。
  • WINDOWED: 设置游戏以窗口模式运行。

网络

  • LANPLAY: 告诉引擎在连接到服务器时不要超过客户端的带宽。因为服务器更新量是双倍的,这可能会占用充满整个客户端带宽。
  • Limitclientticks: 强制对网络更新进行节流。
  • LIVEMACADDRESS: 指定Panorama连接所使用的MAC地址。
  • LIVEPORT: 指定Panorama连接所使用的端口。
  • LIVEREGKEY: 指定一个注册码。
  • MPGAMETYPE: 指定烘焙使用的一种单独的游戏类型。
  • MULTIHOME: 告诉引擎为网络使用多寻址地址。
  • NETWORKPROFILER: 启用网络分析跟踪。
  • NOLIVE: 禁用Panorama。
  • NOSTEAM: 设置不使用steamworks。
  • PORT: 告诉引擎使用特定的端口号。
  • PRIMARYNET: 影响引擎如何处理网络绑定。

用户

  • NOHOMEDIR: 覆盖使用My Documents(我的文档)文件夹作为主目录。
  • NOFORCEFEEDBACK: 在引擎中禁用强制反馈功能。
  • NOSOUND: 禁用引擎中的任何声效输出。
  • NOSPLASH: 当加载游戏时禁止使用程序启动图像。
  • NOTEXTURESTREAMING: 禁用贴图动态载入。总加载最高质量的贴图。
  • ONETHREAD: 使用单线程运行引擎而不使用多线程。
  • PATHS: 设置测试冲突的内容所使用的路径。这个参数对发行版本无效。
  • PREFERREDPROCESSOR: 设置特定处理器的线程关联性。
  • USEALLAVAILABLECORES: 强制在目标平台上使用所有可用核心。

服务器开关

  • LOGIN: 设置登录时使用的用户名。
  • PASSWORD: 设置登录时使用的密码。

游戏 统计数据/数据库

  • CSVSTATS: 把统计数据写入到文件中,使用分号分隔。
  • GAMESTATS: 使用游戏统计数据可视化效果。
  • NODATABASE: 请不要使用数据库。忽略数据库连接错误。
  • NOGADWARNING: 在编辑器启动时禁用游戏资源数据库警告。
  • NOLIVETAGS: 跳过加载SQL数据库中没有验证的标签改变。仅为当前用户加载。
  • STARTSTATSFILE: 开始写入到统计数据文件中。
  • STATFILE: 设置输出统计数据所到的文件的名称。
  • XMLSTATS: 使用XML格式把统计数据写入到文件中。

INI/Config 文件

  • ENGLISHCOALESCED: 如果不能找到语言的本地化版本则恢复到默认的(英语)coalesced .ini。
  • NOAUTOINIUPDATE: 禁止向更新的.ini文件中输入提示信息。
  • NOINI: 不更新.ini文件。
  • REGENERATEINIS: 强制重新生成.ini文件。

可以使用另一个命令行参数来临时地覆盖游戏或编辑器加载的INI文件。比如,如果使用了一个自定义的'MyGame.ini' 文件而不是'UDKGame.ini',那么该参数将为(也就是-GAMEINI=MyGame.ini )。这个表格列出了UE3中用于覆盖不同的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

ALERT! 2012年5月之后编译版本中可供使用的参数

针对基础数据类型(没有进行处理的数列和结构)的单个 .ini 文件现在也可以在命令行开关上进行重载(在Debug/Release/Test中,而不是在Shipping/FINAL_RELEASE中)。

这个功能通常用于移动设备(或者家用机),在这里改变命令行开关很容易,但是只是更新 .ini 设置来重新烘焙您的数据是有难度的。它的工作原理是这样的:

-ini:IniName:Section1.Key1=Value1,Section2.Key2=Value2,...

比如:

-ini:PS3-UDKEngine:Engine.Engine.bSmoothFrameRate=False,TextureStreaming.PoolSize=100
-ini:ExoGame:AwesomeBoss.HitPoints=100000

重点是使用正确的 .ini 名称!! 这已经通过生成的.ini文件进行测试(UDKEngine,不是DefaultEngine),所以我建议继续使用。

ALERT! 要点: 在PC上使用这项功能将会使您在本地生成 .ini 文件被更新。在家用机/移动设备上,这些 .ini 文件都是只读文件,这样它就只会影响游戏的运行。

调试

  • 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])