Server target for UE 4.14

Hello.

I have compiled UE from 4.14 branch and now I am trying to build my project.

But it falls with error:


    Running e:/UnrealEngine/Engine/Binaries/DotNET/UnrealBuildTool.exe  -projectfiles -project="E:/MyGame/MyGame.uproject" -game -engine -progress
    Discovering modules, targets and source code for project...
    Messages while compiling E:\MyGame\Intermediate\Build\BuildRules\MyGameModuleRules.dll:
    e:\MyGame\Source\MyGameServer.Target.cs(32,48) : error CS0115: "MyGameServerTarget.GUBP_GetPlatforms_MonolithicOnly(UnrealBuildTool.UnrealTargetPlatform)": ?? ?????? ??⮤, ?ਣ????? ??? ??८?।??????
    e:\MyGame\Source\MyGameServer.Target.cs(41,53) : error CS0115: "MyGameServerTarget.GUBP_GetConfigs_MonolithicOnly(UnrealBuildTool.UnrealTargetPlatform, UnrealBuildTool.UnrealTargetPlatform)": ?? ?????? ??⮤, ?ਣ????? ??? ??८?।??????
    UnrealBuildTool Exception: ERROR: UnrealBuildTool encountered an error while compiling source files

MyGameServer.Target.cs has code from A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums sample:


  // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
     
    using UnrealBuildTool;
    using System.Collections.Generic;
     
    public class MyGameServerTarget : TargetRules
    {
        public MyGameServerTarget(TargetInfo Target)
        {
            Type = TargetType.Server;
        }
     
        //
        // TargetRules interface.
        //
        public override void SetupBinaries(
            TargetInfo Target,
            ref List<UEBuildBinaryConfiguration> OutBuildBinaryConfigurations,
            ref List<string> OutExtraModuleNames
            )
        {
            base.SetupBinaries(Target, ref OutBuildBinaryConfigurations, ref OutExtraModuleNames);
            OutExtraModuleNames.Add("MyGame");
        }
     
        public override bool GetSupportedPlatforms(ref List<UnrealTargetPlatform> OutPlatforms)
        {
            // It is valid for only server platforms
            return UnrealBuildTool.UnrealBuildTool.GetAllServerPlatforms(ref OutPlatforms, false);
        }
     
        public override List<UnrealTargetPlatform> GUBP_GetPlatforms_MonolithicOnly(UnrealTargetPlatform HostPlatform)
        {
            if (HostPlatform == UnrealTargetPlatform.Mac)
            {
                return new List<UnrealTargetPlatform>();
            }
            return new List<UnrealTargetPlatform> { HostPlatform, UnrealTargetPlatform.Win32, UnrealTargetPlatform.Linux };
        }
     
        public override List<UnrealTargetConfiguration> GUBP_GetConfigs_MonolithicOnly(UnrealTargetPlatform HostPlatform, UnrealTargetPlatform Platform)
        {
            return new List<UnrealTargetConfiguration> { UnrealTargetConfiguration.Development };
        }
    }


I found that in commit for RulesCompiler.cs (2016/09/30, 63ab3d83c240d17ea70ec201f2626c6405dda553) there is interesting comment

"Change 3132815 on 2016/09/20 by Ben.Marsh

AutomationTool: Delete GUBP. Everything now uses BuildGraph!"

How to make server target with BuildGraph?

Thank you!

I would like to know the solution to this issue as well.

For now I have commented out those two functions so that it can compile and our team can continue to develop.

Just remove it and it’s all :wink:

Noticed there is no update on this thread but the monolith lines need to be commended out they are not used any longer.




        public override List<UnrealTargetPlatform> GUBP_GetPlatforms_MonolithicOnly(UnrealTargetPlatform HostPlatform)
        {
            if (HostPlatform == UnrealTargetPlatform.Mac)
            {
                return new List<UnrealTargetPlatform>();
            }
            return new List<UnrealTargetPlatform> { HostPlatform, UnrealTargetPlatform.Win32, UnrealTargetPlatform.Linux };
        }
     
        public override List<UnrealTargetConfiguration> GUBP_GetConfigs_MonolithicOnly(UnrealTargetPlatform HostPlatform, UnrealTargetPlatform Platform)
        {
            return new List<UnrealTargetConfiguration> { UnrealTargetConfiguration.Development };
        }



Comment that out and build. This is due to GUBP not being used its in the patch notes somewhere