From 241b78fa4a2d051f8a5cdb325bfb1b2a0280a872 Mon Sep 17 00:00:00 2001 From: Norman Lansing Date: Mon, 23 Mar 2026 08:34:51 -0400 Subject: [PATCH] DedicatedServers Module --- FPSTemplate.uproject | 5 +++ .../DedicatedServers.build.cs | 34 +++++++++++++++++++ Source/DedicatedServers/DedicatedServers.cpp | 6 ++++ Source/DedicatedServers/DedicatedServers.h | 5 +++ .../Private/DedicatedServersModule.cpp | 0 Source/FPSTemplate.Target.cs | 1 + Source/FPSTemplate/FPSTemplate.Build.cs | 3 +- Source/FPSTemplateClient.Target.cs | 1 + Source/FPSTemplateEditor.Target.cs | 1 + Source/FPSTemplateServer.Target.cs | 1 + 10 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 Source/DedicatedServers/DedicatedServers.build.cs create mode 100644 Source/DedicatedServers/DedicatedServers.cpp create mode 100644 Source/DedicatedServers/DedicatedServers.h create mode 100644 Source/DedicatedServers/Private/DedicatedServersModule.cpp diff --git a/FPSTemplate.uproject b/FPSTemplate.uproject index e9bf9870..5607a620 100644 --- a/FPSTemplate.uproject +++ b/FPSTemplate.uproject @@ -12,6 +12,11 @@ "Engine", "UMG" ] + }, + { + "Name": "DedicatedServers", + "Type": "Runtime", + "LoadingPhase": "Default" } ], "Plugins": [ diff --git a/Source/DedicatedServers/DedicatedServers.build.cs b/Source/DedicatedServers/DedicatedServers.build.cs new file mode 100644 index 00000000..2b1d7117 --- /dev/null +++ b/Source/DedicatedServers/DedicatedServers.build.cs @@ -0,0 +1,34 @@ +using UnrealBuildTool; + +public class DedicatedServers : ModuleRules +{ + public DedicatedServers(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange(new string[] + { + "Core", + "CoreUObject", + "Engine", + }); + + PrivateDependencyModuleNames.AddRange(new string[] + { + "Slate", + "SlateCore", + }); + + // Adds in the plugin for GameLiftServerSDK if it is the server build. + + if (Target.Type == TargetType.Server) + { + PublicDependencyModuleNames.Add("GameLiftServerSDK"); + } + else + { + PublicDefinitions.Add("WITH_GAMELIFT=0"); + } + bEnableExceptions = true; + } +} diff --git a/Source/DedicatedServers/DedicatedServers.cpp b/Source/DedicatedServers/DedicatedServers.cpp new file mode 100644 index 00000000..ae762d04 --- /dev/null +++ b/Source/DedicatedServers/DedicatedServers.cpp @@ -0,0 +1,6 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "DedicatedServers.h" +#include "Modules/ModuleManager.h" + +IMPLEMENT_MODULE( FDefaultModuleImpl, DedicatedServers ); diff --git a/Source/DedicatedServers/DedicatedServers.h b/Source/DedicatedServers/DedicatedServers.h new file mode 100644 index 00000000..ddbf2e22 --- /dev/null +++ b/Source/DedicatedServers/DedicatedServers.h @@ -0,0 +1,5 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" diff --git a/Source/DedicatedServers/Private/DedicatedServersModule.cpp b/Source/DedicatedServers/Private/DedicatedServersModule.cpp new file mode 100644 index 00000000..e69de29b diff --git a/Source/FPSTemplate.Target.cs b/Source/FPSTemplate.Target.cs index a21eb626..55094eee 100644 --- a/Source/FPSTemplate.Target.cs +++ b/Source/FPSTemplate.Target.cs @@ -11,5 +11,6 @@ public class FPSTemplateTarget : TargetRules DefaultBuildSettings = BuildSettingsVersion.V6; IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_7; ExtraModuleNames.Add("FPSTemplate"); + ExtraModuleNames.Add("DedicatedServers"); } } diff --git a/Source/FPSTemplate/FPSTemplate.Build.cs b/Source/FPSTemplate/FPSTemplate.Build.cs index 8cd9abfe..7c1d2922 100644 --- a/Source/FPSTemplate/FPSTemplate.Build.cs +++ b/Source/FPSTemplate/FPSTemplate.Build.cs @@ -18,7 +18,7 @@ public class FPSTemplate : ModuleRules "InputCore", "EnhancedInput", "PhysicsCore", - "OpenSSL" + "OpenSSL", }); PrivateDependencyModuleNames.AddRange(new string[] @@ -34,6 +34,7 @@ public class FPSTemplate : ModuleRules if (Target.Type == TargetType.Server) { PublicDependencyModuleNames.Add("GameLiftServerSDK"); + PublicDependencyModuleNames.Add("DedicatedServers"); } else { diff --git a/Source/FPSTemplateClient.Target.cs b/Source/FPSTemplateClient.Target.cs index a19ed323..f3603353 100644 --- a/Source/FPSTemplateClient.Target.cs +++ b/Source/FPSTemplateClient.Target.cs @@ -11,5 +11,6 @@ public class FPSTemplateClientTarget : TargetRules DefaultBuildSettings = BuildSettingsVersion.V6; IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_7; ExtraModuleNames.Add("FPSTemplate"); + ExtraModuleNames.Add("DedicatedServers"); } } diff --git a/Source/FPSTemplateEditor.Target.cs b/Source/FPSTemplateEditor.Target.cs index 80598a85..c69fbd61 100644 --- a/Source/FPSTemplateEditor.Target.cs +++ b/Source/FPSTemplateEditor.Target.cs @@ -11,5 +11,6 @@ public class FPSTemplateEditorTarget : TargetRules DefaultBuildSettings = BuildSettingsVersion.V6; IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_7; ExtraModuleNames.Add("FPSTemplate"); + ExtraModuleNames.Add("DedicatedServers"); } } diff --git a/Source/FPSTemplateServer.Target.cs b/Source/FPSTemplateServer.Target.cs index 3ff4fc76..a4bac320 100644 --- a/Source/FPSTemplateServer.Target.cs +++ b/Source/FPSTemplateServer.Target.cs @@ -11,5 +11,6 @@ public class FPSTemplateServerTarget : TargetRules DefaultBuildSettings = BuildSettingsVersion.V6; IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_7; ExtraModuleNames.Add("FPSTemplate"); + ExtraModuleNames.Add("DedicatedServers"); } }