# RoomsPlugin.h File Reference

Adds networking to AllGamesRoomsContainer. Lets you create, join, search, and destroy matchmaking rooms for players. More...

`#include "RakNetTypes.h"`
`#include "PluginInterface.h"`
`#include "DS_OrderedList.h"`
`#include "Export.h"`
`#include "ConnectionGraph.h"`
`#include "RoomsContainer.h"`
`#include "PacketPriority.h"`

## Classes
struct | RakNet::RoomsPluginFunc
struct | RakNet::CreateRoom_Func
| Create a room. Each user can be in at most one room, so will fail if the user is already in a room. More...
struct | RakNet::EnterRoom_Func
| Joins a room if possible. If not, creates a room. More...
struct | RakNet::JoinByFilter_Func
struct | RakNet::LeaveRoom_Func
| Leaves a room. You can leave at any time, even if the room is locked. More...
struct | RakNet::GetInvitesToParticipant_Func
| Gets all invitations to you to various rooms. More...
struct | RakNet::SendInvite_Func
struct | RakNet::AcceptInvite_Func
struct | RakNet::StartSpectating_Func
struct | RakNet::StopSpectating_Func
struct | RakNet::GrantModerator_Func
| Give moderator to another player. Moderators cannot be spectators. More...
struct | RakNet::ChangeSlotCounts_Func
| Change the allowed slot counts for the room. Setting fewer slot counts than the number of players does not kick out players, though it may prevent changing spectator status. More...
struct | RakNet::SetCustomRoomProperties_Func
struct | RakNet::GetRoomProperties_Func
| Given a named room, return the properties of that room, including member list. More...
struct | RakNet::ChangeRoomName_Func
| Change the name of the room. More...
struct | RakNet::SetHiddenFromSearches_Func
| Set or unset the room hidden from searches. If a room is hidden from searches, it can only be joined through invitations. More...
struct | RakNet::SetDestroyOnModeratorLeave_Func
struct | RakNet::SetReadyStatus_Func
struct | RakNet::GetReadyStatus_Func
| Gets the ready states for every user in the room, excluding spectators. More...
struct | RakNet::SetRoomLockState_Func
struct | RakNet::GetRoomLockState_Func
| Gets the lock state of the room. More...
struct | RakNet::AreAllMembersReady_Func
| If all members have been set to ready using SetReadyStatus_Func, this operation will set allReady to true. More...
struct | RakNet::KickMember_Func
| Kick a member out of the room. This will also automatically ban that member from rejoining as long as the moderator does not change, or the member is unbanned. More...
struct | RakNet::UnbanMember_Func
| Allow a member previously kicked out of the room to rejoin. More...
struct | RakNet::GetBanReason_Func
| For a given room, get the reason parameter of KickMember_Func when we were kicked out. More...
struct | RakNet::AddUserToQuickJoin_Func
struct | RakNet::RemoveUserFromQuickJoin_Func
| Leave quick join mode. More...
struct | RakNet::IsInQuickJoin_Func
| Returns if you are waiting in quick join mode. More...
struct | RakNet::SearchByFilter_Func
struct | RakNet::ChangeHandle_Func
| Change your handle. More...
struct | RakNet::RoomsPluginNotification
struct | RakNet::QuickJoinExpired_Notification
| The quick join duration has expired without joining or creating any rooms. More...
struct | RakNet::QuickJoinEnteredRoom_Notification
| Quick join succeeded, and you are now in a room. More...
struct | RakNet::RoomMemberStartedSpectating_Notification
| Another room member has started spectating. More...
struct | RakNet::RoomMemberStoppedSpectating_Notification
| Another room member has stopped spectating. More...
struct | RakNet::ModeratorChanged_Notification
| The room has a new moderator (possibly you). More...
struct | RakNet::SlotCountsSet_Notification
| The slot counts in the room has changed. More...
struct | RakNet::CustomRoomPropertiesSet_Notification
| The custom properties for the room has changed. More...
struct | RakNet::RoomNameSet_Notification
| The name of the room has been changed. More...
struct | RakNet::HiddenFromSearchesSet_Notification
| The room is now hidden, or no longer hidden, from searches. More...
struct | RakNet::RoomMemberReadyStatusSet_Notification
| Another room member has changed their ready status. More...
struct | RakNet::RoomLockStateSet_Notification
| The room is now, or is no longer, locked. More...
struct | RakNet::RoomMemberKicked_Notification
| A room member has been kicked out of the room (possibly you). More...
struct | RakNet::RoomMemberHandleSet_Notification
| A room member has changed their handle. More...
struct | RakNet::RoomMemberLeftRoom_Notification
| A room member has left the room. More...
struct | RakNet::RoomMemberJoinedRoom_Notification
| A room member has joined the room. More...
struct | RakNet::RoomInvitationSent_Notification
| You have received an invitation to a room. More...
struct | RakNet::RoomInvitationWithdrawn_Notification
| A previous room invitation is no longer valid (possibly due to moderator change, or the room no longer exists). More...
struct | RakNet::RoomDestroyedOnModeratorLeft_Notification
struct | RakNet::RoomChat_Notification
class | RakNet::RoomsPlugin
| Used to create rooms for players where they can matchmake A room is similar to the rooms you see in other lobby systems, where groups of players can join together in order to start a game match Each player can be in at most one room Each player name must be unique Each room has one moderator, which can perform operations on the room such as kicking out members This plugin networks the AllGamesRoomsContainer class, which performs the actual functionality. More...
## Namespaces
namespace | RakNet
| Forward declaration.

## Detailed Description

Adds networking to AllGamesRoomsContainer. Lets you create, join, search, and destroy matchmaking rooms for players.

This file is part of RakNet Copyright 2003 Kevin Jenkins.

Usage of RakNet is subject to the appropriate license agreement. Creative Commons Licensees are subject to the license found at http://creativecommons.org/licenses/by-nc/2.5/ Single application licensees are subject to the license found at http://www.jenkinssoftware.com/SingleApplicationLicense.html Custom license users are subject to the terms therein. GPL license users are subject to the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.