Projects / MUSCLE


MUSCLE (Multi User Server Client Linking Environment) is an N-way messaging server and networking API. It includes client-side networking APIs for various languages, including C, C++, C#, Delphi, Java, and Python. MUSCLE lets programs communicate over a network via streams of serialized Message objects. The included server program ("muscled") lets its clients message each other and store information in its server-side hierarchical database. The database supports flexible queries via hierarchical wildcarding, and "live" updates via a subscription mechanism.

Operating Systems

Recent releases

  •  12 Jun 2014 04:43

    Release Notes: This release fixed a rather embarrassing bug that would prevent the PR_COMMAND_REMOVEPARAMETERS command handler from removing subscriptions that had wildcards in their subscription-path string. This could cause old subscriptions to build up over time, eventually leading to high memory usage and/or poor performance.

    •  03 Jun 2014 05:09

      Release Notes: This release improves the optional C++11 support (by adding move-constructors to the Ref and ConstRef classes), improves the handling of socket inheritance under Windows, fixes bugs in the Queue and DetectNetworkConfigChangesSession classes, and adds an optional current-directory-path argument to the sub-process launch commands of the ChildProcessDataIO class. It also adds a number of convenience methods in various places.

      •  02 Apr 2014 23:08

        Release Notes: This minor releases fixes bugs in the MemMem() function and the DataNode recycling mechanism, adds various convenience methods, and refines the detection of wildcard strings to be less conservative.

        •  08 Jan 2014 06:11

          Release Notes: This release is a very minor update. It adds a few convenience methods to the String class, and adds some minor new functionality to the DetectNetworkConfigChangesSession class. It also adds copper-detection support to the NetworkInterfaceInfo class.

          •  14 Oct 2013 17:53

            Release Notes: This versions adds proper OpenSSL support for authenticated/encrypted client-server TCP connections. OpenSSL support can be enabled by compiling with -DMUSCLE_ENABLE_SSL and then providing a public key for the clients and a private key for the server.

            Recent comments

            06 Aug 2003 16:22 jaf

            Mailing list created
            FYI, there is now a MUSCLE mailing list covering development
            and use of the MUSCLE toolkit. You can subscribe to it by
            sending an email to with the word <A
            "subscribe" in the subject line, or you can search the mailing
            list archives <a

            30 Jun 2003 01:24 Monni

            Re: Rudimentary BeShare-compatible command line chat client available

            > New version of Clyde is v1.04. It's
            > been tweaked to compile with MUSCLE
            > v1.30+.

            You need to add QueryFilter.o and ByteBuffer.o to the Makefile to get it to compile with latest MUSCLE's.

            02 Mar 2003 23:08 jaf

            Re: Rudimentary BeShare-compatible command line chat client available
            New version of Clyde is <a href="http://
  ">v1.04. It's
            been tweaked to compile with MUSCLE v1.30+.

            16 Oct 2002 08:05 job

            Confusing name
            The name of this project is rather confusing. MUSCLE is already the name of the de-facto standard smartcard environment for Linux. (Google for &quot;muscle linux&quot; and you'll see what I mean.)

            10 Apr 2002 11:35 jaf

            Re: Rudimentary BeShare-compatible command line chat client available
            Clyde 1.01 is
            here. It fixes a nasty crashing bug and adds a few minor features.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.