SourceSerer

A library to connect to Source Dedicated Servers CS:GO, CSS, TF2, ...

Get started

Import the library (make sure to check for the latest version).

depedencies:
    source_server: ^1.0.0

And call the SourceServer constructor.

It contains both RconServer and QueryServer instances, if you wish to use just one protocol you can still use one of those classes.

// The SourceServer constructor requires an InternetAddress and a port, if you wish to
// use the rcon connection as well you need to provide a password as well.
var server = SourceServer((await InternetAddress.lookup('hexah.net')).first, 27015);

The only required parameter is the first, password, the ip and port by default are: localhost:27015

To establish a connection to the server call the connect method. It will return a Future<void> that will be completed when the connection to the server is successfully established.

await server.connect();

Sending commands to the RCON

Use

var reply = await server.send('status');

the method command will return a Future<String> what will return the command reply.

the SourceServer provides also a way to parse the status command.

var status = wait server.getStatus();

Example reply:

{
	server: 
	{   
		hostname: Server name, 
		version: 1.36.8.2/13682 886/7424 secure  [G:1:xxxxxxx], 
		udp/ip: xxx.xx.xxx.xx:27015  (public ip: xxx.xx.xxx.xx), 
		os: Linux, 
		type: community dedicated, 
		map: de_mirage, 
		players: 0 humans, 0 bots (16/0 max) (not hibernating)
	}, 
	//If the server is not empty it will return a list containing all the players in the server (and it's info)
	players: []
}

Sending commands using the query protocol

Look in the API documentation for all the available methods, here is an example:

var info = server.getInfo();

Returns a Future<Map> holding all the (parsed) server info.

TODO

Check the issues page on github

Libraries

source_server
Support for both Query and RCON Source protocols. Refer to: https://developer.valvesoftware.com/wiki/Server_queries https://developer.valvesoftware.com/wiki/Source_RCON_Protocol for the protocols documentations.