地震和黑暗之地RCON客户端。支持Xonotic、Nexuiz等游戏

xrcon的Python项目详细描述


https://travis-ci.org/bacher09/xrcon.svg?branch=masterhttps://ci.appveyor.com/api/projects/status/d0xmpvmpb8c9skb0?svg=true&branch=masterhttps://coveralls.io/repos/bacher09/xrcon/badge.svg?branch=master

Darkplaces和Quakes rcon[1]协议和客户端实现。 与诸如XonoticNexuizWarsow等游戏和 地震RCON。

功能

  • 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+.

安装

  • execute ^{tt1}$
  • or run ^{tt2}$ to install development version from github

用法

用作库:

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()

有关详细信息,请阅读XRcondocstrings

使用控制台客户端:

$ xrcon -s yourserver:26001 -p password command

如果你想使用IPv6地址,它应该放在方括号内。 例如:

$ 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

如果省略端口,那么默认情况下将使用端口26000。 您也可以更改rcon的类型,默认情况下将使用基于安全时间的 RCON协议。此协议仅适用于基于darkplaces的游戏。 例如:

$ xrcon -s warsowserver:44400 -p password -t 0 status

0表示旧(不安全)地震RCON,1表示安全时基RCON,2表示 基于rcon协议的安全挑战。

也可以在主目录中创建ini配置文件 .xrcon.ini。 例如:

[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

如果您想在此服务器上执行命令,请执行以下操作:

$ xrcon status # for DEFAULT server
$ xrcon -n other status # for other server
$ xrcon -n another status # for another server

另外,还有一个one cli实用程序-xping。它可以用来测量 rtt用于服务器或客户端它也支持其他游戏,因此您可以测量 平为华沙,地震3,城市恐怖和一些其他游戏。 下面是一个示例:

$ 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

此外,您还可以ping客户机,这可能有助于服务器管理员 正在检查客户端网络。首先,您需要确定客户端主机和 港口。您可以通过rcon status命令执行此操作假设这个状态 命令返回172.16.254.2:33045地址,然后xping命令将是 像这样:xping -p 33045 172.16.254.2。注意,这可能行不通 因为有防火墙和NAT

下面是其他几个例子:

$ 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

有关cli选项的更多信息,请检查xping --help

在某些情况下,xping的结果可能不准确。例如,如果你 经历数据包重复或重新排序所有当前支持的 游戏协议无法识别探测器的具体响应。 因此,无法确定申请是否收到原件 或重复的回应。如果数据包重复,则会对结果产生更大的影响。 将在一段时间后到达,因此应用程序可以将其作为 新的探测器在某些情况下,应用程序可能会检测到数据包重复。

许可证

lgpl

[1]remote console, for more info read this.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java出现编译错误,我不理解   java在gnu-trove库中是否有任何有序映射?   java Servlet应该有映射,但找不到Servlet   java时间和第二期显示1:10,而不是13:10   java Play Framework 1.2.7 Heroku更新崩溃   线程“main”java中的opencsv异常。lang.NoClassDefFoundError:org/apache/commons/lang3/ObjectUtils   selenium在java中隐藏警告消息   java使用ID引用将JSON实体反序列化为POJO   java无法在JRE 8中加载字体   一个线程中的异常/错误会使整个应用程序停止吗?   java访问重复子规则的元素标签;e、 g.用ANTLR解析(1,2,3)中的a   java如何从平移旋转中找到新坐标   使用HTML Java小程序托管jar文件存在安全问题   java如何按频率而不是字母顺序排列字符串数组   java清除bufferedReader和块以获得更多输入   java解密SAML2断言