1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Отследить когда сервер выключается

Тема в разделе "Разработка плагинов для новичков", создана пользователем reZero, 12 мар 2022.

Статус темы:
Закрыта.
  1. Автор темы
    reZero

    reZero Активный участник Пользователь

    Баллы:
    76
    Всем привет

    Возникла необходимость детектинге падения или долгого зависания сервера

    В идеале я хочу отправлять в тг оповещения о том, что сервер упал или намертво завис

    Не знаю как отследить эти два момента. Можно даже отдельным java приложением, главное отследить эти два момента

    P.S. onDisable метод не канает, так как высока вероятность "ложного" срабатывания оповещения, когда плагин просто будет рестартится через плагман
     
  2. Автор темы
    reZero

    reZero Активный участник Пользователь

    Баллы:
    76
    Какую? Где? Для чего?
    Каков принцип работы твоей задумки?
     
  3. Автор темы
    reZero

    reZero Активный участник Пользователь

    Баллы:
    76
    так а какой толк от нее?
     
  4. Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Чет я тоже не пойму что ты хочешь этим сказать...
    Мое предложение таково. Сделать отдельный плагин и не трогать его плугманом чтобы не плодить ложных срабатываний. Ну и отслеживать в onDisable.
    Если ты хочешь чтобы и при полном краше сервера(как при простом закрытии консоли) когда метод onDisable не сработает тоже было уведомление. То можно сделать отдельное приложение которое будет подключается к процессу сервера и чекать его. В jdk есть такая тема как jconsole она вроде работает по этому принципу Так что можно загуглить как реализована работа с процессами в ней и сделать также.
     
  5. Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Дополню:
    Если на java все-таки с процессами реализовать не получится то всегда есть c++ там это реализовать 100% можно. Просто гугли отслеживание процессов c++
     
  6. Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    С чего Это?
     
  7. Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Повторю. С чего Это?
     
  8. Автор темы
    reZero

    reZero Активный участник Пользователь

    Баллы:
    76
    Пока не получается найти в гугле ответа, как подключиться к процессу через джаву. Видимо я как-то не так формирую запрос
     
  9. Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Либо так просто нельзя. Я только предположил что можно.
     
  10. Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Кстати пришла еще 1 хорошая идея. Сделать какую-то прогу которая будет просто пинговать сервер через обычный java Socket и если коннект был не удачный то серв выключен.
     
  11. Автор темы
    reZero

    reZero Активный участник Пользователь

    Баллы:
    76
    Если сервер зависнет намертво, но при этом не выключится - такой способ не сработает
     
  12. Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Но зато у тебя будет еще и лог о том что серв намертво завис. В этом случае тоже нужно что-то делать ведь
     
  13. Overwrite

    Overwrite Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    artcart
  14. Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Я о том же что при установке пары рантаймов и тд все будет работать Но если челл сказал что нельзя значит нельзя((
     
  15. Overwrite

    Overwrite Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    artcart
    Да ващеееее
    Хотя че еще он может сделать, кроме как в 20 раз настрать себе в штаны :D
     
  16. Автор темы
    reZero

    reZero Активный участник Пользователь

    Баллы:
    76
    Немного не понял тебя
    Если сервер намертво зависнет, он на пинги тоже отвечать не будет?
     
  17. Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Если он завис на секунд так 10-20 то при подключении на обрабативыющий порт серва при его долгом не отвечании Socket может подумать что порт никто не обрабатывает и выбросит ту же ошибку когда его реально никто не обрабатывает. Ну или же если залаг был не долгий то сокет все же законектится что означает что серв не лег
     
  18. Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Но я бы все-таки сделал на c++ ибо лучше не пинговать сервер за зря
     
  19. Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Письками хочешь померятся?
     
  20. Автор темы
    reZero

    reZero Активный участник Пользователь

    Баллы:
    76
    Всем спасибо, остановлюсь пока на пингах через сокеты...
     
Статус темы:
Закрыта.

Поделиться этой страницей