Files
Ryan Hummer 4af2fd066d Updating Dev-Release-5.5 from Main at CL #36144969
#okforversepublic

[CL 36146571 by Ryan Hummer in Dev-5.5 branch]
2024-09-10 10:26:02 -04:00

45 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "UObject/Object.h"
#include "Containers/Array.h"
#include "MultiServerSettings.generated.h"
class FString;
/** Parameters for a single server process in a multi-server setup. */
USTRUCT()
struct FMultiServerDefinition
{
GENERATED_BODY()
/** User-specified identifier that must be unique for each server in a MultiServer cluster. */
UPROPERTY(Config)
FString LocalId;
/** UDP port on which the MultiServer beacon will listen for new connections. */
UPROPERTY(Config)
uint16 ListenPort = 0;
};
/**
* Settings that control how a multi-server setup is configured and launched.
* For example, to define 4 servers in a Game ini file it might look like this:
* [/Script/MultiServerConfiguration.MultiServerSettings]
* !ServerDefinitions=ClearArray
* +ServerDefinitions=(LocalId="0",ListenPort=17000)
* +ServerDefinitions=(LocalId="1",ListenPort=17001)
* +ServerDefinitions=(LocalId="2",ListenPort=17002)
* +ServerDefinitions=(LocalId="3",ListenPort=17003)
*/
UCLASS(Config=Game)
class MULTISERVERCONFIGURATION_API UMultiServerSettings : public UObject
{
GENERATED_BODY()
public:
UPROPERTY(Config)
TArray<FMultiServerDefinition> ServerDefinitions;
};