Table of Contents

Class ISteamGameServer

Namespace
MarymoorStudios.Core.Steamworks
Assembly
MarymoorStudios.Core.Steamworks.dll
public sealed class ISteamGameServer : SteamNativeObject
Inheritance
ISteamGameServer
Inherited Members

Fields

INTERFACE_VERSION

public const string INTERFACE_VERSION = "SteamGameServer015"

Field Value

string

Methods

AssociateWithClan(CSteamID)

public Promise<AssociateWithClanResult> AssociateWithClan(CSteamID steamIDClan)

Parameters

steamIDClan CSteamID

Returns

Promise<AssociateWithClanResult>

BLoggedOn()

public bool BLoggedOn()

Returns

bool

BSecure()

public bool BSecure()

Returns

bool

BUpdateUserData(CSteamID, string, uint)

public bool BUpdateUserData(CSteamID steamIDUser, string playerName, uint score)

Parameters

steamIDUser CSteamID
playerName string
score uint

Returns

bool

BeginAuthSession(ReadOnlySpan<byte>, CSteamID)

public EBeginAuthSessionResult BeginAuthSession(ReadOnlySpan<byte> authTicket, CSteamID steamID)

Parameters

authTicket ReadOnlySpan<byte>
steamID CSteamID

Returns

EBeginAuthSessionResult

CancelAuthTicket(HAuthTicket)

public void CancelAuthTicket(HAuthTicket authTicket)

Parameters

authTicket HAuthTicket

ClearAllKeyValues()

public void ClearAllKeyValues()

ComputeNewPlayerCompatibility(CSteamID)

public Promise<ComputeNewPlayerCompatibilityResult> ComputeNewPlayerCompatibility(CSteamID steamIDNewPlayer)

Parameters

steamIDNewPlayer CSteamID

Returns

Promise<ComputeNewPlayerCompatibilityResult>

CreateUnauthenticatedUserConnection()

public CSteamID CreateUnauthenticatedUserConnection()

Returns

CSteamID

EndAuthSession(CSteamID)

public void EndAuthSession(CSteamID steamID)

Parameters

steamID CSteamID

GetAuthSessionTicket(Span<byte>, out uint, in SteamNetworkingIdentity)

public HAuthTicket GetAuthSessionTicket(Span<byte> ticket, out uint ticketCount, in SteamNetworkingIdentity snid)

Parameters

ticket Span<byte>
ticketCount uint
snid SteamNetworkingIdentity

Returns

HAuthTicket

GetGameplayStats()

public void GetGameplayStats()

GetNextOutgoingPacket(Span<byte>, out uint, out ushort)

public int GetNextOutgoingPacket(Span<byte> packet, out uint netAdr, out ushort port)

Parameters

packet Span<byte>
netAdr uint
port ushort

Returns

int

GetPublicIP()

public SteamIPAddress GetPublicIP()

Returns

SteamIPAddress

GetServerReputation()

public Promise<GSReputation> GetServerReputation()

Returns

Promise<GSReputation>

GetSteamID()

public CSteamID GetSteamID()

Returns

CSteamID

HandleIncomingPacket(ReadOnlySpan<byte>, uint, ushort)

public bool HandleIncomingPacket(ReadOnlySpan<byte> data, uint srcIP, ushort srcPort)

Parameters

data ReadOnlySpan<byte>
srcIP uint
srcPort ushort

Returns

bool

LogOff()

public void LogOff()

LogOn(string)

public void LogOn(string pszToken)

Parameters

pszToken string

LogOnAnonymous()

public void LogOnAnonymous()

OnGSClientAchievementStatus(CallbackAction<GSClientAchievementStatus>)

public IDisposable OnGSClientAchievementStatus(CallbackAction<GSClientAchievementStatus> func)

Parameters

func CallbackAction<GSClientAchievementStatus>

Returns

IDisposable

OnGSClientApprove(CallbackAction<GSClientApprove>)

public IDisposable OnGSClientApprove(CallbackAction<GSClientApprove> func)

Parameters

func CallbackAction<GSClientApprove>

Returns

IDisposable

OnGSClientDeny(CallbackAction<GSClientDeny>)

public IDisposable OnGSClientDeny(CallbackAction<GSClientDeny> func)

Parameters

func CallbackAction<GSClientDeny>

Returns

IDisposable

OnGSClientGroupStatus(CallbackAction<GSClientGroupStatus>)

public IDisposable OnGSClientGroupStatus(CallbackAction<GSClientGroupStatus> func)

Parameters

func CallbackAction<GSClientGroupStatus>

Returns

IDisposable

OnGSClientKick(CallbackAction<GSClientKick>)

public IDisposable OnGSClientKick(CallbackAction<GSClientKick> func)

Parameters

func CallbackAction<GSClientKick>

Returns

IDisposable

OnGSGameplayStats(CallbackAction<GSGameplayStats>)

public IDisposable OnGSGameplayStats(CallbackAction<GSGameplayStats> func)

Parameters

func CallbackAction<GSGameplayStats>

Returns

IDisposable

OnSteamServerConnectFailure(CallbackAction<SteamServerConnectFailure>)

public IDisposable OnSteamServerConnectFailure(CallbackAction<SteamServerConnectFailure> func)

Parameters

func CallbackAction<SteamServerConnectFailure>

Returns

IDisposable

OnSteamServersConnected(CallbackAction<SteamServersConnected>)

public IDisposable OnSteamServersConnected(CallbackAction<SteamServersConnected> func)

Parameters

func CallbackAction<SteamServersConnected>

Returns

IDisposable

OnSteamServersDisconnected(CallbackAction<SteamServersDisconnected>)

public IDisposable OnSteamServersDisconnected(CallbackAction<SteamServersDisconnected> func)

Parameters

func CallbackAction<SteamServersDisconnected>

Returns

IDisposable

RequestUserGroupStatus(CSteamID, CSteamID)

public bool RequestUserGroupStatus(CSteamID steamIDUser, CSteamID steamIDGroup)

Parameters

steamIDUser CSteamID
steamIDGroup CSteamID

Returns

bool

SendUserConnectAndAuthenticate(uint, ReadOnlySpan<byte>, out CSteamID)

[Obsolete]
public bool SendUserConnectAndAuthenticate(uint ipClient, ReadOnlySpan<byte> authBlob, out CSteamID steamIDUser)

Parameters

ipClient uint
authBlob ReadOnlySpan<byte>
steamIDUser CSteamID

Returns

bool

SendUserDisconnect(CSteamID)

[Obsolete]
public void SendUserDisconnect(CSteamID steamIDUser)

Parameters

steamIDUser CSteamID

SetAdvertiseServerActive(bool)

public void SetAdvertiseServerActive(bool active)

Parameters

active bool

SetBotPlayerCount(int)

public void SetBotPlayerCount(int botplayers)

Parameters

botplayers int

SetDedicatedServer(bool)

public void SetDedicatedServer(bool dedicated)

Parameters

dedicated bool

SetGameData(string)

public void SetGameData(string gameData)

Parameters

gameData string

SetGameDescription(string)

public void SetGameDescription(string pszGameDescription)

Parameters

pszGameDescription string

SetGameTags(string)

public void SetGameTags(string gameTags)

Parameters

gameTags string

SetKeyValue(string, string)

public void SetKeyValue(string key, string value)

Parameters

key string
value string

SetMapName(string)

public void SetMapName(string pszMapName)

Parameters

pszMapName string

SetMaxPlayerCount(int)

public void SetMaxPlayerCount(int playersMax)

Parameters

playersMax int

SetModDir(string)

public void SetModDir(string pszModDir)

Parameters

pszModDir string

SetPasswordProtected(bool)

public void SetPasswordProtected(bool passwordProtected)

Parameters

passwordProtected bool

SetProduct(string)

public void SetProduct(string pszProduct)

Parameters

pszProduct string

SetRegion(string)

public void SetRegion(string pszRegion)

Parameters

pszRegion string

SetServerName(string)

public void SetServerName(string pszServerName)

Parameters

pszServerName string

SetSpectatorPort(ushort)

public void SetSpectatorPort(ushort spectatorPort)

Parameters

spectatorPort ushort

SetSpectatorServerName(string)

public void SetSpectatorServerName(string pszSpectatorServerName)

Parameters

pszSpectatorServerName string

UntilLogOn(string?, CancellationToken)

Log in to a generic anonymous account.

public Promise UntilLogOn(string? token = null, CancellationToken cancel = default)

Parameters

token string

A Game Server account token. If default then log on anonymously.

cancel CancellationToken

The cancellation token.

Returns

Promise

Resolves ONLY when successfully connected.

Remarks

This method resolves ONLY when the game server becomes successfully connected. To determine real-time status BLoggedOn() or listen for SteamServersConnected, SteamServerConnectFailure , SteamServersDisconnected callbacks. Typically, log in completes in a few seconds.

Game Server account token MUST be preallocated by following the instructions at https://steamcommunity.com/dev/managegameservers.

UserHasLicenseForApp(CSteamID, AppId)

public EUserHasLicenseForAppResult UserHasLicenseForApp(CSteamID steamID, AppId appId)

Parameters

steamID CSteamID
appId AppId

Returns

EUserHasLicenseForAppResult

WasRestartRequested()

public bool WasRestartRequested()

Returns

bool