1.安装VS2015update2任意版本(VS Community可免费官网获取),准备较大空间的磁盘位置作为工作空间(很重要,至少60G!)
2.从github获取虚幻引擎存储库链接,克隆到工作空间。需要你的Github账号与虚幻账号绑定,具体操作参考虚幻官网相关内容。
3.先后执行Setup.bat和GenerateProjectFiles.bat两个批处理文件,Setup.bat会下载很多依赖项,根据网速不同执行时间也不同,需等待执行完后窗口自动退出。完毕后得到UE4.sln,再用vs打开。
4.编译虚幻引擎,使用默认的Develop Editor配置,一般耗时半小时以上。
5.运行生成的UE4Editor.exe,创建一个项目。第一次运行时会很慢,耐心等待。
6.上一步中是使用我们自己编译的Unreal4Editor创建项目,如果电脑中安装了Unreal4Launcher,并安装了其他版本引擎,那么该引擎创建的项目是不能直接进行后续步骤的,需要右键项目文件,切换引擎版本到源码编译的引擎。
7.右键Unreal工程文件,选择“Generate Visual Studio project files”创建VS项目文件,如果你按照我之前步骤创建的蓝图项目,那么将弹出以下错误,由于不存在任何代码,需要手动添加一些代码,这里我们打开项目添加一个HUD类,添加后编辑器将自行编译并自动生成vs项目文件。
8.打开刚才创建的游戏项目路径,Source文件夹下的CarDemo.Target.cs文件拷贝一份并另存为CarDemoServer.Target.cs,修改类名与目标版本如下,完成后设置解决方案配置为"Development Server",编译游戏项目。
// Fill out your copyright notice in the Description page of Project Settings. using UnrealBuildTool; using System.Collections.Generic; public class CarDemoServerTarget : TargetRules { public CarDemoServerTarget(TargetInfo Target) { Type = TargetType.Server; } // // TargetRules interface. // public override void SetupBinaries( TargetInfo Target, ref List<UEBuildBinaryConfiguration> OutBuildBinaryConfigurations, ref List<string> OutExtraModuleNames ) { OutExtraModuleNames.AddRange( new string[] { "CarDemo" }); } }
9.编译完成后,CarDemoServer.exe就是我们需要的独立服务器程序了,先不要运行它,否则你会看到如下窗口...
10.前一步中,可能有人跟我一样,编译之后并没有发现什么CarDemoServer.exe,而是生成了CarDemo.exe,这是为什么呢,打开CarDemo项目属性,发现没有任何Server相关的配置,这可能是Unreal编辑器默认生成的sln不包括Server相关的配置,这时我们右键CarDemo项目,点击“Generate Visual Studio project files”,完成后项目会被更新,这时CarDemo项目属性就有了Server相关的配置,再次选择Development Server进行编译。
11.回到UnrealEditor,设置项目中地图与模式要改为下图所示。之后就打包windows x64平台的游戏。
12.将之前生成的名为CarDemoServer可执行程序和调试文件一共四个文件复制到打包后的对应文件夹下,在控制台指令中以参数-log执行CarGameServer.exe ,可能会有警告刷屏,不过我们已经知道服务器在运行了。
13.启动游戏,首先进入的是单机游戏的画面,按~键在命令行输入 "open 127.0.0.1"之后,就可以连接到服务器的游戏场景了,例如我开启两个客户端同时进入服务器后,得到如下画面,静止的小车是服务器端对应的实体。
14.到此,我们已经在几乎没写代码的前提下生成了官方实例中的一个游戏与对应独立服务器,这种独立服务器可运行与游戏相同的逻辑而不进行图像渲染,非常适合用多人竞技类游戏的服务器。
希望本文能对还不知道如何制作虚幻独立服务器而又有这方面需求的童鞋有所帮助。