Murmur (Mumble Server) Ice Wrapper for .NET
C#
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Murmur
MurmurAdapter update license May 29, 2017
MurmurPlugin add feature to move/deaf/mute users #2 May 6, 2018
MurmurVersionCompiler fix define versions in compiler May 6, 2018
.gitignore fix define versions in compiler May 6, 2018
LICENSE import May 29, 2017
MurmurIceWrapper.sln import May 29, 2017
README.md Update README.md May 29, 2017

README.md

Murmur Ice Wrapper for .NET

This is .NET wrapper of Mumble server Ice middleware.

It is used in Yulli Mur and in production for Free Mumble Server and CleanVoice Control Panel.

Obtaining

Download an archive from Releases, put all the files into a directory with your program and reference MurmurAdapter and MurmurVersion to your project.

Usage Example

try
{
	// create adapter for Murmur_1.2.9.dll
	var instance = new MurmurAdapter.Adapter("1.2.9").Instance;
	instance.Connect("127.0.0.1", 6502, "secret");

	int users = 0;
	foreach (var s in instance.GetAllServers())
	{
		if (s.Value.IsRunning())
		{
			users += s.GetOnline();
			Console.WriteLine("[0] {1} users online", s.Value.Port, users);
		}
	}
	Console.WriteLine("\nOverall users online: {0}", users);
}
catch (ConnectionRefusedException e)
{
	Console.WriteLine("Could not connect");
}
catch (InvalidSecretException e)
{
	Console.WriteLine("Wrong Ice secret");
}
catch (Exception e)
{
	Console.WriteLine(e.Message);
}

Projects

Murmur

The main wrapper implementation. But it should not be referenced to your project. It loaded by MurmurAdapter at runtime.

You have to reference only MurmurAdapter and MurmurPlugin.

MurmurAdapter

Adapter that used to connect different Murmur Ice slice versions.

You can have several Ice connections with different slice versions inside one project.

MurmurPlugin

Contain types and interfaces for Murmur.

MurmurVersionCompiler

Compiler for Murmur. When start it iterates MurmurVersionCompiler\Slice\*.cs files and replace Murmur.cs inside Murmur project with the subsequent build the project.

Thus each Ice slice will be compiled into Murmur\bin\Murmur_{VERSION}.dll

You have to put the dlls you need into a directory with your project.

Documentation

Go to wiki