UE4 编译独立服务器

首先需要下一个源码版的UE4,并且编译好Development Editor 版本,然后新建一个ThirdPerson C++项目测试

进去后新建一个entry关卡,并且把ThirdPersonExampleMap移动到内容的Maps下,如图


然后在entry关卡的关卡蓝图里写上


这里open的是自己的IP地址

然后把ThirdPersonExampleMap里的默认角色删除


最后在项目设置里面设置


然后全部保存完后关闭编辑器

接下来找到项目路径Config下的DefaultEngine.ini文件,并添加下面模块

[OnlineSubsystem]
DefaultPlatformService=Null

找到项目路径Source下的XXXEditor.Target.cs文件,复制一个在当前目录下并且重命名XXXServer.Target.cs并且添加代码

using UnrealBuildTool;
using System.Collections.Generic;

[SupportedPlatforms(UnrealPlatformClass.Server)]
public class UTUTServerTarget : TargetRules
{

    public UTUTServerTarget(TargetInfo Target)

    {

        Type = TargetType.Server;

        bUsesSteam = true;

    }

    //
    // TargetRules interface.
    //
    public override void SetupBinaries
    (
     TargetInfo Target,
     ref List<UEBuildBinaryConfiguration> OutBuildBinaryConfigurations,
     ref List<string> OutExtraModuleNames
     )
    {
        OutExtraModuleNames.Add("UTUT");
    }


}
上面只要把UTUT改成项目名称就可以了,另外不同引擎版本的写法也不一样,这里是4.15版的,其他的可以参考最后的网站
然后右键蓝色的项目图标,编译下,把刚刚的XXXServer.Target.cs文件添加到VS里

然后打开VS项目在Build.cs下添加"OnlineSubsystemNull"模块

编译下项目和Programs



然后用VS打开项目确保更新


接着关闭编辑器,从项目的编辑器打开,不要从VS的编辑器打开,这点很重要,不知道为什么从VS打开的编辑器就是打包不了项目

下面就是打包项目了


最后VS里再编译项目一个Development Server版本的项目



在项目的Binaries\Win64会多出几个server应用


只要复制这个到打包文件下并且创建一个快捷方式


然后右键快捷方式-属性加上-log(表示服务器可以被看到有日志信息,也可以点上面的Server,在后台运行)


双击点开快捷方式出现如下图就表示成功了


这里默认的端口是7777,并且可以看自己的IP

最后点开客户端应用程序测试下


看,成功了呢!

参考:https://wiki.unrealengine.com/Dedicated_Server_Guide_(Windows_%26_Linux)


已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页