xrcon


Namexrcon JSON
Version 0.2 PyPI version JSON
download
home_pagehttps://github.com/bacher09/xrcon
SummaryQuake and DarkPlaces rcon client.Suppor such games like Xonotic, Nexuiz and other
upload_time2018-03-29 15:58:07
maintainer
docs_urlNone
authorSlava Bacherikov
requires_python
licenseLGPL
keywords rcon xonotic nexuiz darkplaces quake
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            xrcon
=====

.. image:: https://travis-ci.org/bacher09/xrcon.svg?branch=master
    :target: https://travis-ci.org/bacher09/xrcon

.. image:: https://ci.appveyor.com/api/projects/status/d0xmpvmpb8c9skb0?svg=true&branch=master
    :target: https://ci.appveyor.com/project/bacher09/xrcon

.. image:: https://coveralls.io/repos/bacher09/xrcon/badge.svg?branch=master
    :target: https://coveralls.io/r/bacher09/xrcon?branch=master 


Darkplaces and Quakes rcon [#rcon]_ protocol and client implementation.
Works with such games like Xonotic_, `Nexuiz`__, Warsow_ and other games with
Quakes rcon.

__ Nexuiz_wiki_

Features
--------

  * Support 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+.

Installation
------------

  * execute ``pip install xrcon``
  * or run ``pip install -e git+https://github.com/bacher09/xrcon#egg=xrcon``
    to install development version from github

Usage
-----

Using 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 read ``XRcon`` docstrings.

Using console client::

  $ xrcon -s yourserver:26001 -p password command

If 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 status

If 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 status

0 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.2

Then 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 server

Also, there is another one CLI utility — ``xping``. It can be used to measure
rtt_ for 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 ms

Also, 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 via `rcon status` command. Let's suppose that status
command returned ``172.16.254.2:33045`` address, then xping command will be
look like this: ``xping -p 33045 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 server

For more info about CLI options check ``xping --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.

License
-------
LGPL

.. [#rcon] remote console, for more info read `this`__.
__ Warsow_rcon_


.. _Xonotic: http://www.xonotic.org/
.. _Nexuiz_wiki: https://en.wikipedia.org/wiki/Nexuiz
.. _Warsow: http://www.warsow.net/
.. _Warsow_rcon: http://www.warsow.net/wiki/RCON
.. _rtt: https://en.wikipedia.org/wiki/Round-trip_delay_time
            

Raw data

            {
    "_id": null,
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "cheesecake_code_kwalitee_id": null,
    "keywords": "rcon,xonotic,nexuiz,darkplaces,quake",
    "upload_time": "2018-03-29 15:58:07",
    "author": "Slava Bacherikov",
    "home_page": "https://github.com/bacher09/xrcon",
    "github_user": "bacher09",
    "appveyor": true,
    "download_url": "https://pypi.python.org/packages/8f/95/3ec10dbf33a535204de53c337b2b2618efbf63355e182eb25075cb86df50/xrcon-0.2.tar.gz",
    "platform": "any",
    "version": "0.2",
    "cheesecake_documentation_id": null,
    "description": "xrcon\n=====\n\n.. image:: https://travis-ci.org/bacher09/xrcon.svg?branch=master\n    :target: https://travis-ci.org/bacher09/xrcon\n\n.. image:: https://ci.appveyor.com/api/projects/status/d0xmpvmpb8c9skb0?svg=true&branch=master\n    :target: https://ci.appveyor.com/project/bacher09/xrcon\n\n.. image:: https://coveralls.io/repos/bacher09/xrcon/badge.svg?branch=master\n    :target: https://coveralls.io/r/bacher09/xrcon?branch=master \n\n\nDarkplaces and Quakes rcon [#rcon]_ protocol and client implementation.\nWorks with such games like Xonotic_, `Nexuiz`__, Warsow_ and other games with\nQuakes rcon.\n\n__ Nexuiz_wiki_\n\nFeatures\n--------\n\n  * Support old Quake rcon and new Darkplaces secure rcon protocols.\n  * Support both IPv4 and IPv6 connections.\n  * Bundled console client.\n  * Well tested, test coverage near 100%.\n  * Works with python 2.7, 3.3+.\n\nInstallation\n------------\n\n  * execute ``pip install xrcon``\n  * or run ``pip install -e git+https://github.com/bacher09/xrcon#egg=xrcon``\n    to install development version from github\n\nUsage\n-----\n\nUsing as library::\n\n  from xrcon.client import XRcon\n  rcon = XRcon('server', 26000, 'password')\n  rcon.connect() # create socket\n  try:\n      data = rcon.execute('status') # on python3 data would be bytes type\n  finally:\n      rcon.close()\n\nFor more info read ``XRcon`` docstrings.\n\nUsing console client::\n\n  $ xrcon -s yourserver:26001 -p password command\n\nIf you want use IPv6 address it should be put inside square brackets.\nFor example::\n\n  $ xrcon -s [1080:0:0:0:8:800:200C:417A]:26002 -p password status\n  $ xrcon -s [1080:0:0:0:8:800:200C:417B] -p password status\n\nIf port is omitted then by default would be used port 26000.\nYou may also change type of rcon, by default would be used secure time based\nrcon protocol. This protocol works only in Darkplaces based games.\nFor instance::\n\n  $ xrcon -s warsowserver:44400 -p password -t 0 status\n\n0 means old (unsecure) quakes rcon, 1 means secure time base rcon, and 2 is \nsecure challenge based rcon protocol.\n\nYou may also create ini configuration file in your home directory\n``.xrcon.ini``. \nFor example::\n\n  [DEFAULT]\n  server = someserver:26000\n  password = secret\n  type = 1\n  timeout = 0.9\n\n  [other]\n  server = someserver:26001\n\n  [another]\n  server = otherserver\n  password = otherpassword\n  type = 0\n  timeout = 1.2\n\nThen if you wants execute command on this servers just do::\n\n  $ xrcon status # for DEFAULT server\n  $ xrcon -n other status # for other server\n  $ xrcon -n another status # for another server\n\nAlso, there is another one CLI utility \u2014 ``xping``. It can be used to measure\nrtt_ for server or client. It also supports other games too, so you can measure\nping for Warsow, Quake 3, Urban Terror and some other games.\nHere's an example::\n\n  $ xping -c 4 pub.regulars.win\n  XPING pub.regulars.win (89.163.144.234) port: 26000\n  89.163.144.234 port=26000 time=39.36 ms\n  89.163.144.234 port=26000 time=39.63 ms\n  89.163.144.234 port=26000 time=39.83 ms\n  89.163.144.234 port=26000 time=39.87 ms\n\n  --- pub.regulars.win ping statistics ---\n  4 packets transmitted, 4 received, 0.0% packet loss\n  rtt min/avg/max/mdev = 39.357/39.672/39.870/0.204 ms\n\nAlso, you can ping clients too, this might be helpful for server admins for\nchecking client networking. First, you need to determine client host and\nport. You can do this via `rcon status` command. Let's suppose that status\ncommand returned ``172.16.254.2:33045`` address, then xping command will be\nlook like this: ``xping -p 33045 172.16.254.2``. Note, that this might not work\nfor some clients because of firewalls and NATs.\n\nHere's few other examples::\n\n  $ xping -p 26005 mars.regulars.win  # stop it with Ctrl-C\n  $ xping -p 44400 -t qfusion 212.83.185.75  # ping warsow server\n  $ xping -p 27960 -t q3 144.76.158.173  # ping urban terror server\n\nFor more info about CLI options check ``xping --help``.\n\nIn some cases results of xping might be inaccurate. For example, if you\nexperience packet duplication or reordering. All currently supported\ngaming protocols have no way to identify concrete response for probe.\nBecause of this, there is no way to determine if application received original\nor duplicated response. It can affect result even more, if duplicated packet\nwill arrive some time later, so application can process it as response for\nnew probe.  In some cases application might detect packet duplication.\n\nLicense\n-------\nLGPL\n\n.. [#rcon] remote console, for more info read `this`__.\n__ Warsow_rcon_\n\n\n.. _Xonotic: http://www.xonotic.org/\n.. _Nexuiz_wiki: https://en.wikipedia.org/wiki/Nexuiz\n.. _Warsow: http://www.warsow.net/\n.. _Warsow_rcon: http://www.warsow.net/wiki/RCON\n.. _rtt: https://en.wikipedia.org/wiki/Round-trip_delay_time",
    "tox": true,
    "lcname": "xrcon",
    "name": "xrcon",
    "github": true,
    "coveralls": false,
    "bugtrack_url": null,
    "license": "LGPL",
    "travis_ci": true,
    "github_project": "xrcon",
    "summary": "Quake and DarkPlaces rcon client.Suppor such games like Xonotic, Nexuiz and other",
    "split_keywords": [
        "rcon",
        "xonotic",
        "nexuiz",
        "darkplaces",
        "quake"
    ],
    "author_email": "slava@bacher09.org",
    "urls": [
        {
            "has_sig": false,
            "upload_time": "2018-03-29T15:58:07",
            "comment_text": "",
            "python_version": "source",
            "url": "https://pypi.python.org/packages/8f/95/3ec10dbf33a535204de53c337b2b2618efbf63355e182eb25075cb86df50/xrcon-0.2.tar.gz",
            "md5_digest": "5d260e9d7919e79b7611beb94a0d2739",
            "downloads": 0,
            "filename": "xrcon-0.2.tar.gz",
            "packagetype": "sdist",
            "path": "8f/95/3ec10dbf33a535204de53c337b2b2618efbf63355e182eb25075cb86df50/xrcon-0.2.tar.gz",
            "digests": {
                "sha256": "c51b995e07f4f73ad05299de4760d3058afb5b4f0660e7364e6695a7bd6b72ab",
                "md5": "5d260e9d7919e79b7611beb94a0d2739"
            },
            "sha256_digest": "c51b995e07f4f73ad05299de4760d3058afb5b4f0660e7364e6695a7bd6b72ab",
            "size": 24072
        }
    ],
    "cheesecake_installability_id": null
}
        
Elapsed time: 0.07690s