Я устанавливаю сервер Minecraft в системе Ubuntu. Когда я запускаю сервер из командной строки, сервер слушает стандартный вход и отвечает на различные команды (такие как изменение игрового режима, уровня трудности или время суток):
(См. эту демонстрацию ввода команд в консоль сервера),
Мне не нравится запирать моего пользователя root для выполнения Minecraft, тем не менее, поэтому сегодня, я устанавливаю названного пользователя системы, просто, "Minecraft":
sudo adduser --system --no-create-home --home /srv/minecraft-server minecraft
sudo addgroup --system minecraft
sudo adduser minecraft minecraft # this adds user "minecraft" the group "minecraft"
и я использую файл конфигурации для запуска сервера Minecraft при том пользователе:
start on runlevel [2345]
console log
chdir /minecraft_server
setuid minecraft
setgid minecraft
respawn
respawn limit 20 5
exec /usr/bin/java -Xms1024M -Xmx1800M -jar minecraft_server.1.8.jar nogui
Я хочу отправить команды на сервер Minecraft через стандартный вход, так же, как я могу к тому, когда я запускаю его при текущем пользователе. Я попробовал su
и sudo
, но первое, кажется, проигнорировано и вторые продукты "команда, не найденная" ошибка. Так как Minecraft является пользователем системы, я предполагаю, что интерактивный вход в систему отключен.
Я работал с системами Linux немного в прошлом, но я вне своей глубины здесь. Как я могу передать команды пользователю Minecraft для передачи серверу Minecraft? Или разве который не возможен в моей текущей ситуации?
bodhi.zazen, упомянутый возможно" выполнение на экране ". Я не услышал о экран прежде, но это, кажется, решило проблему.
Первый, я должен был удалить пользователя Minecraft и воссоздать его как обычный пользователь. Тогда я дал пользователю Minecraft необходимые полномочия папке сервера Minecraft (использующий chmod). После того, как я успешно запустил сервер Minecraft с новой учетной записи пользователя Minecraft, я остановил его и запустил экранную сессию:
и затем запустил сервер Minecraft назад снова (в экране):
я тогда использовал стандартный экранный ярлык для отсоединения с экрана ( Ctrl + тогда просто d ). Сервер Minecraft продолжает работать в backround:
я могу легко повторно прикрепить для издания команд с помощью screen -r
:
я могу закончить свою сессию SSH, не закрывая сервер, затем войти в от различной машины. Например, здесь я вхожу в использовании телефона на базе Android и JuiceSSH:
(noitce, что Вы видите команды, которые я ранее дал, так как экран никогда не завершался)