Software:Grapple (network layer)

From HandWiki
Grapple
Original author(s)Michael Simms
of Linux Game Publishing
Initial release2006
Stable release
0.9.8 / August 8, 2009
Written inC
Operating systemLinux, Microsoft Windows, macOS
TypeLibrary
LicenseGNU Lesser General Public License
Websitegrapple.linuxgamepublishing.com

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.

Features

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

Applications using Grapple

  • PenguinPlay, Multiplayer matchmaker for games.

References

  1. Grapple home page at linuxgamepublishing.com
  2. README.lobby at grapple.linuxgamepublishing.com

External links