• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~
资源图标

原创 Endstone 【免费】【endstone】进程守护插件satest-自动重启与假死检测-(suspended animation test)-全gui窗口应用程序-可指令执行假死-可自动重启 1.0.1

版权类型
原创
版权链接
#
前置组件
endstone
python
1730532479459.png


使用方法:

下载本插件压缩包
解压
把plugins文件夹内容全部复制替换
然后重启服务器即可按照本插件
打开服务器进程守护程序方法:
到服务器根目录/plugins/satest/satesttime.pyw
双击运行satesttime.pyw
默认情况下时间差超过30秒自动重启
你可以把satesttime.pyw第35行的的30改成你想要的秒数
请确保这个秒数大于服务器启动所用的时间!

Python:
import os
import re
from datetime import datetime
import tkinter as tk
import psutil
import subprocess

# 获取bedrock_server.exe的完整路径
bds_directory = os.path.join(os.path.dirname(os.path.dirname(os.getcwd())), "bedrock_server.exe")

# 获取上上上级目录
command_directory = os.path.dirname(os.path.dirname(os.path.dirname(os.getcwd())))

# 定义一个函数来更新时间、时间差和进程信息
def update_info():
    # 检查time.txt文件时间
    file_path = os.path.join(os.getcwd(), 'time.txt')
    pattern = re.compile(r'^\d{1,5}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}$')

    try:
        with open(file_path, 'r') as file:
            content = file.read().strip()

            if pattern.match(content):
                file_time = datetime.strptime(content, '%Y-%m-%d %H:%M:%S')
                current_time = datetime.now()
                time_difference = (current_time - file_time).total_seconds()

                # 更新标签显示信息
                label_file_time.config(text=f"读取的时间: {file_time.strftime('%Y-%m-%d %H:%M:%S')}")
                label_current_time.config(text=f"当前时间: {current_time.strftime('%Y-%m-%d %H:%M:%S')}")
                label_difference.config(text=f"时间差: {time_difference:.0f} 秒")

                # 检查时间差是否超过30秒
                if time_difference > 30:###就是这里<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    reset_time_difference()
                    close_bedrock_server()
                    execute_command_in_new_process()
即可!
附带测试用指令
指令/satest
执行后将服务器进入假死状态(while True:pass)
本插件可以做到进程单独对应

适用于多个服务器同时开启的情况!
作者
ye1115660
下载
145
查看
452
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部