Вопрос или проблема
Я запускаю сервер Minecraft на старом мини-ПК, сервер постоянно включен и подключен к Ethernet, однако мне нужно запускать “playit” в терминале, чтобы работала переадресация порта. Обычно я просто использую SSH для входа на сервер, чтобы выполнить эту команду, но есть ли способ, чтобы система Ubuntu запускала эту команду постоянно? Терминал должен быть открыт/выполнять команду playit, чтобы переадресация порта была активна, я просто предполагал, что один раз выполненный SSH решит проблему. Однако каждый раз, когда я проверяю статус сервака с переадресацией порта, он находится в офлайне.
Да, вы можете автоматически удерживать команду playit
в работе с помощью tmux
, screen
или сервиса systemd. Вот как:
Использование tmux
(рекомендуется)
- Подключитесь к вашему серверу с помощью SSH.
- Запустите:
tmux new -s playit
- Запустите
playit
:playit
- Отсоединитесь от tmux (чтобы он работал в фоновом режиме):
НажмитеCtrl + B
, затемD
- Чтобы вновь подключиться позже:
tmux attach -t playit
Использование службы Systemd (запускается при загрузке)
- Создайте файл службы:
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
- Сохраните и выйдите (
Ctrl + X
, затемY
, затемEnter
). - Включите и запустите службу:
sudo systemctl enable playit sudo systemctl start playit
- Проверьте статус:
sudo systemctl status playit
Таким образом, playit
всегда будет работать в фоновом режиме и запускаться при загрузке. 🚀
Ответ или решение
Теория
Для обеспечения непрерывной работы Minecraft-сервера на вашем мини-ПК и автоматической запуска playit
для проброса портов, необходимо использовать специальные инструменты и методы для выполнения команд в фоновом режиме или при загрузке системы. Наиболее популярные и эффективные инструменты для решения этой задачи в Linux-системах, таких как Ubuntu, включают tmux
, screen
и службу systemd
.
Tmux и Screen — это терминальные мультиплексоры, позволяющие запускать несколько сеансов терминала в одном окне, переключаться между ними и оставлять их активными даже после завершения сеанса SSH. Это удобно для запуска playit
в отдельной сессии, которую вы можете прикрепить или отсоединить в любое время.
Systemd — это система инициализации для Linux, которая управляет службами во время загрузки системы и может автоматически запускать необходимые процессы при каждом старте. Это особенно удобно для запуска playit
без дополнительного вмешательства с вашей стороны.
Пример
Ниже приведены инструкции для запуска playit
с использованием tmux
и systemd
.
-
Использование Tmux
- Подключитесь к вашему серверу через SSH.
- Запустите новую сессию
tmux
командой:tmux new -s playit
- В этой сессии выполните команду для запуска
playit
:playit
- Отсоедините сессию, нажав
Ctrl + B
, а затемD
, чтобы процесс продолжил работать в фоновом режиме. - Чтобы вернуться к сессии в будущем, используйте:
tmux attach -t playit
-
Использование 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-сервера. Выбор подходящего метода зависит от ваших предпочтений в управлении и автоматизации процессов. Используйте рекомендуемые инструменты и поддерживайте ваше оборудование, чтобы обеспечить стабильную и эффективную работу вашего мини-ПК как сервера.