
У меня есть headless-сервер Linux, к которому я подключаюсь через SSH. Недавно я начал использовать его, в дополнение к его обычным задачам, для хостинга [игрового сервера][1], написанного на C# с помощью Mono. Он работает превосходно! Однако, если я отключаюсь от своего сеанса SSH, он зависает, и игровые клиенты отключаются.
Для запуска игрового сервера я запускаю команду mono KMPServer.exe
. После этого запускается серверное программное обеспечение и отображает информацию о конфигурации — однако игровой сервер не запустится, пока я не введу /start
.
Я не могу использовать nohup
из-за этого - процесс запуска сервера включает в себя сначала запуск его с помощью mono, а затем взаимодействие с ним с помощью него, чтобы выдать /start
команду " ". Интересно, что я также не могу перевести процесс в фоновый режим (это нормально для Mono?).
Есть ли способ запустить его так, чтобы игровой сервер не закрывался при отключении сеанса SSH?
Краткое содержание:
- Программное обеспечение сервера (неработающая ссылка удалена) представляет собой сторонний многопользовательский сервер (часть мода) дляКосмическая программа Кербала.
- Linux-сервер работает под управлением Arch Linux x86_64.
- Установленная версия Mono — 3.2.3.
решение1
Похоже, вы должны уметь использовать сеанс screen. Если вы не знакомы с инструментом screen, ознакомьтесь с man-страницами или посетитеПримеры экранных команд: получение управления терминалом Linux/Unix.
Сначала установите его с помощью pacman -S screen
. Затем начните новый сеанс с помощью screen mono KMPServer.exe
, выполните все необходимые действия и отсоедините сеанс с помощью ++ Ctrl. Если вам нужно снова присоединить сеанс, используйте .ADscreen -x