(1)下载UnrealEngine源码,当前使用的版本4.26.2
文件目录如下:
右键ShooterGame.uproject
指定到源码引擎
(2)配置VS工程,当前使用Vs2019
工程结构如下:
其中ShooterServer.Target.cs自己创建,内容如下
// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
[SupportedPlatforms(UnrealPlatformClass.Server)]
public class ShooterServerTarget : TargetRules
{
public ShooterServerTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Server;
bUsesSteam = true;
ExtraModuleNames.Add("ShooterGame");
}
}
这里主要编译者三个配置
直接编译的生成目录Binaries
这里的.exe不可以直接运行,缺少资源
(3) 代码启动 DebugGame Editor 打包生成可运行的.exe
打包生成带资源的指定可执行文件件,当前生成目录结构是:
客户端可以直接运行
Server需要配置.bat运行,bat内容如下:
ShooterServer-Win64-DebugGame "/Game/Maps/Sanctuary" -log
pause
这里的这个文件是从Binaries目录拷贝过来的
这里双击.bat就启动了服务器,这里启动的服务器就是Ue文档中提到的DedicatedServer
然后运行客户端,双击Join
再双击SERVER
就能看到服务器列表下你的服务器,双击就能进入游戏
服务器开启时间长了,客户端会提示match超时进不去。这里还有个一开始遇到的问题
服务器开启的是这个地图,你用
编辑器模式查看下
GameMode有没有指定,这里指定