UPDATE: MonaServer is no longer maintained, MonaServer2 is the new official version with a lot of new features.


MonaServer starts with the idea that protocols essentially serve the same aims :

  • pull data (request + response),
  • push data (server -> client or client -> server),
  • read/write file (VOD and RECORDING),
  • AND communication channel between clients (P2P or publish/play live).

And with this objective we are proud to give you a generic alternative to existing communication servers with :

  • The powerful LuaJIT compiler combined in a useful lua API to write server applications,
  • NoSQL database management system,
  • RTMFP Protocol, which provide P2P channels, UDP reliable and non-reliable communication and many other great features,
  • And all of this developed keeping in mind the 5 following notions: speed, light weight, cross-platform, scalable and elegant C++11 code.

Mona currently supports the following protocols:

  • HTTP (with JSON-RPC and XML-RPC), Websocket.

We expect to add many other protocols, such as WebRTC, HLS, IPTV, but please remember that our development is open source so contributions are greatly appreciated: $, .

You can talk with the MonaServer Community on the MonaServer forum or report a bug on the issue page.

Mona is licensed under the GNU General Public License, please contact us for a commercial license at mathieupoux@gmail.com or jammetthomas@gmail.com.

The following scheme is a little preview of what is possible with MonaServer :


To start with MonaServer read first the Quick Start guide, then you can go further with the Server Application page or simply go to the Installation page.

You want to see what MonaServer can do for you? Let’s go to the sample page :