以下内容都是基于Unreal Engine版本:4.18.2-0+++UE4+Release-4.18。
操作系统是:Window10 x64专业版。
编译工具:VS2017 企业版。
文中提及目录路径都是相对路径,例如UnrealEngine-release\Engine\Binaries\Win64,全路径为D:\ue4\UnrealEngine-release\Engine\Binaries\Win64,其中D:\ue4为每个用户自行选择的UE4安装目录。
ShooterGame的全路径D:\ue4\ShooterGame。
一、下载UE4源码及编译
1、在unrealengine官网注册帐号;
2、登录成功后进入点击个人->连接的帐号,里面填写你的GITHUB帐号;
保存更改成功后,稍等几分钟你就自动加入了GITHUB上的EpicGames organization,此时才有权限进入https://github.com/EpicGames/UnrealEngine这个地址;
3、下载最新的release版本(鼓励用这个版本,官方会修正BUG,但与教程可能会有细小差别)或者下载与此教程一致的版本4.18.2-release;
这里解释下,只有源码编译版本的引擎才可以编译Standalone Dedicated Server,安装版本无法编译。
4、解压出来后先用编辑器打开Setup.bat,为了加速下载,加入命令参数–thread=5,设置下载线程数(设置5-10比较合理),–proxy=@proxy_ip:port,设置代理服务器(如果有的话);
5、执行完毕Setup.bat,大约会下载6G左右的内容,下载完成后运行GenerateProjectFiles.bat,会生成VS工程文件UE4.sln。双击打开UE4.sln,将Solution Configurations设置成development editor进行编译;
6、编译完成后会在UnrealEngine-release\Engine\Binaries\Win64目录下生成UE4Editor.exe;
二、创建ShooterGame UE4工程
1、首先我们去Epic Games Launcher下载ShooterGame工程(大概1G大小);
2、切换ShooterGame工程引擎版本,右键点击ShooterGame.uproject,点击Select Unreal Engine Version,选择我们自行编译的版本;
3、再右键点击ShooterGame.uproject,点击Generate Visual Studio project files,生成VS项目文件ShooterGame.sln;
三、ShooterGame Standalone Dedicated Server For Windows
1、使用UE4Editor打开ShooterGame,点击编辑->项目设置;
2、修改一下Global Default Server Game Mode设置;
3、在ShooterGame.uproject同级目录新建目录PackageTest,选择PackageTest目录进行Win64打包;
4、打包完成后,会在PackageTest目录里生成WindowsNoEditor目录里面包含了客户端以及资源文件(也是服务器需要的);
5、使用VS打开ShooterGame.sln工程,将Solution Configurations设置成development Server进行编译;
6、编译完成后会在ShooterGame\Binaries\Win64里面生成ShooterGameServer.exe,我们将其拷贝到ShooterGame\PackageTest\WindowsNoEditor\ShooterGame\Binaries\Win64
7、我们利用Windows Cmd来启动服务器,ShooterGameServer.exe /Game/Maps/Highrise -log
8、启动客户端(在编辑器启动或者WindowsNoEditor里面的客户端exe都可以),呼出控制台(~键,数字键1左边),输入open 127.0.0.1连入服务器,若是远程有公网IP的服务器将127.0.0.1换成对应IP即可,局域网类似;
至此,我们已经成功在WIN64环境下打包客户端及搭建服务器
四、Linux版本准备
这里的思路是利用WIN64环境来交叉编译Linux版本,参考了官方文档:
https://docs.unrealengine.com/latest/CHN/Platforms/Linux/GettingStarted/index.html
1、下载 链接 Clang 3.9.0的工具链,安装,以及设置环境变量步骤全部省略了,可以参考上面文档;
2、我们需要重新在UnrealEngine-release目录执行Setup.bat(正常有1G左右的下载内容),运行GenerateProjectFiles.bat,目的是为了增加linux支持内容;
3、双击打开UE4.sln,编译linux版本的UE4Editor;
4、关闭已经打开的UE4Editor,重新编译一次WIN64版本的,为了添加linux支持库;
这一步很重要,观察编译完成后在UnrealEngine-release\Engine\Binaries\Win64目录下是否有UE4Editor-LinuxNoEditorTargetPlatform.dll这个文件,否则后面打包会报LinuxNoEditor错误
五、ShooterGame Standalone Dedicated Server For Linux
1、使用UE4Editor打开ShooterGame,在项目设置中添加linux支持;
2、进行linux版本的打包,目录还是选择ShooterGame\PackageTest;
若这里Linux还有黄色的感叹号,可以尝试重启一下UE4Editor
3、打包完成后会生成ShooterGame\PackageTest\LinuxNoEditor文件夹,里面包含了Linux客户端以及资源(服务器需要的);
4、使用VS打开ShooterGame.sln工程,编译Linux版本的Server;
5、编译完成后会在ShooterGame\Binaries\Linux里面生成ShooterGameServer,我们将其拷贝到ShooterGame\PackageTest\LinuxNoEditor\ShooterGame\Binaries\Linux;
6、将整个LinuxNoEditor目录打包(其实可以剔除掉客户端二进制程序,保留资源)到Linux服务器上(CentOS Linux release 7.2),解压后:
cd /LinuxNoEditor/ShooterGame/Binaries/Linux
chmod 744 ShooterGameServer
./ShooterGameServer /Game/Maps/Highrise
7、启动客户端,呼出控制台(~键,数字键1左边),输入open [Linux服务器公网IP]连入服务器;
Linux服务器已经成功搭建
(全文结束)
转载文章请注明出处:漫漫路 - lanindex.com