UE4 ShooterGame Standalone Dedicated Server(Windows & Linux)

以下内容都是基于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帐号;

epic填写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,设置代理服务器(如果有的话);

修改setup

5、执行完毕Setup.bat,大约会下载6G左右的内容,下载完成后运行GenerateProjectFiles.bat,会生成VS工程文件UE4.sln。双击打开UE4.sln,将Solution Configurations设置成development editor进行编译;

设置VS2017编译UE4

6、编译完成后会在UnrealEngine-release\Engine\Binaries\Win64目录下生成UE4Editor.exe;

 

二、创建ShooterGame UE4工程

1、首先我们去Epic Games Launcher下载ShooterGame工程(大概1G大小);

射击游戏

2、切换ShooterGame工程引擎版本,右键点击ShooterGame.uproject,点击Select Unreal Engine Version,选择我们自行编译的版本;

选择UE4版本

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设置;

Global Default Server Game Mode设置

3、在ShooterGame.uproject同级目录新建目录PackageTest,选择PackageTest目录进行Win64打包;

打包WIN64

4、打包完成后,会在PackageTest目录里生成WindowsNoEditor目录里面包含了客户端以及资源文件(也是服务器需要的);

5、使用VS打开ShooterGame.sln工程,将Solution Configurations设置成development Server进行编译;

ServerWIN64

6、编译完成后会在ShooterGame\Binaries\Win64里面生成ShooterGameServer.exe,我们将其拷贝到ShooterGame\PackageTest\WindowsNoEditor\ShooterGame\Binaries\Win64

7、我们利用Windows Cmd来启动服务器,ShooterGameServer.exe /Game/Maps/Highrise -log

WIN64服务启动

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

设置VS2017编译UE4 linux

4、关闭已经打开的UE4Editor,重新编译一次WIN64版本的,为了添加linux支持库;

重新编译WIN64

这一步很重要,观察编译完成后在UnrealEngine-release\Engine\Binaries\Win64目录下是否有UE4Editor-LinuxNoEditorTargetPlatform.dll这个文件,否则后面打包会报LinuxNoEditor错误

五、ShooterGame Standalone Dedicated Server For Linux

1、使用UE4Editor打开ShooterGame,在项目设置中添加linux支持;

项目设置forlinux

2、进行linux版本的打包,目录还是选择ShooterGame\PackageTest;

打包linux

若这里Linux还有黄色的感叹号,可以尝试重启一下UE4Editor

3、打包完成后会生成ShooterGame\PackageTest\LinuxNoEditor文件夹,里面包含了Linux客户端以及资源(服务器需要的);

4、使用VS打开ShooterGame.sln工程,编译Linux版本的Server

ServerLinux

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

Linux服务启动

7、启动客户端,呼出控制台(~键,数字键1左边),输入open [Linux服务器公网IP]连入服务器;

Linux服务器已经成功搭建

(全文结束)


转载文章请注明出处:漫漫路 - lanindex.com

Leave a Comment

Your email address will not be published.