命令行参数是指通过命令行或者可执行文件快捷方式启动游戏进程的时候,附加在后面的一系列参数。
命令行参数
命令行参数分为两种,一种是编译游戏代码时候需要用到的命令行参数。另一种则是在启动游戏进程时候指定的参数。
编译命令行参数
编译代码期间会用到的参数如下:
- 版本 -debug -release</p>
全量 -full (默认增量)
自动更新C++头文件,不弹框确认 -auto
注意:虚幻三编译脚本.uc文件时候,会更新.h头文件移除.u文件中的源代码信息 -stripsource注意:.u文件是虚幻三脚本文件编译后的字节码文件,虚幻四中不存在
因此,编译代码时候最多可能指定以下参数组合:
make -debug -full -auto -stripsource
make -release -full -auto -stripsource
注意:通过在vs中指定make命令可以调试编译代码的过程。
如下图所示:
运行命令行参数
启动游戏进程指定的命令行参数分为两个个部分,第一个部分用于指定进程的运行模式(客户端、服务器、编辑器),第二个部分用于指定地图的URL以及附加选项。
运行模式
游戏进程可以用三种不同的模式进行启动,分别是客户端、服务器、编辑器模式。因此,虚幻引擎生成的游戏可执行文件同时可以作为游戏服务器、游戏客户端、游戏编辑器运行。这是一个很神奇的地方。
客户端模式
默认情况下,启动的游戏进程就是客户端模式,不需要指定额外的命令行参数。
在UE4中,也可以指定-game参数。服务器模式
通过指定server参数,可以启动一个游戏服务器。
比如,udk.exe server,则是使用udk启动一个游戏服务器。
对于UE4,则是UE4Editor.exe -server。
实际上,可以修改游戏引擎设置,输出自定义的游戏执行文件。在启动这个游戏可执行文件时候,只需要附近sever参数就可以启动一个游戏服务器。编辑器模式
通过指定editor参数,可以启动一个游戏服务器。
比如,udk.exe editor,则是使用udk启动游戏编辑器。
对于UE4,则是UE4Editor.exe -editor。
模式的URL参数
URL分为两个部分:地图名称或者服务器地址,可选的附加参数。
地图部分用于强制游戏启动时候加载特定的地图,附加参数用于设置额外的启动方式,比如设置分辨率,是否打开log窗口等。这些参数和server或editor模式结合起来就可以启动特定地图的服务器或者用编辑器打开特定地图。
如果没有url参数,那么游戏进程会打开默认的地图。URL参数必须在可执行命令名称的后面或者在模式参数后面。
地图
如果运行本地游戏,则指定Maps目录下的地图名称,比如MyMap. umap。
如果运行网络游戏,则指定游戏服务器的IP地址(server模式启动的游戏进程就是游戏服务器)。附加参数
附加参数与地图之间用”?”分隔。
附加参数分为两种类型,一种是用”=”指定的选项,一种是用”-“指定的开关。常用的选项参数:
dedicated:指定服务器作为专用服务器。
listen: 指定服务器作为监听服务器 。
spectatoronly:以观看模式启动游戏
class: 告诉引擎要使用的玩家类(覆盖默认值)。
game:: 指定使用的GameInfo类。
name: 要使用的玩家名称。
team: 指定玩家所在的团队。
resx/resy: 设置游戏窗口的分辨率。
consolex/consoley:设置控制台窗口(log窗口)分辨率。常用的开关参数:
log: 打开日志窗口。
windowed:窗口模式运行。
nomoviestartup: 略过启动动画。
nosplash: 略过启动splash窗口。更多的附加参数请参考文档:虚幻四引擎命令行参数
一些示例:
UDK.exe server MyMap.udk
UDK.exe 127.0.0.1
UDK.exe MyMap.udk?-resX=640 -resY=480 -log log=log.txt
UDKLift.exe DM-发电站?Game=UTGame.UTTeamGame?listen=true?TeamIndex=0?Name=FS01 -log -windowed -resX=640 -resY=360 -nomoviestartup -nosplash windowPosX=0 windowPosY=0 -consolePosX=0 -consolePosY=365
MyGame.exe editor MyMap.umap -NoLoadStartupPackages -NoGADWarning