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

"Плавное" выключение сервера .bat`ником

Тема в разделе "Управление сервером Bukkit", создана пользователем Meowt, 8 фев 2015.

  1. Автор темы
    Meowt

    Meowt Старожил Пользователь

    Баллы:
    123
    Доброго времени суток. Необходимо "плавно"(т.е. с сохранением данных: карты, файлов плагинов, etc) выключать сервер (пусть будет bukkit) выполнением обычного батника.
    Буду рад любым подсказкам.
     
    Последнее редактирование: 17 фев 2015
  2. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Закрывать не пробывали ? :D
     
  3. Автор темы
    Meowt

    Meowt Старожил Пользователь

    Баллы:
    123
  4. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    После таких "выключений" и происходят так называемые в народе "откаты".
     
  5. skynetxxx

    skynetxxx Старожил Пользователь

    Баллы:
    123
    Параметр /f тут определённо лишний, потому что он убьёт процесс не дожидаясь его завершения.
    Это так, но сервер должен уметь корректно обрабатывать сигнал на завершения процесса, сохраняя перед этим все данные.

    Выключить сервер без риска потерять какие-то данные из обычного батника невозможно.
    Нужно отправлять команду внутрь терминала, что требует специальных программных средств (на Linux можно отправлять команду внутрь screen, выключая сервер).
     
  6. Автор темы
    Meowt

    Meowt Старожил Пользователь

    Баллы:
    123
    Каким образом? Лично у меня при завершении процесса сервер перезапускается без каких-либо сохранений данных.
    Понятно, что если просто убить процесс jvm - это почти тоже самое, что выдернуть кабель из бп. К слову, мне и нужно "плавное" завершение сервера перед выключением пк без моего участия (вопросы по этому поводу можно не задавать, ибо суть темы никак к этому не относится).

    Вопрос остается актуальным.
    Мне нужно каким-то образом передать команду завершения сервера непосредственно в консоль сервера для его "плавного" завершения.

    P.S. Добавил условие "плавности" в шапку темы.
     
  7. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ок, вот тебе простенький сшник. Помести его в папку с сервером где лежит spigot.jar.
    В игре обычным шедулером выполняй стоп раз в n часов.

    Код:
    cd "`dirname "$0"`"
    echo "true" >restartserver
    while $restartserver;
    do
    java -jar spigot.jar
    read restartserver <"restartserver"
    done
    Чтоб выйти из бесконечного цикла, в файле restartserver смени true на false. В таком случае команда stop стопнит сервер без рестарта.
     
    Последнее редактирование: 17 фев 2015

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