A N-way server and client protocol library and server for POSIX-compliant operating systems
  1 Screenshot
MUSCLE stands for Multi User Server Client Linkage Environment and it’s an open source, free, robust, scalable and cross-platform messaging system that comprises of server and client components. It will help you to write all sorts of distributed software, from multiplayer games and IRC chat clients, to SETI calculation apps.

Features at a glance

With MUSCLE, users will be able to easily customize the included "muscled server" by defining their own session logic or message-streaming protocol. The software helps you to write your client code in either of the C++, C, C#, Java, Delphi or Python programming languages.

The program uses BMessage-like muscle::Messages, supports sending of flattened muscle::Messages between computers via TCP (Transmission Control Protocol) streams, deploys a “muscled server” on a server machine, allowing you to write client programs that can be used to communicate with the server.

Additionally, it includes single- and multi-threaded messaging APIs that support all the aforementioned programming languages. The “muscled server” can be easily customized by defining a message-streaming protocol or a session logic.

Getting started with MUSCLE

After a successful login, the client programs can determine who else is logged into the central server, as well as to store muscle::Messages in the RAM (system memory) and send muscle::Messages to other clients that are connected to the server. Please note that client programs can subscribe to specific data on the server, and get instant notifications when the data changes.

Supports a wide range of message routings

The software has been designed to supports a wide range of message routings, including unicast-style, broadcast-style and multicast-style ones through an intelligent, hierarchical pattern-matching routing mechanism.

Supported OSes and availability

MUSCLE runs on any POSIX-compliant operating system. It is distributed as a single, universal sources archive that lets users to optimize the application for their GNU/Linux system. Both 32-bit and 64-bit hardware platforms are supported at this time.

Reviewed by , last updated on October 13th, 2014

license type:
BSD License 
developed by:
Jeremy Friesner
ROOT \ Database \ Database Servers
Download Button

In a hurry? Add it to your Download Basket!

softpedia rating


user rating 26



Rate it!
What's New in This Release:
  • Added a ShrinkToFit() convenience method to the Queue, Hashtable, and String classes. This method shrinks the object so that the amount of memory it has allocated internally matches the size of the data it is actually holding.
  • Hashtable::EnsureSize() and Queue::EnsureSize() now take an optional (allowShrink) argument, that (if set to true) allows the object's internally-allocated array to be reallocated smaller if it is larger than necessary.
  • Tweaked the buffer-expansion behavior of the String class to be a bit more efficient.
  • Added a guard against a potential infinite recursion that could occur while logging an "OUT OF MEMORY" error after a memory allocation failure, if a LogCallback tried to allocate memory.
read full changelog

Application description

MUSCLE is an open source and freely distributed software project that has been designed from the ground up to act as a...

Add your review!