Package: xrcon
Darkplaces and Quakes rcon[1]protocol and client implementation.
Works with such games likeXonotic,Nexuiz,Warsowand other games with
Quakes rcon.FeaturesSupport old Quake rcon and new Darkplaces secure rcon protocols.Support both IPv4 and IPv6 connections.Bundled console client.Well tested, test coverage near 100%.Works with python 2.7, 3.3+.Installationexecutepip install xrconor runpip install-egit+https://github.com/bacher09/xrcon#egg=xrconto install development version from githubUsageUsing as library:from xrcon.client import XRcon
rcon = XRcon('server', 26000, 'password')
rcon.connect() # create socket
try:
    data = rcon.execute('status') # on python3 data would be bytes type
finally:
    rcon.close()For more info readXRcondocstrings.Using console client:$ xrcon -s yourserver:26001 -p password commandIf you want use IPv6 address it should be put inside square brackets.
For example:$ xrcon -s [1080:0:0:0:8:800:200C:417A]:26002 -p password status
$ xrcon -s [1080:0:0:0:8:800:200C:417B] -p password statusIf port is omitted then by default would be used port 26000.
You may also change type of rcon, by default would be used secure time based
rcon protocol. This protocol works only in Darkplaces based games.
For instance:$ xrcon -s warsowserver:44400 -p password -t 0 status0 means old (unsecure) quakes rcon, 1 means secure time base rcon, and 2 is
secure challenge based rcon protocol.You may also create ini configuration file in your home directory.xrcon.ini.
For example:[DEFAULT]
server = someserver:26000
password = secret
type = 1
timeout = 0.9

[other]
server = someserver:26001

[another]
server = otherserver
password = otherpassword
type = 0
timeout = 1.2Then if you wants execute command on this servers just do:$ xrcon status # for DEFAULT server
$ xrcon -n other status # for other server
$ xrcon -n another status # for another serverAlso, there is another one CLI utility —xping. It can be used to measurerttfor server or client. It also supports other games too, so you can measure
ping for Warsow, Quake 3, Urban Terror and some other games.
Here’s an example:$ xping -c 4 pub.regulars.win
XPING pub.regulars.win (89.163.144.234) port: 26000
89.163.144.234 port=26000 time=39.36 ms
89.163.144.234 port=26000 time=39.63 ms
89.163.144.234 port=26000 time=39.83 ms
89.163.144.234 port=26000 time=39.87 ms

--- pub.regulars.win ping statistics ---
4 packets transmitted, 4 received, 0.0% packet loss
rtt min/avg/max/mdev = 39.357/39.672/39.870/0.204 msAlso, you can ping clients too, this might be helpful for server admins for
checking client networking. First, you need to determine client host and
port. You can do this viarcon statuscommand. Let’s suppose that status
command returned172.16.254.2:33045address, then xping command will be
look like this:xping-p33045 172.16.254.2. Note, that this might not work
for some clients because of firewalls and NATs.Here’s few other examples:$ xping -p 26005 mars.regulars.win  # stop it with Ctrl-C
$ xping -p 44400 -t qfusion 212.83.185.75  # ping warsow server
$ xping -p 27960 -t q3 144.76.158.173  # ping urban terror serverFor more info about CLI options checkxping--help.In some cases results of xping might be inaccurate. For example, if you
experience packet duplication or reordering. All currently supported
gaming protocols have no way to identify concrete response for probe.
Because of this, there is no way to determine if application received original
or duplicated response. It can affect result even more, if duplicated packet
will arrive some time later, so application can process it as response for
new probe.  In some cases application might detect packet duplication.LicenseLGPL[1]remote console, for more info readthis.