2020-12-13 15:01:13 +00:00
|
|
|
/**
|
|
|
|
* 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
|
|
|
|
|
2021-03-02 11:56:51 +00:00
|
|
|
//@SABER_BEGIN "Exiling" servers which kicks/bans
|
|
|
|
var databinding bool bServerExiled;
|
|
|
|
//@SABER_END
|
|
|
|
|
2020-12-13 15:01:13 +00:00
|
|
|
`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
|
|
|
|
|
2022-11-27 21:49:25 +00:00
|
|
|
var databinding bool bNoSeasonalSkins;
|
|
|
|
|
2020-12-13 15:01:13 +00:00
|
|
|
/** 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
|
2021-03-02 11:56:51 +00:00
|
|
|
//@SABER_BEGIN "Exiling" servers which kicks/bans
|
|
|
|
bServerExiled=false
|
|
|
|
//@SABER_END
|
2022-11-27 21:49:25 +00:00
|
|
|
bNoSeasonalSkins=false
|
|
|
|
}
|