Minecraft服务器包装

mcserver-wrapper的Python项目详细描述


用python3编写的提取服务器状态的minecraft服务器包装器 以及在线玩家列表等等。

需要:

  • 类Unix操作系统(首选,唯一经过测试的是Linux)
  • Python3(最低版本3.3)
  • Minecraft服务器的依赖项(Java)

为了释放也需要pandoc和pypandoc来转换这个 文件。

安装

使用pip完成安装。执行此命令安装:

sudo pip install mcserver-wrapper

期望python3是默认的python版本,否则使用 pip3

mcwrapper

使用量

mcwrapper [-h] [--verbose] [--quiet] [--status-file] [--players-file]
          ...

This script is executing Minecraft server and reads its output. From output is
extracted server status and list of online players. And standard input can be
accessed by fifo file.

positional arguments:
  command             Command to be executed to start Minecraft server.

optional arguments:
  -h, --help            show this help message and exit
  --verbose, -v         Increase verbose level of output
  --quiet, -q           Decrease verbose level of output
  --status-file, -s     Outputs server status to file "status"
  --players-file, -p    Outputs list of online players to file "players"
  --mod-file MOD_FILE, -m MOD_FILE
                        Prints periodically random line from given file as
                        message of the day.
  --mod-time MOD_TIME   Period used for message of the day in seconds. In
                        default 900 (15 minutes).

工作原理

脚本正在读取minercraft服务器标准和错误输出。是的 寻找服务器状态和播放机变化的已知线路 加入和离开。Minecraft服务器输出是为 信息解析。信息被导出到工作目录 目录或WebSocket服务器。

输入管

这是Unix管道。此文件位于工作目录中,名为 作为input_pipe。此管道是Minercraft服务器标准的输入 输入。如果您具有写访问权限(默认640),则可以发送 通过写入此管道向minecraft服务器发送的任何命令。

server.pid文件

此文件包含Minecraft服务器进程的PID。这习惯了 当状态文件存在时,检测服务器是否正在运行。可能没有 对用户的用法,但不应使用。

状态文件

此文件位于工作目录中,名为status。如果它 存在,它指定服务器处于什么状态。状态可以 比利时:

  • 启动
  • 运行
  • 停止

如果文件不存在,则服务器根本不运行。

播放器文件

此文件位于状态目录中,名为players。中频服务器 正在运行,它包含在线播放器。每行的玩家名称。中频服务器 不是在运行,它的内容不一定是有效的。

当天的消息

这将在给定的时间间隔内向玩家打印各种短消息。消息 是从作为–mod file传递的文件中随机选择的行。

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

推荐PyPI第三方库


热门话题
ArrayList中实体对象上的JAVA泛型   带Redis的爪哇芹菜vs单用Redis   java在设备面向横向时隐藏标题栏/通知栏   java JXTreeTable:如何使用ComponentProvider为一列设置渲染器   java创建异常的成本与记录异常的成本相比   java在方法参数中使用setter传递新对象   java在一个类中的方法与另一个类中的方法交互时遇到问题   java如何迭代2个大小相等的ArrayList   Java getDesktop()。open在Windows中工作,但在Mac中不工作   从tomcat切换到jetty后的java“无法启动嵌入式容器”,Spring引导   java如何使用void方法   java如何在解组时在JAXB的ValidationEventHandler中获取节点值?   如何使用Akka Java API创建不响应的TCP接收器   JavaScriptjQuery在java中将记录上传到数据库时的进度条   如何在重新绘制时在java小程序中显示上一个图像