![]() |
Installation
Please refer to the Compiler Setup page, as all your questions should be answered there. If you have additional problems please refer to the FAQ, http://www.rakkarsoft.com, or contact us. Advanced users can jump to the code tutorial. Beginners or those wishing to learn more about RakNet should keep reading. API Description RakNet is an advanced networking API that provides services for and over Berkeley Sockets, or on Windows systems "Winsock." It allows any application to communicate with other applications that also uses it, whether that be on the same computer, over a LAN, or over the internet. Although RakNet can be used for any networked application, it was developed with a focus on online gaming and provides extra functionality to facilitate the programming of online games as well as being programmed to address the most common needs of online games. Networking 101 Game network connections usually fall under two general categories: peer to peer and client/server. Each of these are implemented in a variety of ways and with a variety of protocols. However, RakNet supports any topology. ![]() Generally speaking, the fastest computer with the best connection should act as the server, with other computers acting as the clients. While there are many types of ways to encode packets, they are all transmitted as either UDP or TCP packets. TCP packets are good for sending files, but not so good for games. They are often delayed (resulting in games with a lot of lag) and arrive as streams rather than packets (so you have to implement your own scheme to separate data). UDP packets are good because they are sent right away and are sent in packets so you can easily distinguish data. However, the added flexibility comes with a variety of problems:
How does RakNet help me with these issues? At the lowest level, RakNet provides a layer over UDP packets that handle these problems transparently, allowing the programmer to focus on the game rather than worrying about the engine.
Unlike the majority of networking APIs:
Working at the level of byte streams and packets is bandwidth efficient and gives you a great deal of control but is time consuming. RakNet provides many features to make networking easier, including remote function calls, the BitStream class, and automatic object synchronization. Most games share a common set of functionality, such as setting player limits, password production, and statistics. RakNet includes all these features and more. If your game needs it you should check to make sure RakNet doesn't have it integrated already. Lastly, RakNet includes a small set of programs that work in conjunction with your game, such as the master server or real time voice
|
![]() |
Index System Overview Detailed Implementation Tutorial Compiler Setup |