As the project's site explains:
The Jamulus software enables musicians to perform real-time jam sessions over the internet. There is one server running the Jamulus server software which collects the audio data from each Jamulus client, mixes the audio data and sends the mix back to each client.
You need the client to connect to a server. You can get the current version from Sourceforge. (You get both the latest client and server in the same install but you do not need to run a server.)
Configuration hint (channel send):
Install Reaper 32bit even if you use Reaper 64bit and make sure both have ReaRoute installed. Start up Jamulus and set it to use ReaRoute rather than your soundcard. Exit Jamulus to save that configuration.
Reaper is quite flexible but one thing you cannot do is put a send on the "MASTER" track. This means if you want to mute your hardware out and your send to ReaRoute separately via track mutes, you need to send to a track other than "MASTER" (without "MASTER" send) and then have the ReaRoute track send to master.
Start a new Reaper project. Add two tracks. Set the first track to keep Master Send enabled and add a hardware out to ReaRoute. Set the second track not to have Master Send enabled and add a hardware out to your soundcard. Set up the second track for monitoring as usual (Monitor Input, Record Input enabled) and set to Input from ReaRoute.
Now any further tracks you add (Audio In or VST) should route to the first track with Master Send disabled.
This sample project is set up as above (the hardware connections may need adjusting, of course) and includes ReaNINJAM on the MASTER track. As downloaded, it has both NINJAM and Jamulus receive disabled, with audio straight to hardware out. To enable only Jamulus, mute "MASTER" and unmute "Jamulus RX" tracks. To enable only NINJAM, leave "MASTER" unmuted and "Jamulus RX" muted. Enable FX on "MASTER".
Configuration hint (master send):
Again using Reaper and ReaRoute, this time with Jamulus as an extra output from Reaper.
Get Jamulus set up for ReaRoute, as above. Start your Reaper project and set it up as you like.
On your Reaper Master, add an additional output to ReaRoute 1/2 out.
Also add one extra track which should record/monitor ReaRoute 1/2 in, have no master/parent send but instead route directly to your hardware stereo out.
Now, when you connect to Jamulus, mute your Jamulus local channel (as you'll hear yourself twice, otherwise).
Configuration hint (no Reaper):
If you do not want to use Reaper, you can do similar configurations using Jack (Linux, Windows or Mac).
On Windows, get Jack configured to use your soundcard and make sure you have both 32bit and 64bit versions of JackRouter registered.
Use JackRouter in place of your ASIO driver outputs in your DAW and Jamulus.
Note that JackRouter will hang if Jack is not running, so always start Jack first.
Once you have Jack, your DAW and Jamulus running, you can use Jack Control to connect them together as you wish.
PHP updated: jamulus: change date unknown; ninjam: change date unknown.
Page updated: 27 March 2020
Coronavirus brings us the concept of a NINJAM private server. Also promoted the Jamulus graph to primary history display.
22 March 2020: Oops. The history graph was not refreshing. Now it does.
21 March 2020: After some positive comments, updated the "What does NINJAM do?" link.
4 February 2020: Improve styling on new link.
19 January 2020: Add "What does NINJAM do?" link.
5 January 2020: Automated monitoring is now in place for jam publishing.
27 November 2019: HTML compliance issues.
20 May 2019: Improved SVG history graph.
19 May 2019: Initial SVG history graph.
27 April 2019: Header compliance fixes.
22 April 2019: Offical recording has now started with jams being (manually, for now) published.
21 March 2019: The server is now "testing" server-side session recording.
6 March 2019: Got around to adding an example Reaper project.
15 February 2019: Added note about server scheduling priority.
20 January 2019: Streaming for DOCJ jams.
5 December 2018: Handle change in new bot name.
15 November 2018: New server, new bot to handle.
8 July 2018: Time to switch speed test pages again. Added in some more details.
10 November 2017: Replaced OpenSpeedTest with Ookla Beta. Which? SpeedTest gave similar results. Reworded comment a bit.
10 December 2015: Well, maybe now it will be the last "llcon" reference...
11 October 2015: Added some more meta tags and made a tiny formatting fix. Added OpenSpeedTest result.
18 April 2015: Add a hint about using Jack.
28 March 2015: Fix hopefully the last "llcon" reference.
26 January 2015: More bot removal. Make ninjamer stream links actually work.
24 December 2014: As you have all been so good this year, I have added a "Listen" link for the ninbot and ninjamer streams.
9 December 2014: And fixed another few remaining "llcon" references hidden deep in the code; plus a minor possible security issue. And reformat the Jamulus recent events section.
25 November 2014: Fix a few remaining "llcon" references.
15 November 2014: Fix overflowing image with the widely known "max-width: 100%" trick.
6 November 2014: DNS updated, so mentions of llcon can disappear. History graphic appeared.
4 November 2014: W00tz! Server up and page... working with a bit of a cheat (no "is alive" check).
10 August 2014: Updated offline status.
19 July 2014: PHP Update: more bot removal.
1 April 2014: PHP update: handle ninjam "Server down" responses rather than treating as a script error.
6 January 2014: Update for longer-term Jamulus outage.
18 December 2013: Mention llcon is actually called Jamulus, apparently. No one told me...
29 March 2013: PHP update: handle bots more elegantly. Oooh, OO.
7 October 2012: PHP update to handle no session max on ninjam servers.
26 September 2012: Thanks to Dodec for a page with multiple columns aligned using css and div elements.
24 July 2011: llcon history script now returns llcon server status as the previous method was unreliable.
Ninjam status script changed to cope with errors from the PHP script.
Ninjam status script changed to filter out ninjamer's Jambot (just like ninbot gets filtered out).
6 July 2011: Remove note about Casey Anthony trial now the verdict is in.
3 July 2011: Change over for ninjam to use autojam server list; also add tags for PHP update dates.
28 June 2011: Added the NINJAM/ninbot bit with a bit of a proxied cross-domain service call. And used a table for something I wanted to use columns for but couldn't get the breaks working.
25 June 2011: Created using jQuery and PHP.