工程中测试

创建bat文件,格式如下:

UE4Editor.exe路径   工程文件名 [地图名及参数]   -game   [其他自定义参数]

UE4Editor.exe路径表示虚幻编辑器相应版本的UE4Editor.exe的绝对或者相对路径,如果路径名称中有空格,需要用引号把路径包裹住

工程文件名表示uproject文件的绝对或相对路径,如果路径名称中有空格,需要用引号把路径包裹住

[地图名及参数] 可以指定启动的地图名称,例如用一个完整路径:/Game/Maps/LobbyMap,或者省略路径,直接指定地图名称:LobbyMap。 地图后面可以加?listen参数,表示以listenserver的方式打开该地图

这里还可以添加ip地址,例如:...LobbyMap 127.0.0.1,这样会让该实例运行以后直接尝试连接该ip地址

-game表示运行游戏,如果不加该参数,则会启动编辑器

例如:

服务端:

"C:\Program Files\Epic Games\UE_4.18\Engine\Binaries\Win64\UE4Editor.exe" "D:\WorkingFolder\SceneVisualizationOfNPP\UE4_Program\UE4_Program.uproject" LobbyMap?listen -game -clientType server

客户端:

"C:\Program Files\Epic Games\UE_4.18\Engine\Binaries\Win64\UE4Editor.exe" "D:\WorkingFolder\SceneVisualizationOfNPP\UE4_Program\UE4_Program.uproject" -game -clientType clientA

(这个客户端命令没有直接尝试连接某个IP地址。可以在项目中利用Session去进行连接。)

Packaged后测试

Packaged以后的游戏会生成一个可执行的exe,直接点击就可以运行,但是如果想向其中传入一些参数,方法如下:

创建一个bat,内容格式:

游戏程序exe路径  [地图名和参数] [其他自定参数]

服务端:

WindowsNoEditor\UE4_Program2.exe LobbyMap?listen -clientType server

客户端

WindowsNoEditor\UE4_Program2.exe -clientType clientA

批量测试

如果讨厌bat文件的黑窗口,并且想依次运行多个bat,可以借助vbs脚本

范例如下:

set ws=WScript.CreateObject("WScript.Shell")
ws.Run "RunServer.bat",
WScript.Sleep
ws.Run "RunClientA.bat",
WScript.Sleep
ws.Run "RunCLientB.bat",

上述脚本的意思是先运行RunServer.bat,等待一秒,运行RunClientA.bat,等待一秒,运行RunClientB.bat

命令行Package

如果需要频繁package游戏到固定路径下进行测试,建议借助虚幻引擎的RunUAT.bat,其位置在 引擎目录\Engine\Build\BatchFiles

相关wiki: https://wiki.unrealengine.com/How_to_package_your_game_with_commands

我的使用范例:

RunUAT BuildCookRun -project="D:\WorkingFolder\...\UE4_Program2.uproject" -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -allmaps -stage -pak -archive -archivedirectory="D:\WorkingFolder\...\UE4_Program_Build2"

注意最后的输出路径结尾不能加反斜杠,不然会报错。

这样的话,只需要在RunUAT.bat的目录下打开一个命令行,运行上述命令即可package。下次再package只需要按上键,再回车就可以了。

或者有个更方便的办法,就是把上述内容写在一个bat里,需要用的时候直接双击就可以了。但是内容要稍微做点修改:

"C:\Program Files\Epic Games\UE_4.18\Engine\Build\BatchFiles\RunUAT.bat" BuildCookRun -project="D:\WorkingFolder\SceneVisualizationOfNPP\UE4_Program2\UE4_Program2.uproject" -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -allmaps -stage -pak -archive -archivedirectory="D:\WorkingFolder\SceneVisualizationOfNPP\UE4_Program_Build2"

命令行复制文件夹

网络测试有时候需要两个客户端,用bat启两次会导致本地化存储(例如save game)的冲突,这时候需要把打包好的程序复制两份或者多份。这个需求也可以自动化,使用bat的xcopy命令进行。

范例:

xcopy /E /Y "D:\WorkingFolder\SceneVisualizationOfNPP\UE4_Program_Build2\WindowsNoEditor" "D:\WorkingFolder\SceneVisualizationOfNPP\UE4_Program_Build2\WindowsNoEditor2\"

上述bat文件的作用是把第一个目录下的内容复制到第二个路径下,/E 表示复制目录和子目录,包括空的   /Y表示如果存在同名文件直接覆盖,不用提示

这行命令可以写在Package命令的下一行,等package完直接复制一份,更加省事。

但是要注意,如果要和上述例子连写,需要在第一条调用bat的命令前面添加一个call ,否则就只执行第一条,第二条会被略过。范例:

call "C:\Program Files\Epic Games\UE_4.18\Engine\Build\BatchFiles\RunUAT.bat" BuildCookRun -project="D:\WorkingFolder\SceneVisualizationOfNPP\UE4_Program2\UE4_Program2.uproject" -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -allmaps -stage -pak -archive -archivedirectory="D:\WorkingFolder\SceneVisualizationOfNPP\UE4_Program_Build2"
xcopy /E /Y "D:\WorkingFolder\SceneVisualizationOfNPP\UE4_Program_Build2\WindowsNoEditor" "D:\WorkingFolder\SceneVisualizationOfNPP\UE4_Program_Build2\WindowsNoEditor2\"
pause

如果不增加最前面的 call, 命令行就直接跳转到 RunUAT.bat的环境中去了,不会在第一条执行完之后跳转回来执行xcopy。

最后的pause可以去掉,这里加上只是为了防止执行完毕自动关闭窗口,以便更清楚的在命令行窗口中看到执行xcopy的过程。

UE4联网测试的快捷方法的更多相关文章

  1. iTerm 2打造ssh完美连接Linux服务器快捷方法

    iTerm 2打造ssh完美连接Linux服务器快捷方法 2019年05月02日 10:40:19 Mars0908 阅读数 213更多 个人分类: Mac下开发   版权声明:本文为博主原创文章,遵 ...

  2. ThinkPHP单字母函数(快捷方法)使用总结

    在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,本文将所有的字母函数总结一下,以方便以后查找. 1.U() URL组装 支持不同UR ...

  3. XCode中的单元测试:编写测试类和方法(内容意译自苹果官方文档)

    当你在工程中通过测试导航栏添加了一个测试target之后, xcode会在测试导航栏中显示该target所属的测试类和方法. 这一章演示了怎么创建测试类,以及如何编写测试方法. 测试targets, ...

  4. 批量产生ssh2项目中hibernate带注解的pojo类的快捷方法

    近几个月一直在忙于项目组的ios应用项目的开发,没有太多时间去研究web应用方面的问题了.刚好,昨天有网友问到如何批量产生hibernate带注解的pojo类的快捷方法,所谓批量就是指将当前数据库中所 ...

  5. Randoop测试类和方法(用例自动生成)

    详细使用方法见randoop官网: https://randoop.github.io/randoop/manual/index.html 测试程序之前,先检测下你的Randoop是否配置好: 打开c ...

  6. Photoshop CC 常用快捷方法有哪些?

    Photoshop CC 常用快捷方法有哪些? 属性栏 工具栏 控制面板 绘图区 1. 多个图层如何快速居中? 在 控制面板 中选中多个图层创建 链接图层 在 工具栏 选择 移动工具 在 属性栏 点击 ...

  7. utf8mb4的大小写敏感性测试及其修改方法

    utf8mb4的大小写敏感性测试及其修改方法 utf8mb4_ unicode_ ci 与 utf8mb4_ general_ ci 如何选择字符除了需要存储,还需要排序或比较大小,涉及到与编码字符集 ...

  8. utf8的大小写敏感性测试及其修改方法

    utf8的大小写敏感性测试及其修改方法 # 测试utf8的大小写敏感性及其修改方法 -- 以下是utf8不区分大小写 # 修改数据库: ALTER DATABASE database_name CHA ...

  9. IOZONE测试工具使用方法

    iozone介绍: iozone(www.iozone.org)是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能. 可以测试 Read, write, re-read ...

随机推荐

  1. docker 一些命令

    docker的基本命令 (1)创建一个虚拟机:docker-machine create --driver virtualbox default, (2)列出所有虚拟机:docker-machine ...

  2. ES5中的继承

    继承 在面向对象的语言中, 大多语言都支持两种继承方式: 接口继承 和 实现继承, 接口继承 只继承方法签名, 实现继承 才继承实际的方法, ECMAScript 值支持 实现继承, 今天我们来谈谈实 ...

  3. SSM框架中数据库无法连接的问题

    首先是SSM框架中所有的配置都是没有问题的,而且项目在其他人的环境上也能正常访问数据库:那么最有可能的就是数据库版本的问题导致数据库连接不上,服务器给我的报错是: 15:37:25.902 [C3P0 ...

  4. S-阶乘除法

    输入两个正整数 n, m,输出 n!/m!,其中阶乘定义为 n!= 1*2*3*...*n (n>=1). 比如,若 n=6, m=3,则n!/m!=6!/3!=720/6=120. 是不是很简 ...

  5. HTML文本格式化标签(Formatting)

    <b>粗体文本</b> <code>计算机代码</code> <em>强调文本</em> <i>斜体文本</i ...

  6. XPath语法以及谓语的结合使用

    /* XPath 术语 节点(Node) 在 XPath 中,有七种类型的节点:元素.属性.文本.命名空间.处理指令.注释以及文档(根)节点.XML 文档是被作为节点树来对待的.树的根被称为文档节点或 ...

  7. 显示本机 Linux 系统上所有开放的端口列表

    #!bin/bash#作者:liusingbon#功能:从端口列表中观测端口,关闭无用端口对应的服务,降低被意外攻击的可能性ss -nutlp |awk '{print $1,$5}' |awk -F ...

  8. MapReduce单机提交(待稿)

    MR 提交方式源码 提交方式: 1,开发-> jar -> 上传到集群中的某一个节点 -> hadoop jar ooxx.jar ooxx in out 2,嵌入[linux,wi ...

  9. Codeforces 916 二进制1数目构造(阅读理解) 最小生成树1-N路径质数构造

    A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...

  10. JavaScript设计模式 样例二 —— 策略模式

    策略模式(Strategy Pattern): 定义:定义了一族算法: 封装了每个算法: 这族的算法可互换代替. 目的:将算法的使用与算法的实现分离开来. 场景:可用来消除大量的条件分支语句. 例:J ...