Preparing for releasing.
This commit is contained in:
@@ -2,7 +2,15 @@
|
||||
# usage: MINESENTINEL mainloop.
|
||||
# author: S.A.
|
||||
# time: 2026-06-07
|
||||
# license: All rights received.
|
||||
# Copyright (c) [2026] [S.A. SNOWARE-SCU]
|
||||
# [MineSentinel] is licensed under Mulan PubL v2.
|
||||
# You can use this software according to the terms and conditions of the Mulan PubL v2.
|
||||
# You may obtain a copy of Mulan PubL v2 at:
|
||||
# http://license.coscl.org.cn/MulanPubL-2.0
|
||||
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PubL v2 for more details.
|
||||
|
||||
# main.rb 顶部添加
|
||||
begin
|
||||
@@ -19,6 +27,22 @@ require_relative 'server_status_detector'
|
||||
|
||||
MethodExecutor.record("info", "mainloop", "MineSentinel started, entering mainloop.")
|
||||
|
||||
# 初次启动:MineSentinel 先于 minecraft 启动(systemd Before=),
|
||||
# 等待服务器端口就绪,避免误判为崩溃
|
||||
INITIAL_GRACE = 300 # 初次启动等待 300 秒
|
||||
MethodExecutor.record("info", "mainloop",
|
||||
"Initial startup grace period #{INITIAL_GRACE}s — waiting for server to come up...")
|
||||
grace_deadline = Time.now + INITIAL_GRACE
|
||||
while Time.now < grace_deadline
|
||||
sleep 5
|
||||
if ServerStatusDetector::MinecraftServer.self_diag[:type]
|
||||
MethodExecutor.record("info", "mainloop",
|
||||
"Server port is open during grace period, resuming normal monitoring.")
|
||||
break
|
||||
end
|
||||
end
|
||||
MethodExecutor.record("info", "mainloop", "Grace period ended.")
|
||||
|
||||
# Functional mainloop.
|
||||
def main
|
||||
chkrslt = ServerStatusDetector::MinecraftServer.self_diag
|
||||
@@ -34,7 +58,7 @@ def main
|
||||
MethodExecutor.record("info", "mainloop", "Action: ForceResetServerProcess triggered.")
|
||||
MethodExecutor.reset_minecraft_server
|
||||
# 重启后等待服务器启动(MC服务器启动通常需要30秒~2分钟)
|
||||
cooldown = 190 # 190秒冷却期
|
||||
cooldown = 200 # 200秒冷却期
|
||||
MethodExecutor.record("info", "mainloop", "Cooling down #{cooldown}s for server startup...")
|
||||
sleep cooldown
|
||||
MethodExecutor.record("info", "mainloop", "Cooldown finished, resuming monitoring.")
|
||||
|
||||
Reference in New Issue
Block a user