Author Topic: HOWTO - (Major feature list)  (Read 29787 times)


  • Administrator
  • Hero Member
  • *****
  • Posts: 6895
  • Karma: 291
    • View Profile
    • RakNet
HOWTO - (Major feature list)
« on: June 05, 2006, 10:41:23 AM »
3rd party dependencies


Ban users
See RakPeer::AddToBanList

Changing the disconnection timeout
See RakPeer::SetTimeoutTime

Compressing data:
Use the Bitstream class, in particular the functions *Compressed() and *Delta() and the functions to write Matrices, Quaterions, and Vectors.

Crash Recovery
See CrashRelauncher and CrashReporter samples.

Directory Server

Discover servers on the LAN
See the LANServerDiscovery project

Download progress
See RakPeer::SetSplitMessageProgressInterval

Download files from webservers
Use libcurl

Endianness compliance
Undefine __BITSTREAM_NATIVE_END in RakNetDefines.h (currently this way by default)

See EmailSender.h. You can use GMail as an outgoing mail server if you have a google account. Define OPEN_SSL_CLIENT_SUPPORT to support SSL to do so.

Excluding features you don't need
See NativeFeatureIncludes.h


Function calls on remote systems
See the RPC3 and RPC4 samples. RPC3 requires 3rd party library Boost.

Host migration for peer to peer networks

Internet simulator
I recommend using If you know of others let me know.

Irrlicht Sample (or a better graphical sample than the Ogre one)

Kicking connected users:
See RakPeer::CloseConnection


Logging datagrams and messages
See the PacketLoggerTest sample and the files PacketConsoleLogger.h (to log to a remote terminal), PacketFileLogger.h (to log to a file) and PacketLogger.h (to log to the screen)

Message/Packet Filtering by group
See the MessageFilter plugin

Ogre 3D sample (or a graphical sample in general)
See Ogre3DInterp Demo. You can run the sample without Ogre 3D installed at DependentExtensions\Ogre3DInterpDemo\Ogre3DInterpDemo.exe

Override malloc and free
Edit or replace RakNetMemory.cpp

Password protected servers
See RakPeer::SetIncomingPassword

Patching i.e. an autopatcher
See the Autopatcher project

Peer to peer connectivity through routers

Peer to peer ready / unready states
The ReadyEvent plugin lets peers set ready and unready, and notifies you when everyone is ready.

See the OfflineMessagesTest and Ping projects

Remotely administrate my application:
See the CommandConsoleServer project

Routing and multicasting through RakPeer
See the Router project

Secure connections
See the Encryption project. The MessageFilter plugin can also be used.

Serialize and replicate objects in my application
See the ReplicaManager3 project.

Server hosting
For a dedicated server, I recommend ( ). For cloud hosting, I recommend Rackspace ( )

Signals and Slots
Use RPC3 or RPC4

Statistics on the connection
See RakPeer::GetStatistics

Strings (writing, reading)
See StringCompressor.h for arbitrary english strings and StringTable.h for strings already known in advance. You can also use RakNet::RakString which is directly supported with BitStream. Use RakWString for Unicode, although it has less functionality.

Team management
See TeamManager plugin

Time used for network events
See GetTime.h

Timestamps which are system relative
See the Timestamping project

Transfer files in a directory and subdirectories:
See the DirectoryDeltaTransfer plugin/project and the FileListTransfer plugin.

Uniquely identify an instance of RakPeer:
Use RakPeer::GetGuidFromSystemAddress() and RakPeer::GetSystemAddressFromGuid(). RakNetGUID is returned with offline messages and with the Packet structure.

Voice encoding and communication
See the RakVoice project
« Last Edit: April 30, 2013, 12:52:04 PM by Rak'kar »