地震和黑暗之地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第三方库


热门话题
Gson类中的java验证错误   If和elseif之间的java差异?   字典Java8地图。输入比较器   java连接到远程计算机以获得WMI支持   java如何使用改型处理JSON对象中的空值   在Java中使用Comparator时不可编译的源代码   java将Jar添加到JSP的运行时路径   带有随机对象的while循环的java大O时间复杂性   java可以在不考虑参数的情况下模拟方法吗?   java我有一个简单的代码,它不工作。无法修复错误“println”   向eclipse添加Xively java库   java是否可以启用本机代码的缓存?   全局变量如何在Java中的所有类之间共享要使用的语言环境?   Java内存游戏如何翻转单个卡?