Minecraft服务器进程间通信库。

mcipc的Python项目详细描述


MCIPC

一个minecraft进程间通信api,实现rcon查询协议。

用法

查询协议

查询protcol用于查询minecraft服务器的服务器信息。
minecraft查询协议有两种查询模式:基本统计信息完整统计信息

基本统计

要从minecraft服务器获取基本统计信息,它必须启用查询协议。
您可以通过在minecraft服务器的server.properties文件中设置enable query=true在minecraft服务器上启用查询协议。 要指定偏差端口,可以在同一文件中设置query.port=<;port>;
以下示例假设服务器在127.0.0.1和默认查询端口25565上运行:

from mcipc.query import Client

with Client('127.0.0.1', 25565) as client:
    basic_stats = client.basic_stats

print(basic_stats)

basic_stats的类型是具有以下属性的命名元组:

  • 类型:数据包类型(类型,协议信息)。
  • 会话id:查询的会话id(int,协议信息)。
  • motd:服务器当天的消息(str)。
  • 游戏类型:游戏类型(str)。
  • 映射:当前映射(str)。
  • 玩家数量:在线玩家数量(int)。
  • 最大玩家数:最大允许玩家数(int)。
  • 主机端口:服务器端口(int)。
  • 主机IP:服务器的IP地址(ip address.ipv4address)。

完整状态

要检索服务器的完整状态,同样的前提条件适用。

from mcipc.query import Client

with Client('127.0.0.1', 25565) as client:
    full_stats = client.full_stats

print(full_stats)

full_stats的类型是具有以下属性的命名元组:

  • 类型:数据包类型(类型,协议信息)。
  • 会话id:查询的会话id(int,协议信息)。
  • 主机名:服务器当天的消息(str,与basicstats.motd相同)。
  • 游戏类型:游戏类型(str)。
  • 游戏ID:游戏ID(str)。
  • 版本:游戏版本(str)。
  • 插件:使用的插件(dict)。
  • 映射:当前映射(str)。
  • 玩家数量:在线玩家数量(int)。
  • 最大玩家数:最大允许玩家数(int)。
  • 主机端口:服务器端口(int)。
  • 主机IP:服务器的IP地址(ip address.ipv4address)。
  • 播放器:在线播放器的名称(tupleofstr)。

RCON协议

rcon协议用于远程控制minecraft服务器,即执行 在minecraft服务器上执行命令并接收相应的结果。
要在minecraft服务器上启用rcon,必须在 服务器的server.properties文件。 此外,您需要通过设置rcon.port=<;port>; 在同一个文件中设置rcon.password=<;password>;的密码。
下面的示例假设服务器运行在127.0.0.1和rcon端口5000上,使用密码'mysecretpassword'

from mcipc.rcon import Client

with Client('127.0.0.1', 5000) as client:
    client.login('mysecretpassword')    # Perform initial login.
    seed = client.seed                  # Get the server's seed.
    players = client.players            # Get the server's players info.
    mansion = client.locate('Mansion')  # Get the next mansion's location.

print(seed)
print(players)
print(mansion)

seed的类型是从int派生的seed,可以像后者一样使用。
玩家的类型是玩家,命名元组:

  • 在线:在线玩家的数量(int)。
  • max:允许的最大玩家数量(int)。
  • 名称:在线播放器的名称(元组str)。

大厦的类型是位置,它描述下一个定位对象的x-y-z位置。

  • x:x坐标(int)。
  • y:y坐标(intnone)。
  • z:z坐标(int)。

提示:一个位置的y分量可以是none,它表示特殊的minectaft向量分量'~'

脚本

这个库还提供了两个脚本作为概念证明。

  • rconclt:一个rcon客户端。
  • rcon shell:一个交互式的rconshell。

rconclt

脚本rconclt是一个rcon客户端脚本,用于使用shell与minecraft服务器通信。
调用预定义的服务器配置(请参见下文):

rconclt my_server <command> [<args>...] [options]

配置

rconclt可以在/etc/mcipc.d/rcon.conf中配置

[my_server]
host = 127.0.0.1
port = 5000
passwd = mysecretpassword

passwd条目是可选的。

许可证

版权所有(c)2018 Richard Neumann<;Richard Dash Neumann Period de>;

MCIPC是免费软件:您可以重新分发和/或修改它 根据由 自由软件基金会,或者许可证的第3版,或者 (由您选择)任何更高版本。

MCIPC的发布是希望它能有用, 但没有任何保证;甚至没有 适销性为特定目的的适销性或适合性见 GNU通用公共许可证了解更多详细信息。

你应该收到GNU通用公共许可证的副本 以及MCIPC。如果没有,请参见http://www.gnu.org/licenses/" rel="nofollow">http://www.gnu.org/licenses/

法律

Minecraft内容和材料是 Mojang及其许可人。保留所有权利。 此程序是免费软件,不隶属于Mojang。

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

推荐PyPI第三方库


热门话题
javascript如何找到socket。同一局域网上的IO服务器?   将Java代码格式化为Word/RTF格式   java学习对象以及如何将分配的变量封装到私有变量   java Websocket客户端不在Tomcat中工作   java如何在点击按钮时打开本机表情键盘?   java使用哪个Maven GlassFish插件?   Eclipse Java构建路径不允许添加外部JAR   继承Java6集合。勾选适当的用法   JavaApacheDateUtils:使用多个模式解析日期   java hibernate如何生成查询?   具有id或链接的java Dropbox下载文件或文件夹   java模态对话框未在PrimeFaces 5上显示   java将类对象转换为人类可读的字符串   更新数据库中字段的java通用方法   java无法通过Apache Tomcat访问网络文件夹