11

UE4 ShooterGame Standalone Dedicated Server(Windows & Linux)

 3 years ago
source link: https://www.lanindex.com/ue4-shootergame-standalone-dedicated-serverwindows-linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

UE4 ShooterGame Standalone Dedicated Server(Windows & Linux)

2017/12/13 · Leave a comment

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK