UE5之配置Dedicated Server
1.下载UE源码
下载地址:https://github.com/EpicGames/UnrealEngine,选择需要的版本。
注意需要先将Epic账户与github账号关联,然后注册Epic developers。流程:GitHub上的虚幻引擎 - Unreal Engine
2.编译(需要约200G空间)
然后切换Development Server版本再次生成,大概20分钟左右。OK,现在源码编译完成,然后切换回Development Editor,Ctrl+F5启动引擎,创建一个C++新项目,选择第三人称模板(注意这里需要创建C++项目才能显示源代码目录,如果不是的话需要新建一个C++类)。
3.项目配置

这两个C#文件用于帮助Unreal Build Tool指定构建和链接模块的规则,默认已经包含编辑器版本,因此构建之后可以使用虚幻编辑器。对于DS,还需要一个服务器版本,因此创建Test1Server.Target.cs,注意路径要放到Source目录下:

然后复制Test1Editor.Target.cs 中的内容,将其中的Editor修改为Server,如下:
public class Test1ServerTarget : TargetRules { public Test1ServerTarget(TargetInfo Target) : base(Target) { Type = TargetType.Server; DefaultBuildSettings = BuildSettingsVersion.V5; ExtraModuleNames.AddRange( new string[] { "Test1" } ); } }
修改完之后将创建的项目设为启动项目,环境切换为Development Editor Win64,执行生成。生成完之后选择Development Server Win64再次生成。然后打开项目,现在在打包的时候可以看到有Client和Server两个Build Target了:

4.打包测试(局域网联机)
现在创建一个 Basic 地图并保存,然后打开 编辑/项目设置/地图和模式,服务器的默认地图是一个空地图,将其修改为刚刚创建的FirstMap:

然后打包,参考上面打包Client和Server两个版本。如果打完包发现有材质、地图丢失可以修改打包设置重新打包,比如这里服务器地图丢失:

在 项目设置/打包/高级/地图列表 中添加服务器地图:

都打包完成之后来到服务器目录WindowsServer,创建一个ServerStart.bat 文件,输入:
Test1Server.exe -log
Server默认是以后台程序的方式运行,这里我们以带Log信息的方式启动就会有一个UI界面了。在命令行中也可以指定启动的端口、地图等,比如UE默认的端口是7777,在UE5/Config/BaseEngine.ini中可以看到:

假设需要修改这个默认端口,只需要加上 -Port=xxxx 命令即可。并且,可以同时启动多个DS服务器,再次运行脚本程序,可以看到这次启动了7778端口的服务器:
![]()
![]()
OK,现在把多余的服务器关闭,打开客户端,按下 ~ 键,输入:
open 127.0.0.1
现在使用的是本地服务器的默认端口,因此可以直接使用该命令加入服务器,此时可以看到客户端已经切换到之前创建的服务器地图了,服务端也有log输出:

再打开一个客户端,同样加入服务端,此时可以看到两个客户端也已经联机成功了。现在我们还没有加入任何逻辑,按Alt + F4关闭即可。

刚刚测试的是本地的两个客户端,接下我们测试一下局域网下的联机。打开cmd,输入ipconfig:

然后再看一下另一台电脑的ip,应该是30.58.128.XX,这样就说明两台电脑再同一局域网下。然后运行.exe打开客户端,跟上面一样输入 open XX ,注意要用服务器所在的主机的ip,不出意外的话应该跟上面的效果会是一样的,服务器上也会有log输出。甚至还可以打开多个服务器端口,再不同的端口之间反复横跳:)
OK,至此,说明服务器已经配置成功了。
浙公网安备 33010602011771号