|
void | SetOrderingChannel (char oc) |
| Ordering channel to send messages on.
|
|
void | SetSendPriority (PacketPriority pp) |
| Send priority to send messages on.
|
|
void | SetRoomsCallback (RoomsCallback *_roomsCallback) |
| Set the callback to get notification and ExecuteFunc() results.
|
|
void | AddRoomsCallback (RoomsCallback *_roomsCallback) |
| Add a callback to get notification and ExecuteFunc() results.
|
|
void | RemoveRoomsCallback (RoomsCallback *_roomsCallback) |
| Remove a callback to get notification and ExecuteFunc() results.
|
|
void | ExecuteFunc (RoomsPluginFunc *func) |
| Execute a function, using the system address passed to SetServerAddress();.
|
|
void | ExecuteFunc (RoomsPluginFunc *func, SystemAddress remoteAddress) |
| Execute a function, with a specific address.
|
|
void | SetServerAddress (SystemAddress systemAddress) |
| Sets the remote server address that is running RoomsPlugin. Send calls will go to this function.
|
|
bool | LoginRoomsParticipant (RakNet::RakString userName, SystemAddress roomsParticipantAddress, RakNetGUID guid, SystemAddress loginServerAddress) |
| Add a participant to the system.
|
|
bool | LogoffRoomsParticipant (RakNet::RakString userName, SystemAddress loginServerAddress) |
| Removes a participant from the system.
|
|
void | ClearRoomMembers () |
| Clear all users.
|
|
void | ChangeHandle (RakNet::RakString oldHandle, RakNet::RakString newHandle) |
| Change the handle a user.
|
|
void | AddLoginServerAddress (SystemAddress systemAddress) |
| Add a SystemAddress to a list that will be checked when LoginRoomsParticipant() and LogoffRoomsParticipant() is called.
|
|
void | RemoveLoginServerAddress (SystemAddress systemAddress) |
| Remove a SystemAddress from a list that will be checked when LoginRoomsParticipant() and LogoffRoomsParticipant() is called.
|
|
void | ClearLoginServerAdddresses (void) |
| Remove all addresses added with AddLoginServerAddress()
|
|
void | SetProfanityFilter (ProfanityFilter *pf) |
| Sets the profanity filter for the system to use (optional)
|
|
virtual void | OnDetach (void) |
| Called when the interface is detached.
|
|
virtual void | Update (void) |
| Update is called every time a packet is checked for .
|
|
virtual PluginReceiveResult | OnReceive (Packet *packet) |
|
virtual void | OnClosedConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason) |
|
virtual void | OnAttach (void) |
| Called when the interface is attached.
|
|
virtual void | OnRakPeerStartup (void) |
| Called when RakPeer is initialized.
|
|
virtual void | OnRakPeerShutdown (void) |
| Called when RakPeer is shutdown.
|
|
virtual void | OnNewConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, bool isIncoming) |
|
virtual void | OnFailedConnectionAttempt (Packet *packet, PI2_FailedConnectionAttemptReason failedConnectionAttemptReason) |
|
virtual bool | UsesReliabilityLayer (void) const |
|
virtual void | OnDirectSocketSend (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress) |
|
virtual void | OnDirectSocketReceive (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress) |
|
virtual void | OnReliabilityLayerNotification (const char *errorMessage, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress, bool isError) |
|
virtual void | OnInternalPacket (InternalPacket *internalPacket, unsigned frameNumber, SystemAddress remoteSystemAddress, RakNet::TimeMS time, int isSend) |
|
virtual void | OnAck (unsigned int messageNumber, SystemAddress remoteSystemAddress, RakNet::TimeMS time) |
|
virtual void | OnPushBackPacket (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress) |
|
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.
To use as a client:
-
Connect to the server and attach the plugin as normal.
-
Call SetServerAddress to tell the system where the server is.
-
Call RoomsPlugin::SetRoomsCallback() with a pointer to a callback structure
-
Fill in the input parameters of the desired structure(s)
-
Call RoomsPlugin::ExecuteFunc with a pointer to the structure.
-
Process the callback, which will contain the original input parameters, plus the new output parameters. All structures contain resultCode, which indicates if the operation was successful (REC_SUCCESS) or not (Anything else)
To use as a server:
-
Start RakNet as usual, accepting connections and attaching the plugin
-
Call RoomsPlugin::SetProfanityFilter() with the ProfanityFilter class, if desired
-
Call RoomsPlugin::AddTitle() for each title (game) you want to support
-
If you want other systems to be able to call RoomsPlugin::LoginRoomsParticipant(), call RoomsPlugin::AddLoginServerAddress() with the addresses of those systems
-
As users go online, call RoomsPlugin::LoginRoomsParticipant(). Login and Logoff is up to you to implement (or rely on other systems, such as Lobby2)
-
As users go offline, call RoomsPlugin::LogoffRoomsParticipant();
- See Also
- AllGamesRoomsContainer
-
TeamManager TeamManager performs some of the same functions as RoomsPlugin in a more flexible way
-