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

Консоль после рестарта через Screen [VDS]

Тема в разделе "Управление сервером Bukkit", создана пользователем Сергей Сухушин, 29 окт 2014.

  1. deadanykey

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

    Баллы:
    96
    Выше прочтите, я дополнил свой ответ.
     
  2. Автор темы
    Сергей Сухушин

    Сергей Сухушин Активный участник Пользователь

    Баллы:
    88
    я тут понял кое-что, скрипт start.sh при рестарте запускается относительно сервера, он не распознает команду screen ;(
    Рестарт без скрина я и делал до этого, собственно по этому и пытаюсь выяснить
     
  3. deadanykey

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

    Баллы:
    96
  4. Автор темы
    Сергей Сухушин

    Сергей Сухушин Активный участник Пользователь

    Баллы:
    88
  5. deadanykey

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

    Баллы:
    96
    Кстати, а что за необходимость использовать эту команду (/restart)?
     
  6. Автор темы
    Сергей Сухушин

    Сергей Сухушин Активный участник Пользователь

    Баллы:
    88
    Смысл не в самой команде /restart. Мне нужно чтобы сервер автоматически перезагружался в определенное время, так же я хотел настроить скрипт рестарта при краше.
    Но если после этого я не смогу зайти в консоль - смысл?
     
  7. deadanykey

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

    Баллы:
    96
    Проще организовать скрипт и пусть крон его дёргает.
     
  8. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
  9. Автор темы
    Сергей Сухушин

    Сергей Сухушин Активный участник Пользователь

    Баллы:
    88
    like it! Большое спасибо!
    Закрою тему после того, как протестирую эту штуку.
     
  10. ActiveCraft

    ActiveCraft Новичок Пользователь

    Баллы:
    6
    я закрываю сервер в пути Ctrl+c а если краш и не могу нечего сделать в скрине то захожу в htop потом выбераю скрин сервера и наживаю F9 и 9 строку потом enter и воля сервер выключился
     
  11. Автор темы
    Сергей Сухушин

    Сергей Сухушин Активный участник Пользователь

    Баллы:
    88
    Вроде получилось настроить, завтра отпишу что, да как.
    Не буду игроков мучать рестартами ;)
    Срет ошибками в консоль, хотя выделил 2gb
    upload_2014-10-30_17-40-9.png
     
  12. deadanykey

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

    Баллы:
    96
    Нахрена вообще использовать какие-то сторонние поделки?
    У Вас VDS, значит, есть крон. Проблема в чём сваять скрипт?
     
  13. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Выделил RTK (ему достаточно 40 Мб) или игровому процессу сервера (wrapper.properties)?
     
  14. Автор темы
    Сергей Сухушин

    Сергей Сухушин Активный участник Пользователь

    Баллы:
    88
    wrapper.properties
    Я не совсем понимаю как это реализовать? Читал документацию по крону, все равно не понимаю.
    Можно пример?
     
  15. InterVi

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

    Баллы:
    173
    Забавная темка. Что, только я вижу?
    Код:
    screen -S test
    java -Dfile.encoding=UTF-8 -jar server.jar
    Это только у меня улыбку вызывает? Нет тут линуксоидов... :good:
    Вот примерно так надо запускать команды в скрине:
    Код:
    screen -US название bash -c "команда запуска"
    S - указание названия скрина
    U - кодировать в UTF-8 (чтоб не было кракозямбр)
    Обычно я использую -dmUS, но не помню за что первые две опции отвечают.

    Для рестарта самое простое - зациклить команду запуска. Вот так:
    Код:
    while : ; do sleep 10 && java -Xmx1G -Xms256M -XX:MaxPermSize=128M -jar /root/spigot.jar nogui; done
    Про крон читайте тут. Короче, вот:
    Код:
    crontab -e
    Туда пишем:
    Код:
    15 3 * * * screen -S название -X eval "stuff 'stop'\015"
    Каждый день в 03:15 сервер будет стопатся и перезапускатся, т.к. команда запуска зациклена.
    И вот так, на случай перезагрузки VPS:
    Код:
    @reboot /root/start.sh
    Раз уж смотрел мою статью, мог бы и до конца дочитать.
     
    Последнее редактирование: 30 окт 2014
  16. alexandrage

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

    Баллы:
    173
    ртулкит в помощь!
     
  17. InterVi

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

    Баллы:
    173
    Обобщу, а то наверняка проблемы будут. Готовый вариант выглядит так:
    start.sh:
    Код:
    cd /root/server2/
    while : ; dosleep 5 && echo "5 секунд до старта" && sleep 5
    java -Dfile.encoding=UTF-8 -jar server.jar
    echo "сервер выключился"; done
    Запуск сервера:
    Код:
    screen -US server bash -c "/root/server2/start.sh"
    Крон:
    Код:
    15 3 * * * screen -S server -X eval "stuff 'stop'\015"
    @reboot screen -US server bash -c "/root/server2/start.sh"
     
  18. Автор темы
    Сергей Сухушин

    Сергей Сухушин Активный участник Пользователь

    Баллы:
    88
    Большое спасибо!
    P.S
    Я эту статью читал полностью, и не 1 раз. Просто раньше с линуксом и дел не имел, а сервер стоял на Minecraft-хостинге myarena.
    Да емае, не получается!
    Вот что:
     
  19. InterVi

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

    Баллы:
    173
    а в скрин можешь зайти? там же видно что какой-то скрин запущен
    Код:
    screen -r server
    или
    Код:
    screen -r -d -RR server
    Он и должен в свернутом виде стартовать, а screen is terminating выдает когда скрин закрывается, но у тебя он почему-то висит. Попробуй еще полный путь до ядра прописать в start.sh:
    Код:
    java -Dfile.encoding=UTF-8 -jar /root/server2/server.jar
     
    Последнее редактирование: 31 окт 2014
  20. Автор темы
    Сергей Сухушин

    Сергей Сухушин Активный участник Пользователь

    Баллы:
    88
    Скрин server это мой основной сервер, там играют игроки и я его не трогаю. Тестирую все на другом
    Кстати, запустится мне все-таки получилось:
    Код:
    screen -S new bash -c "java -Xmx2G -Xms256M -XX:MaxPermSize=128M -jar server.jar"
    
    Но при /stop или /restart опять выдает [Screen is terminating]
    Вот файл start.sh:
    Код:
    cd newserver
    while : ; dosleep 5 && echo "5 секунд до старта" && sleep 5
    java -Dfile.encoding=UTF-8 -jar server.jar
    echo "сервер выключился"; done
     

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