Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# RakServer Class Reference

Server Facilities on top of RakPeer. More...

`#include <RakServer.h>`

Inheritance diagram for RakServer:

List of all members.

## Public Member Functions
| RakServer ()
virtual | ~RakServer ()
bool | Start (unsigned short AllowedPlayers, unsigned long connectionValidationInteger, int threadSleepTimer, unsigned short port)
void | InitializeSecurity (char *privateKeyE, char *privateKeyN)
void | DisableSecurity (void)
void | SetPassword (char *_password)
bool | HasPassword (void)
void | Disconnect (unsigned long blockDuration)
bool | Send (char *data, const long length, PacketPriority priority, PacketReliability reliability, char orderingChannel, PlayerID playerId, bool broadcast)
bool | Send (RakNet::BitStream *bitStream, PacketPriority priority, PacketReliability reliability, char orderingChannel, PlayerID playerId, bool broadcast)
Packet * | Receive (void)
void | Kick (PlayerID playerId)
void | DeallocatePacket (Packet *packet)
void | SetAllowedPlayers (unsigned short AllowedPlayers)
unsigned short | GetAllowedPlayers (void) const
unsigned short | GetConnectedPlayers (void)
void | GetPlayerIPFromID (PlayerID playerId, char returnValue[22], unsigned short *port)
void | PingPlayer (PlayerID playerId)
int | GetAveragePing (PlayerID playerId)
int | GetLastPing (PlayerID playerId)
int | GetLowestPing (PlayerID playerId)
void | StartOccasionalPing (void)
void | StopOccasionalPing (void)
bool | IsActive (void) const
unsigned long | GetSynchronizedRandomInteger (void) const
void | StartSynchronizedRandomInteger (void)
void | StopSynchronizedRandomInteger (void)
bool | GenerateCompressionLayer (unsigned long inputFrequencyTable[256], bool inputLayer)
bool | DeleteCompressionLayer (bool inputLayer)
void | RegisterAsRemoteProcedureCall (char *uniqueID, void(*functionName)(char *input, int numberOfBitsOfData, PlayerID sender))
void | UnregisterAsRemoteProcedureCall (char *uniqueID)
bool | RPC (char *uniqueID, char *data, unsigned long bitLength, PacketPriority priority, PacketReliability reliability, char orderingChannel, PlayerID playerId, bool broadcast, bool shiftTimestamp)
bool | RPC (char *uniqueID, RakNet::BitStream *parameters, PacketPriority priority, PacketReliability reliability, char orderingChannel, PlayerID playerId, bool broadcast, bool shiftTimestamp)
void | SetTrackFrequencyTable (bool b)
bool | GetSendFrequencyTable (unsigned long outputFrequencyTable[256])
float | GetCompressionRatio (void) const
float | GetDecompressionRatio (void) const
RakNet::BitStream * | GetStaticServerData (void)
void | SetStaticServerData (char *data, const long length)
void | SetRelayStaticClientData (bool b)
void | SendStaticServerDataToClient (PlayerID playerId)
void | SetOfflinePingResponse (char *data, const unsigned long length)
RakNet::BitStream * | GetStaticClientData (PlayerID playerId)
void | SetStaticClientData (PlayerID playerId, char *data, const long length)
void | ChangeStaticClientData (PlayerID playerChangedId, PlayerID playerToSendToId)
unsigned int | GetNumberOfAddresses (void)
const char * | GetLocalIP (unsigned int index)
void | PushBackPacket (Packet *packet)
int | GetIndexFromPlayerID (PlayerID playerId)
PlayerID | GetPlayerIDFromIndex (int index)
void | AddToBanList (const char *IP)
void | RemoveFromBanList (const char *IP)
void | ClearBanList (void)
bool | IsBanned (const char *IP)
bool | IsActivePlayerID (PlayerID playerId)
bool | SetMTUSize (int size)
int | GetMTUSize (void) const
void | AdvertiseSystem (char *host, unsigned short remotePort)
RakNetStatisticsStruct *const | GetStatistics (PlayerID playerId)
## Private Attributes
unsigned long | seed
unsigned long | nextSeed
unsigned long | nextSeedUpdate
unsigned long | broadcastPingsTime
bool | synchronizedRandomInteger
bool | relayStaticClientData

## Detailed Description

Server Facilities on top of RakPeer.

This class provide an increase level of services on top of RakPeer. The communication end point can now only accept connexion and exchange message with peer connected to him

See also:
  RakClient

## Constructor & Destructor Documentation

RakServer::RakServer | ( |  | ) |

| Constructor

RakServer::~RakServer | ( |  | ) | `[virtual]`

| Destructor

## Member Function Documentation

void RakServer::AddToBanList | ( | const char * | IP | ) | `[virtual]`

| Bans an IP from connecting. Banned IPs persist between connections. Parameters IP - Dotted IP address. Can use * as a wildcard, such as 128.0.0.* will ban All IP addresses starting with 128.0.0 Reimplemented from RakPeer.

void RakServer::AdvertiseSystem | ( | char * | host,
|  | unsigned short | remotePort
| ) | `[virtual]`

| Sends a one byte message ID_ADVERTISE_SYSTEM to the remote unconnected system. This will tell the remote system our external IP outside the LAN, and can be used for NAT punch through host: Either a dotted IP address or a domain name remotePort: Which port to connect to on the remote machine. Reimplemented from RakPeer.

void RakServer::ChangeStaticClientData | ( | PlayerID | playerChangedId,
|  | PlayerID | playerToSendToId
| ) | `[virtual]`

| This function is used to update the information on connected clients when the server effects a change of static client data playerChangedId should be the playerId of the player whose data was changed. This is the parameter passed to GetStaticClientData to get a pointer to that player's information Note that a client that gets this new information for himself will update the data for his playerID but not his local data (which is the user's copy) i.e. player 5 would have the data returned by GetStaticClientData(5) changed but his local information returned by GetStaticClientData(UNASSIGNED_PLAYER_ID) would remain the same as it was previously. playerToSendToId should be the player you want to update with the new information. This will almost always be everybody, in which case you should pass UNASSIGNED_PLAYER_ID. The server must be active for this to have meaning Implements RakServerInterface.

void RakServer::ClearBanList | ( | void |  | ) | `[virtual]`

| Allows all previously banned IPs to connect. Reimplemented from RakPeer.

void RakServer::DeallocatePacket | ( | Packet * | packet | ) | `[virtual]`

| Call this to deallocate a packet returned by Receive when you are done handling it. Reimplemented from RakPeer.

bool RakServer::DeleteCompressionLayer | ( | bool | inputLayer | ) | `[virtual]`

| Delete the output or input layer as specified. This is not necessary to call and is only valuable for freeing memory You should only call this when disconnected Returns: false (failure) if connected. Otherwise true (success) Reimplemented from RakPeer.

void RakServer::DisableSecurity | ( | void |  | ) | `[virtual]`

| Must be called while offline Disables all security. Reimplemented from RakPeer.

void RakServer::Disconnect | ( | unsigned long | blockDuration | ) | `[virtual]`

  | Stops the server, stops synchronized data, and resets all internal data. This will drop all players currently connected, however since the server is stopped packet reliability is not enforced so the Kick network message may not actually arrive. Those players will disconnect due to timeout. If you want to end the server more gracefully, you can manually Kick each player first. Does nothing if the server is not running to begin with Parameters:
  | blockDuration | How long you should wait for all remaining packets to go out, per connected system If you set it to 0 then the disconnection notifications probably won't arrive
Reimplemented from RakPeer.

bool RakServer::GenerateCompressionLayer | ( | unsigned long | inputFrequencyTable[256],
|  | bool | inputLayer
| ) | `[virtual]`

| This is an optional function to generate the compression layer from the input frequency table. You should call this twice - once with inputLayer as true and once as false. The frequency table passed here with inputLayer=true should match the frequency table on the recipient with inputLayer=false. Likewise, the frequency table passed here with inputLayer=false should match the frequency table on the recipient with inputLayer=true Calling this function when there is an existing layer will overwrite the old layer You should only call this when disconnected Returns: false (failure) if connected. Otherwise true (success) Reimplemented from RakPeer.

unsigned short RakServer::GetAllowedPlayers | ( | void |  | ) | const`[virtual]`

| Return how many players are allowed to connect. This value was set either from Start or from SetAllowedPlayers The server must be active for this to have meaning Implements RakServerInterface.

int RakServer::GetAveragePing | ( | PlayerID | playerId | ) | `[virtual]`

| Returns the average of all ping times read for the specific player or -1 if none read yet Reimplemented from RakPeer.

float RakServer::GetCompressionRatio | ( | void |  | ) | const`[virtual]`

| Returns the compression ratio. A low compression ratio is good. Compression is for outgoing data Reimplemented from RakPeer.

unsigned short RakServer::GetConnectedPlayers | ( | void |  | ) | `[virtual]`

| Return how many players are currently connected to the server. The server must be active for this to have meaning Implements RakServerInterface.

float RakServer::GetDecompressionRatio | ( | void |  | ) | const`[virtual]`

| Returns the decompression ratio. A high decompression ratio is good. Decompression is for incoming data Reimplemented from RakPeer.

int RakServer::GetIndexFromPlayerID | ( | PlayerID | playerId | ) | `[virtual]`

| Given a playerID, returns an index from 0 to the maximum number of players allowed - 1. Reimplemented from RakPeer.

int RakServer::GetLastPing | ( | PlayerID | playerId | ) | `[virtual]`

| Returns the last ping time read for the specific player or -1 if none read yet Implements RakServerInterface.

const char * RakServer::GetLocalIP | ( | unsigned int | index | ) | `[virtual]`

| Call this function where 0 <= index < x where x is the value returned by GetNumberOfAddresses Returns a static string filled with the server IP of the specified index Strings returned in no particular order. You'll have to check every index see which string you want Returns 0 on invalid input The server does not have to be active for this to work Reimplemented from RakPeer.

int RakServer::GetLowestPing | ( | PlayerID | playerId | ) | `[virtual]`

| Returns the lowest ping time read or -1 if none read yet Implements RakServerInterface.

int RakServer::GetMTUSize | ( | void |  | ) | const`[virtual]`

| Returns the current MTU size Reimplemented from RakPeer.

unsigned int RakServer::GetNumberOfAddresses | ( | void |  | ) | `[virtual]`

| Internally store the IP address(es) for the server and return how many it has. This can easily be more than one, for example a system on both a LAN and with a net connection. The server does not have to be active for this to work Reimplemented from RakPeer.

PlayerID RakServer::GetPlayerIDFromIndex | ( | int | index | ) | `[virtual]`

| This function is only useful for looping through all players. Index should range between 0 and the maximum number of players allowed - 1. Reimplemented from RakPeer.

void RakServer::GetPlayerIPFromID | ( | PlayerID | playerId,
|  | char | returnValue[22],
|  | unsigned short * | port
| ) | `[virtual]`

| Returns a static string pointer containing the IP of the specified connected player. Also returns the client port This changes between calls so be sure to copy what is returned if you need to retain it Useful for creating and maintaining ban lists The server must be active for this to have meaning If the specified id does not represent an active player the results are undefined (most likely returns 0) Implements RakServerInterface.

bool RakServer::GetSendFrequencyTable | ( | unsigned long | outputFrequencyTable[256] | ) | `[virtual]`

  | Returns the frequency of outgoing bytes into outputFrequencyTable The purpose is to save to file as either a master frequency table from a sample game session for passing to GenerateCompressionLayer. You should only call this when disconnected Requires that you first enable data frequency tracking by calling SetTrackFrequencyTable(true) Parameters:
  `[out]` | outputFrequencyTable | The Frequency Table used in the compression layer
Returns: false (failure) if connected or if frequency table tracking is not enabled. Otherwise true (success) Implements RakServerInterface.

RakNet::BitStream * RakServer::GetStaticClientData | ( | PlayerID | playerId | ) | `[virtual]`

  | Returns a pointer to an attached client's character name specified by the playerId Returns 0 if no such player is connected Note that you can modify the client data here. Changes won't be reflected on clients unless you force them to update by calling ChangeStaticClientData The server must be active for this to have meaning The data is entered as an array and stored and returned as a BitStream. Everytime you call GetStaticServerData it resets the read pointer to the start of the bitstream. To do multiple reads without reseting the pointer Maintain a pointer copy to the bitstream as in RakNet::BitStream *copy = ...->GetStaticServerData(...); To store a bitstream, use the GetData() and GetNumberOfBytesUsed() methods of the bitstream for the 2nd and 3rd parameters Note that the client may change at any time the data contents and/or its length! Parameters:
  | playerId | The ID of the client
Returns: Statistical information of this client Implements RakServerInterface.

RakNet::BitStream * RakServer::GetStaticServerData | ( | void |  | ) | `[virtual]`

| The server internally maintains a data struct that is automatically sent to clients when the connect. This is useful to contain data such as the server name or message of the day. Access that struct with this function. Note: If you change any data in the struct remote clients won't reflect this change unless you manually update them Do so by calling SendStaticServerDataToClient(UNASSIGNED_PLAYER_ID) (broadcast to all) The data is entered as an array and stored and returned as a BitStream. To store a bitstream, use the GetData() and GetNumberOfBytesUsed() methods of the bitstream for the 2nd and 3rd parameters Implements RakServerInterface.

RakNetStatisticsStruct *const RakServer::GetStatistics | ( | PlayerID | playerId | ) | `[virtual]`

| Returns a structure containing a large set of network statistics for the specified system You can map this data to a string using the C style StatisticsToString function Parameters playerId: Which connected system to get statistics for Returns: 0 on can't find the specified system. A pointer to a set of data otherwise. Reimplemented from RakPeer.

unsigned long RakServer::GetSynchronizedRandomInteger | ( | void |  | ) | const`[virtual]`

| Returns a number automatically synchronized between the server and client which randomly changes every 9 seconds. The time it changes is accurate to within a few ms and is best used to seed random number generators that you want to usually return the same output on all systems. Keep in mind this isn't perfectly accurate as there is always a very small chance the numbers will by out of synch during changes so you should confine its use to visual effects or functionality that has a backup method to maintain synchronization. If you don't need this functionality and want to save the bandwidth call StopSynchronizedRandomInteger after starting the server Implements RakServerInterface.

bool RakServer::HasPassword | ( | void |  | ) | `[virtual]`

| Returns true if a password was set, false otherwise Implements RakServerInterface.

void RakServer::InitializeSecurity | ( | char * | privateKeyE,
|  | char * | privateKeyN
| ) | `[virtual]`

  | Must be called while offline Secures connections though a combination of SHA1, AES128, SYN Cookies, and RSA to prevent connection spoofing, replay attacks, data eavesdropping, packet tampering, and MitM attacks. There is a significant amount of processing and a slight amount of bandwidth overhead for this feature. If you accept connections, you must call this or else secure connections will not be enabled for incoming connections. If the private keys are 0, then a new key will be generated when this function is called Parameters:
  | privateKeyE | A pointer to the private keys from the RSACrypt class.
  | privateKeyN | A pointer to the private keys from the RSACrypt class.
See also: the Encryption sample Implements RakServerInterface.

bool RakServer::IsActive | ( | void |  | ) | const`[virtual]`

| Returns true if the server is currently active Reimplemented from RakPeer.

bool RakServer::IsActivePlayerID | ( | PlayerID | playerId | ) | `[virtual]`

| Returns true if that player ID is currently used Implements RakServerInterface.

bool RakServer::IsBanned | ( | const char * | IP | ) | `[virtual]`

| Determines if a particular IP is banned. Parameters IP - Complete dotted IP address Returns True if IP matches any IPs in the ban list, accounting for any wildcards. False otherwise. Reimplemented from RakPeer.

void RakServer::Kick | ( | PlayerID | playerId | ) | `[virtual]`

| Kick out the specified player. Implements RakServerInterface.

void RakServer::PingPlayer | ( | PlayerID | playerId | ) | `[virtual]`

| Send a ping request to the specified player Implements RakServerInterface.

void RakServer::PushBackPacket | ( | Packet * | packet | ) | `[virtual]`

| Put a packet back at the end of the receive queue in case you don't want to deal with it immediately Reimplemented from RakPeer.

Packet * RakServer::Receive | ( | void |  | ) | `[virtual]`

| Call this to get a packet from the incoming packet queue. Use DeallocatePacket to deallocate the packet after you are done with it. Check the Packet struct at the top of CoreNetworkStructures.h for the format of the struct Returns 0 if no packets are waiting to be handled If the server is not active this will also return 0, as all waiting packets are flushed when the server is Disconnected This also updates all memory blocks associated with synchronized memory Reimplemented from RakPeer.

void RakServer::RemoveFromBanList | ( | const char * | IP | ) | `[virtual]`

| Allows a previously banned IP to connect. Parameters IP - Dotted IP address. Can use * as a wildcard, such as 128.0.0.* will ban All IP addresses starting with 128.0.0 Reimplemented from RakPeer.

bool RakServer::Send | ( | RakNet::BitStream * | bitStream,
|  | PacketPriority | priority,
|  | PacketReliability | reliability,
|  | char | orderingChannel,
|  | PlayerID | playerId,
|  | bool | broadcast
| ) | `[virtual]`

| This function only works while the server is active (Use the Start function). Returns false on failure, true on success Send the bitstream to whichever playerId you specify. You can set the first byte to a packet identifier, however you will need to have TYPE_CHECKING undefined or the internal type checking will add extra data and make this not work. If you want TYPE_CHECKING on, you will need to use BitStream::WriteBits to avoid the type checking. This interface will probably change to fix this in future versions. If you aren't sure what to specify for priority and reliability, use HIGH_PRIORITY and RELIABLE, 0 for ordering channel Set broadcast to true to broadcast to all connected clients EXCEPT the one specified in the playerId field. To broadcast to everyone specify UNASSIGNED_PLAYER_ID for the playerId field. Reimplemented from RakPeer.

bool RakServer::Send | ( | char * | data,
|  | const long | length,
|  | PacketPriority | priority,
|  | PacketReliability | reliability,
|  | char | orderingChannel,
|  | PlayerID | playerId,
|  | bool | broadcast
| ) | `[virtual]`

| This function only works while the server is active (Use the Start function). Returns false on failure, true on success Send the data stream of length length to whichever playerId you specify. Specify UNASSIGNED_PLAYER_ID for all players connected If you aren't sure what to specify for priority and reliability, use HIGH_PRIORITY, RELIABLE, 0 for ordering channel Set broadcast to true to broadcast to all connected clients EXCEPT the one specified in the playerId field. To broadcast to everyone specify UNASSIGNED_PLAYER_ID for the playerId field. Reimplemented from RakPeer.

void RakServer::SendStaticServerDataToClient | ( | PlayerID | playerId | ) | `[virtual]`

| Send the static server data to the specified player. Pass UNASSIGNED_PLAYER_ID to broadcast to all players The only time you need to call this function is to update clients that are already connected when you change the static server data by calling GetStaticServerData and directly modifying the object pointed to. Obviously if the connected clients don't need to know the new data you don't need to update them, so it's up to you The server must be active for this to have meaning Implements RakServerInterface.

void RakServer::SetAllowedPlayers | ( | unsigned short | AllowedPlayers | ) | `[virtual]`

| Set how many players are allowed on the server. If more players are currently connected then are allowed then No more players will be allowed to join until the number of players is less than the number of allowed players The server must be active for this to have meaning Implements RakServerInterface.

bool RakServer::SetMTUSize | ( | int | size | ) | `[virtual]`

| Change the MTU size in order to improve performance when sending large packets This can only be called when not connected. Returns false on failure (we are connected). True on success. Maximum allowed size is MAXIMUM_MTU_SIZE A too high of value will cause packets not to arrive at worst and be fragmented at best. A too low of value will split packets unnecessarily. Set according to the following table: 1500. The largest Ethernet packet size; it is also the default value. This is the typical setting for non-PPPoE, non-VPN connections. The default value for NETGEAR routers, adapters and switches. 1492. The size PPPoE prefers. 1472. Maximum size to use for pinging. (Bigger packets are fragmented.) 1468. The size DHCP prefers. 1460. Usable by AOL if you don't have large email attachments, etc. 1430. The size VPN and PPTP prefer. 1400. Maximum size for AOL DSL. 576. Typical value to connect to dial-up ISPs. (Default) Reimplemented from RakPeer.

void RakServer::SetOfflinePingResponse | ( | char * | data,
|  | const unsigned long | length
| ) | `[virtual]`

  | Sets the data to send with an (LAN server discovery) /(offline ping) response See also: the Ping sample project for how this is used. Parameters:
  | data | a block of data to store, or 0 for none
  | length | The length of data in bytes, or 0 for none
Reimplemented from RakPeer.

void RakServer::SetPassword | ( | char * | _password | ) | `[virtual]`

  | Set the password clients have to use to connect to this server. The password persists between connections. Pass 0 for no password. You can call this anytime Parameters:
  | _password | The password name.
Implements RakServerInterface.

void RakServer::SetRelayStaticClientData | ( | bool | b | ) | `[virtual]`

| This sets to true or false whether we want to support relaying of static client data to other connected clients. If set to false it saves some bandwdith, however other clients won't know the static client data and attempting to read that data will return garbage. Default is true. This also only works for up to 32 players. Games supporting more than 32 players will have this shut off automatically upon server start and must have it forced back on with this function if you do indeed want it This should be called after the server is started in case you want to override when it shuts off at 32 players Implements RakServerInterface.

void RakServer::SetStaticClientData | ( | PlayerID | playerId,
|  | char * | data,
|  | const long | length
| ) | `[virtual]`

  | Returns a pointer to an attached client's character name specified by the playerId Returns 0 if no such player is connected Note that you can modify the client data here. Changes won't be reflected on clients unless you force them to update by calling ChangeStaticClientData The server must be active for this to have meaning The data is entered as an array and stored and returned as a BitStream. Everytime you call GetStaticServerData it resets the read pointer to the start of the bitstream. To do multiple reads without reseting the pointer Maintain a pointer copy to the bitstream as in RakNet::BitStream *copy = ...->GetStaticServerData(...); To store a bitstream, use the GetData() and GetNumberOfBytesUsed() methods of the bitstream for the 2nd and 3rd parameters Note that the client may change at any time the data contents and/or its length! Parameters:
  | playerId | The ID of the client
  | data | A buffer containing statistics
  | length | The size of the buffer
Implements RakServerInterface.

void RakServer::SetStaticServerData | ( | char * | data,
|  | const long | length
| ) | `[virtual]`

| The server internally maintains a data struct that is automatically sent to clients when the connect. This is useful to contain data such as the server name or message of the day. Access that struct with this function. Note: If you change any data in the struct remote clients won't reflect this change unless you manually update them Do so by calling SendStaticServerDataToClient(UNASSIGNED_PLAYER_ID) (broadcast to all) The data is entered as an array and stored and returned as a BitStream. To store a bitstream, use the GetData() and GetNumberOfBytesUsed() methods of the bitstream for the 2nd and 3rd parameters Implements RakServerInterface.

void RakServer::SetTrackFrequencyTable | ( | bool | b | ) | `[virtual]`

  | Enables or disables frequency table tracking. This is required to get a frequency table, which is used to generate A new compression layer. You can call this at any time - however you SHOULD only call it when disconnected. Otherwise you will only track part of the values sent over the network. This value persists between connect calls and defaults to false (no frequency tracking) Parameters:
  | b | True to enable tracking
Implements RakServerInterface.

bool RakServer::Start | ( | unsigned short | AllowedPlayers,
|  | unsigned long | connectionValidationInteger,
|  | int | threadSleepTimer,
|  | unsigned short | port
| ) | `[virtual]`

  | Call this to initiate the server with the number of players you want to be allowed connected at once Parameters:
  | AllowedPlayers | Current maximum number of allowed players is 65535
  | connectionValidationInteger | is for legacy purposes and is unused
  | threadSleepTimer | >=0 for how many ms to Sleep each internal update cycle (recommended 30 for low performance, 0 for regular)
  | port | is the port you want the server to read and write on Make sure this port is open for UDP
Returns: true on successful initiation, false otherwise Implements RakServerInterface.

void RakServer::StartOccasionalPing | ( | void |  | ) | `[virtual]`

| Ping all players every so often. This is on by default. In games where you don't care about ping you can call StopOccasionalPing to save the bandwidth This will work anytime Implements RakServerInterface.

void RakServer::StartSynchronizedRandomInteger | ( | void |  | ) | `[virtual]`

| Start or restart the synchronized random integer. This is on by default. Call StopSynchronizedRandomInteger to stop it keeping the number in synch Implements RakServerInterface.

void RakServer::StopOccasionalPing | ( | void |  | ) | `[virtual]`

| Stop pinging players every so often. Players are pinged by default. In games where you don't care about ping you can call this to save the bandwidth This will work anytime Implements RakServerInterface.

void RakServer::StopSynchronizedRandomInteger | ( | void |  | ) | `[virtual]`

| Stop the synchronized random integer. Call StartSynchronizedRandomInteger to start it again Implements RakServerInterface.

## Member Data Documentation

unsigned long RakServer::broadcastPingsTime`[private]`

| Synchronized random integer

unsigned long RakServer::nextSeed`[private]`

| Synchronized random integer

unsigned long RakServer::nextSeedUpdate`[private]`

| Synchronized random integer

bool RakServer::relayStaticClientData`[private]`

unsigned long RakServer::seed`[private]`

| Synchronized random integer

bool RakServer::synchronizedRandomInteger`[private]`

The documentation for this class was generated from the following files:

- Projects/raknet/include/raknet/RakServer.h
- Projects/raknet/Source/RakServer.cpp