Supported Platforms

Currently, full support has been developed for .NET 4.0 Client Profile or higher. More platforms will be supported later, but the following platforms currently have partial support:
  • Silverlight 4+
  • Windows Phone 7.5+
  • .NET for Windows Store apps

Specifically, the main missing functionality is the IRconConnection implementation for each platform, which is what actually connects to servers. All other code, at the moment, is portable.

Installation

To "install" this library, first add a reference to the assemblies included. You can get these either in the Downloads tab or by building them yourself.

After that, you will need to add the Microsoft.Bcl.Async NuGet package.

After it looks like the project is pretty stable, I'll go ahead and create a NuGet package for it. This project is a bit more complex, so we'll see how that goes.

Usage

There's still a big lack of documentation since it's still early in the project. If you have any questions, try the discussion board, Visual Studio's object browser, the unit tests, or the actual code.

For information on how to use certain features, try How to use certain features

Also, here's some getting started code:

RconConnection connection = new RconConnection();
connection.Hostname = "ip here pls";
connection.Port = 1337;

RconClient client = new RconClient(Connection);

client.RconEvent += (sender, args) =>
{
    Console.WriteLine("Event: {0}", args.EventName);
};

client.Connect();

client.LogOn("hunter2");

IList<string> response = Client.SendRequest("serverinfo");

PlayerCollection players = new PlayerCollection(client);
Player player = players[0];

foreach (dynamic p in players)
{
    Console.WriteLine("Player={0} Score={1}", p.Name, p.Score);
}

Ditching Microsoft.Bcl.Async

I definitely didn't want to have to add this dependency in, but it was required to make targeting the PCL a reality. If you really don't want it it, here are some rough things to mention:
  • Since the projects target PCL, you'll have to move the source files over into a new project
    • Actually, it might be better/possible to use the c# compiler to build it yourself and swap out references and stuff, since it would require a lot less manual labor
  • There may be some usage of the TaskEx class that you may need to work around.

Last edited Dec 7, 2013 at 11:19 PM by Timiz0r, version 8