站务联系

来玩一局CS吗?UE4射击游戏的独立服务器构建

发布时间:2021-03-17   来源:网络整理    
字号:

来玩一局CS吗?UE4射击游戏的独立服务器构建源码

在这第一步我就形成了疑惑,我们最初从官网下载UE4启动器后,安装UE4引擎时,不就早已下载了虚幻引擎源码了吗,还有必要再次下载吗?

来玩一局CS吗?UE4射击游戏的独立服务器构建

该问题我在Reddit(国外著名峰会)上找到了详尽的剖析,原因就是由于没有依照手册的方法下载与编译UE4源码。至于为什么启动器中下载的UE4引擎源码会出现找不到建立目标“UE4Server”的问题,我猜想是因为其源码(构建)不完整,精简了编辑器以外的其他内容(例如独立服务器模块等等),所以,还是老老实实下载源码吧。

下载UE4源码

UE4源码储存在Github库房,并且是私有库房(private reposity)。如果你想荣获访问权限,需要加入Epic Games开发组。在Epic官网登录账号后,关联Github账号,就会收到Epic Games开发组的约请,接受后即可加入,官网做了具体的操作教程。

我下载的版本是4.22.3,大小是333M,如果你访问Github速率过慢,可以从我的百度网盘中下载(提取码:fv4e)。

安装源码

解压上一步下载的源码压缩包后,双击Setup.bat文件即可。

来玩一局CS吗?UE4射击游戏的独立服务器构建

根据提示来看,是因为须要安装.net框架的SDK。打开谷歌.NET官网,下载.NET Framework Dev Pack(注意不是Runtime)。

(Warning!)此处有巨坑。根据前面的提示,是须要安装4.6.2版本的.NET Framework Dev Pack,如果你和我一样直接下载了现在最新的版本(4.8),同样会有该错误提示,因为这个版本要求早已写在了如下的文件中:

Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj
Engine\Source\Programs\DotNETCommon\DotNETUtilities\DotNETUtilities.csproj

“机智”的我立即找到了文件中的TargetFrameworkVersion数组,将默认的v4.6.2更改成了我安装的版本v4.8,再次运行GenerateProjectFiles.bat后,果然,没有报错,并且成功生成了UE4.sln。其实,如上的方法并不是指跳过了这个巨坑,因为,这也是恶梦的开始...

继续进行下边的编译源码方法后(耗时约8小时),会得到如下的报错:

error MSB3075: The command "..\..\Build\BatchFiles\Build.bat exited with code 5. 
Please verify that you have sufficient rights to run this command.

根据报错提示,是"....\Build\BatchFiles\Build.bat"异常退出,因为没有权限。我猜想或许是因为文件占用造成的,先是重启了VS再编译,没有疗效。然后又重启了笔记本,仍然没有疗效。然后又尝试了“使用管理员权限”重新编译,还是没有变化。百度跟Google上的解决办法只是五花八门,各种状况都有,无法解决。

最后正在我绝望的时侯,突然想起了.NET版本的问题,卸载.NET Dev Pack 4.8之后再次安装.NET Dev Pack 4.6.2后来。终于,报错消失了,所以,这里只好使用.NET Dev Pack 4.6.2。

这个坑洞主要是因为.NET Dev Pack版本安装错误后,没有明晰的提示,不太容易联想至是.NET Dev Pack版本的问题,而且,编译一次UE4源码真的太太太太很耗时间了。

编译UE4源码

双击UE4.sln在Visual Studio中打开UE4源码,在两侧解决方案浏览器(Solution Explorer)中,在“UE4”项目点击右键游戏服务器,然后点击Build。考验笔记本功耗的时侯至了,我在公司的i3处理器的笔记本上编译了大约8个小时,并且在编译其间,CPU占用率仍然100%,几乎干不了其他事,所以建议在上班的时侯进行,第二天早上一下班就可以看见,编译早已完成。

为项目添加建立服务器目标

由于官网的手册是针对引擎版本为“4.14, 4.15, 4.16, 4.17, 4.18”编写的,而我使用的UE4引擎版本为4.22.3,因此使用的是手册中针对4.18版本的内容,经过检测,是可以使用的。

图说天下

×
二维码生成