Facepunch.Steamworks Wiki



KeyValuePair<string, string> Data { get; }
Get all data for this lobby
SteamId Id { get; }
int MaxMembers { get; set; }
Max members able to join this lobby. Cannot be over 250. Can only be set by the owner
int MemberCount { get; }
returns the number of users in the specified lobby
IEnumerable<Friend> Members { get; }
Returns current members. Need to be in the lobby to see the users.
Friend Owner { get; set; }
You must be the lobby owner to set the owner


bool DeleteData( string key )
Removes a metadata key from the lobby
string GetData( string key )
Get data associated with this lobby
bool GetGameServer( uint ip, ushort port, SteamId serverId )
Gets the details of the lobby's game server, if set. Returns true if the lobby is valid and has a server set, otherwise returns false.
string GetMemberData( Friend member, string key )
Gets per-user metadata for someone in this lobby
bool InviteFriend( SteamId friendId )
Invite another user to the lobby will return true if the invite is successfully sent, whether or not the target responds returns false if the local user is not connected to the Steam servers
bool IsOwnedBy( SteamId k )
Check if the specified SteamId owns the lobby
async Task<RoomEnter> Join()
Try to join this room. Will return RoomEnter.Success on success, and anything else is a failure
void Leave()
Leave a lobby; this will take effect immediately on the client side other users in the lobby will be notified by a LobbyChatUpdate_t callback. After lobby.Leave(), lobby.Id.IsValid is false.
bool Refresh()
Refreshes metadata for a lobby you're not necessarily in right now you never do this for lobbies you're a member of, only if your this will send down all the metadata associated with a lobby this is an asynchronous call returns false if the local user is not connected to the Steam servers results will be returned by a LobbyDataUpdate_t callback if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false
bool SendChatString( string message )
Sends a string to the chat room
bool SetData( string key, string value )
Get data associated with this lobby
only friends can join if set to TRUE
void SetGameServer( string ip, ushort port )
[IP/Port variant] Allows the owner to set the game server associated with the lobby. Triggers the Steammatchmaking.OnLobbyGameCreated event.
bool SetInvisible()
Lobby is invisible if set to TRUE
bool SetJoinable( bool b )
void SetMemberData( string key, string value )
Sets per-user metadata (for the local user implicitly)
bool SetPrivate()
bool SetPublic()