Запуск Playit.gg в автоматическом режиме для поддержки портфорвардинга сервера

Вопрос или проблема

Я запускаю сервер Minecraft на старом мини-ПК, сервер постоянно включен и подключен к Ethernet, однако мне нужно запускать “playit” в терминале, чтобы работала переадресация порта. Обычно я просто использую SSH для входа на сервер, чтобы выполнить эту команду, но есть ли способ, чтобы система Ubuntu запускала эту команду постоянно? Терминал должен быть открыт/выполнять команду playit, чтобы переадресация порта была активна, я просто предполагал, что один раз выполненный SSH решит проблему. Однако каждый раз, когда я проверяю статус сервака с переадресацией порта, он находится в офлайне.

Да, вы можете автоматически удерживать команду playit в работе с помощью tmux, screen или сервиса systemd. Вот как:

Использование tmux (рекомендуется)

  1. Подключитесь к вашему серверу с помощью SSH.
  2. Запустите:
    tmux new -s playit
    
  3. Запустите playit:
    playit
    
  4. Отсоединитесь от tmux (чтобы он работал в фоновом режиме):
    Нажмите Ctrl + B, затем D
  5. Чтобы вновь подключиться позже:
    tmux attach -t playit
    

Использование службы Systemd (запускается при загрузке)

  1. Создайте файл службы:
    sudo nano /etc/systemd/system/playit.service
    
  2. Добавьте следующее содержимое:
    [Unit]
    Description=Playit Tunnel
    After=network.target
    
    [Service]
    ExecStart=/path/to/playit
    Restart=always
    User=your-username
    WorkingDirectory=/home/your-username
    StandardOutput=journal
    
    [Install]
    WantedBy=multi-user.target
    
  3. Сохраните и выйдите (Ctrl + X, затем Y, затем Enter).
  4. Включите и запустите службу:
    sudo systemctl enable playit
    sudo systemctl start playit
    
  5. Проверьте статус:
    sudo systemctl status playit
    

Таким образом, playit всегда будет работать в фоновом режиме и запускаться при загрузке. 🚀

Ответ или решение

Теория

Для обеспечения непрерывной работы Minecraft-сервера на вашем мини-ПК и автоматической запуска playit для проброса портов, необходимо использовать специальные инструменты и методы для выполнения команд в фоновом режиме или при загрузке системы. Наиболее популярные и эффективные инструменты для решения этой задачи в Linux-системах, таких как Ubuntu, включают tmux, screen и службу systemd.

Tmux и Screen — это терминальные мультиплексоры, позволяющие запускать несколько сеансов терминала в одном окне, переключаться между ними и оставлять их активными даже после завершения сеанса SSH. Это удобно для запуска playit в отдельной сессии, которую вы можете прикрепить или отсоединить в любое время.

Systemd — это система инициализации для Linux, которая управляет службами во время загрузки системы и может автоматически запускать необходимые процессы при каждом старте. Это особенно удобно для запуска playit без дополнительного вмешательства с вашей стороны.

Пример

Ниже приведены инструкции для запуска playit с использованием tmux и systemd.

  1. Использование Tmux

    • Подключитесь к вашему серверу через SSH.
    • Запустите новую сессию tmux командой:
      tmux new -s playit
    • В этой сессии выполните команду для запуска playit:
      playit
    • Отсоедините сессию, нажав Ctrl + B, а затем D, чтобы процесс продолжил работать в фоновом режиме.
    • Чтобы вернуться к сессии в будущем, используйте:
      tmux attach -t playit
  2. Использование Systemd

    • Создайте файл службы для playit:

      sudo nano /etc/systemd/system/playit.service
    • Вставьте следующий контент в файл:

      [Unit]
      Description=Playit Tunnel
      After=network.target
      
      [Service]
      ExecStart=/path/to/playit
      Restart=always
      User=your-username
      WorkingDirectory=/home/your-username
      StandardOutput=journal
      
      [Install]
      WantedBy=multi-user.target

      Замените /path/to/playit на действительный путь к вашему исполняемому файлу playit, а your-username на ваше имя пользователя.

    • Сохраните и закройте файл (нажмите Ctrl + X, затем Y и Enter).

    • Включите запуск службы при старте системы и запустите её с помощью следующих команд:

      sudo systemctl enable playit
      sudo systemctl start playit
    • Проверьте статус службы командой:

      sudo systemctl status playit

Применение

Эти методы позволяют автоматизировать процесс запуска и поддержания активности playit для вашего Minecraft-сервера. Использование tmux предлагает простое и гибкое решение для запуска playit без привязки к сеансу SSH. Это позволяет вам вручную управлять запуском, остановкой и просмотром процесса по мере необходимости.

Systemd предлагает более автоматизированное решение, где playit запускается автоматически при каждой загрузке системы. Для пользователей, предпочитающих минимальные манипуляции с сервером после первичной настройки, это решение будет предпочтительнее.

Оба метода гарантируют, что ваш сервер будет доступен через проброшенные порты, что крайне важно для бесперебойной работы вашего Minecraft-сервера. Выбор подходящего метода зависит от ваших предпочтений в управлении и автоматизации процессов. Используйте рекомендуемые инструменты и поддерживайте ваше оборудование, чтобы обеспечить стабильную и эффективную работу вашего мини-ПК как сервера.

Оцените материал
Добавить комментарий

Капча загружается...