1
0
KF2-Dev-Scripts/Engine/Classes/OnlineGameSettings.uc
2021-03-02 14:56:51 +03:00

186 lines
5.4 KiB
Ucode

/**
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
/**
* Holds the base configuration settings for an online game
*/
class OnlineGameSettings extends Settings
dependson(OnlineSubsystem)
native;
/** The number of publicly available connections advertised */
var databinding int NumPublicConnections;
/** The number of connections that are private (invite/password) only */
var databinding int NumPrivateConnections;
/** The number of publicly available connections that are available (read only) */
var databinding int NumOpenPublicConnections;
/** The number of private connections that are available (read only) */
var databinding int NumOpenPrivateConnections;
/** The server's nonce for this session */
var const qword ServerNonce;
//@HSL_BEGIN - JRO - 3/21/2016 - PS4 Sessions
/** UE3 Join string for PS4 invites */
var databinding string JoinString;
//@HSL_END
//@HSL_BEGIN_XBOX
/** ID unique to our game */
var string ServiceConfigId;
/** Template that describes how the session is made and behaves */
var string SessionTemplateName;
/** */
var string MatchHopperName;
/** The session guid */
var string SessionGuid;
/** The handle of the session used strictly for invite purposes */
var string SessionHandle;
/** The list of members to add a reservation for */
var array<UniqueNetId> ReservedMembers;
//@HSL_END_XBOX
/** Whether this match is publicly advertised on the online service */
var databinding bool bShouldAdvertise;
/** This game will be lan only and not be visible to external players */
var databinding bool bIsLanMatch;
/** Whether the match should gather stats or not */
var databinding bool bUsesStats;
/** Whether joining in progress is allowed or not */
var databinding bool bAllowJoinInProgress;
/** Whether the match allows invitations for this session or not */
var databinding bool bAllowInvites;
/** Whether to display user presence information or not */
var databinding bool bUsesPresence;
/** Whether joining via player presence is allowed or not */
var databinding bool bAllowJoinViaPresence;
/** Whether joining via player presence is allowed for friends only or not */
var databinding bool bAllowJoinViaPresenceFriendsOnly;
/** Whether the session should use arbitration or not */
var databinding bool bUsesArbitration;
/** Whether the server employs anti-cheat (punkbuster, vac, etc) */
var databinding bool bAntiCheatProtected;
/** Whether the game is an invitation or searched for game */
var const bool bWasFromInvite;
/** The owner of the game */
var databinding string OwningPlayerName;
/** The unique net id of the player that owns this game */
var UniqueNetId OwningPlayerId;
/** The ping of the server in milliseconds (-1 means the server was unreachable) */
var databinding int PingInMs;
/** Whether this server is a dedicated server or not */
var databinding bool bIsDedicated;
/** Represents how good a match this is in a range from 0 to 1 */
var databinding float MatchQuality;
/** The current state of the online game */
var const databinding EOnlineGameState GameState;
/** Whether there is a skill update in progress or not (don't do multiple at once) */
var const bool bHasSkillUpdateInProgress;
/** Used to keep different builds from seeing each other during searches */
var const int BuildUniqueId;
/** Whether to shrink the session slots when a player leaves the match or not */
var const bool bShouldShrinkArbitratedSessions;
//@HSL_BEGIN - BWJ - 4-11-16 - Playfab support
var string LobbyId;
//@HSL_END
//@SABER_EGS_BEGIN Crossplay support
var databinding int BotPlayers;
// Steam Server UID
var databinding string SteamServerUID;
//@SABER_EGS_END
//@SABER_BEGIN "Exiling" servers which kicks/bans
var databinding bool bServerExiled;
//@SABER_END
`if (`__TW_ONLINESUBSYSTEM_)
//used to keep track of the gfx objects in the serverbrowser's list
var int GfxID;
var int ElementIdx;
var databinding bool bRequiresPassword;
//@HSL_BEGIN - BWJ - 9-14-16 - TRUE if this is a cloud server that needs to be deallocated at some point. Used for multiplay support
var databinding bool bCloudServer;
// Number of seconds this server has been de-allocated for
var databinding int SecondsDeallocated;
// The bucket this server belongs to as far as seconds the server has been deallocated
var databinding int SecondsDeallocatedBucket;
// The bucket size for grouping seconds deallocated
var const int SecondsDeallocatedBucketSize;
// Region for the server
var databinding string Region;
//@HSL_END
/** Represents a player in the game */
struct native PlayerResult
{
var string PlayerName;
var int Score;
var float TimePlayed;
var string PlayFabId;
var bool NameIsSet;
structdefaultproperties
{
PlayerName=""
Score=0
TimePlayed=0
PlayFabId=""
NameIsSet=false
}
};
/** List of players in this game */
var array<PlayerResult> PlayersInGame;
`endif //__TW_ONLINESUBSYSTEM_
defaultproperties
{
`if(`__TW_ONLINESUBSYSTEM_)
GfxID=INDEX_NONE
ElementIdx=INDEX_NONE
`endif
bAllowJoinInProgress=true
bUsesStats=true
bShouldAdvertise=true
bAllowInvites=true
bUsesPresence=true
bAllowJoinViaPresence=true
bShouldShrinkArbitratedSessions=true
SecondsDeallocatedBucketSize=60
//@SABER_EGS_BEGIN Crossplay support
BotPlayers=0
//@SABER_EGS_END
//@SABER_BEGIN "Exiling" servers which kicks/bans
bServerExiled=false
//@SABER_END
}