Grapple (network layer)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Original author(s) Michael Simms
of Linux Game Publishing
Initial release 2006
Stable release
0.9.8 / August 8, 2009
Written in C
Operating system Linux, Microsoft Windows, macOS
Type Library
License GNU Lesser General Public License

Grapple is a free software package for adding multiplayer support to computer games and applications. It uses Internet protocols, supporting both TCP/IP and UDP/IP. It is intended to be simple enough that multiplayer features can be added to a game "as little as a dozen lines of code",[1] but also offers advanced features if desired.

Grapple takes care of creating, monitoring and closing connections to a server, and supports multiple servers. It is a message-oriented system, with clients and servers each having a message queue; it can also relay messages from client to client. It also provides a fully functional lobby system.[2]

The package was created in 2006 by Michael Simms of Linux Game Publishing. It is released under the GNU LGPL.


The features grapple supports at this time is:

  • Simple client-server networking
  • Keeps all clients aware of all other clients
  • Network messaging by either a push or a pull model, or a mixture of both
  • Unlimited connections to multiple servers.
  • Multiple methods of querying users
  • Data transfer via TCP, UDP, or reliable UDP
  • Passworded servers
  • User Groups for client bandwidth saving
  • Server security - server can disconnect any client
  • Network load reacting data transmission and retransmission
  • Background pinging to monitor network states
  • A fully functional lobby system
  • Server failover
  • NAT traversal using STUN

Games using Grapple[edit]

Applications using Grapple[edit]


  1. ^ Grapple home page at
  2. ^ README.lobby at

External links[edit]