Больше не может править и запускать MC.Jar (Minecraft) с Ubuntu 17.10

Я не эксперт. Но у меня была аналогичная проблема, когда я настраивал вещи в compiz-config-settings-manager. Поэтому я открыл compiz из терминала, запустив: ccsm. Затем я нажал на «Ubuntu Unity Plugin», чтобы активировать его. После перезагрузки все было в порядке.

Надеюсь, что это поможет.

0
задан 28 October 2017 в 01:17

4 ответа

Я сделал сценарий, как запуск моего сервера, но должен быть лучший способ. Кроме того, не очень элегантный, просто набрав java -jar MC.jar в терминале, оба пути оставляют открытый терминал.

#!/bin/sh while true do java -Xms1024M -Xmx4G -jar -XX:+UseConcMarkSweepGC -jar MC.jar echo "If you want to completely stop the server process now, press Ctrl+C before the time is up!" echo "Rebooting in:" for i in 5 4 3 2 1 do echo "$i..." sleep 1 done echo "Rebooting now!" done
0
ответ дан 18 July 2018 в 04:24

Из вашего имени пользователя, я собираюсь предположить, что вы пытаетесь запустить выделенный сервер и опубликуете мой ответ как таковой. Эта система была проверена на битву и в настоящее время используется сетью, где я являюсь администратором инфраструктуры (наряду с другими причудливыми функциями), а также бесчисленными другими серверами начального уровня и производственными сетями.

Если вы хотите создать постоянный сервер автоматического перезапуска, вы можете посмотреть создание службы systemd для вашего сервера. Вы потеряете интерфейс графического интерфейса и безглавых, но вы все равно сможете выдавать команды на свой сервер через RCON или аналогичные.

Эффективно вам нужно будет создать нового пользователя (назовем его mcserver), который будет обрабатывать ваши серверные задачи:

sudo adduser --system --disabled-login --group --home /opt/mcserver

Затем вы захотите переключиться на этого пользователя:

sudo -u mcserver cd /opt/mcserver

Пока вы здесь, скопируйте все файлов вашего игрового сервера и т. д.

Затем создайте новый скрипт для запуска вашего сервера. Не включайте логику повторного запуска или подобное. Это будет очень просто:

#!/bin/bash /usr/bin/java -Xms1024M -Xmx4G -jar -XX:+UseConcMarkSweepGC -jar minecraft.jar --nojline --noconsole

Отметьте файл как исполняемый, используя chmod +x mcserver.sh.

Вы можете exit сеанс для mcserver, вам не понадобится

Создайте новый файл (mcserver.service) в /etc/systemd/system:

sudo nano /etc/systemd/system/mcserver.sh

В этом файле добавьте следующее содержимое:

[Unit] Description=Vanilla Minecraft Server Wants=network.target After=network.target [Service] User=mcserver Group=mcserver ProtectHome=true ProtectSystem=full PrivateDevices=true NoNewPrivileges=true PrivateTmp=true InaccessibleDirectories=/root /sys /srv -/opt /media -/lost+found ReadWriteDirectories=/var/minecraft/server WorkingDirectory=/var/minecraft/server Restart=on-failure RestartSecs=5 ExecStart=/opt/mcserver/mcserver.sh [Install] WantedBy=multi-user.target

Как только вы закончите, вам нужно активировать службу:

sudo systemctl daemon-reload sudo systemctl enable mcserver.service sudo systemctl start mcserver.service

Теперь сервер будет автоматически запускаться при загрузке системы и запускаться нормально.

Обратите внимание, что сервер будет автоматически перезагружаться при ошибке (ненулевой код выхода), поэтому /stop остановит сервер без возможности повторного вызова. Хотя вы также можете остановить сервер с systemctl stop mcserver.service, он будет небезопасным, так как сервер не сможет умело умереть. Однако вы можете использовать rcon, чтобы вышеупомянутая команда послала грациозную остановку. Это, однако, будет оставлено в качестве упражнения для читателя.

Резервные сценарии все еще могут выполняться, хотя было бы целесообразно использовать создание службы systemd , которая Записывает всю папку и сохраняет ее где-то в безопасности.

1
ответ дан 18 July 2018 в 04:24

Я сделал сценарий, как запуск моего сервера, но должен быть лучший способ. Кроме того, не очень элегантный, просто набрав java -jar MC.jar в терминале, оба пути оставляют открытый терминал.

#!/bin/sh while true do java -Xms1024M -Xmx4G -jar -XX:+UseConcMarkSweepGC -jar MC.jar echo "If you want to completely stop the server process now, press Ctrl+C before the time is up!" echo "Rebooting in:" for i in 5 4 3 2 1 do echo "$i..." sleep 1 done echo "Rebooting now!" done
0
ответ дан 24 July 2018 в 18:04

Из вашего имени пользователя, я собираюсь предположить, что вы пытаетесь запустить выделенный сервер и опубликуете мой ответ как таковой. Эта система была проверена на битву и в настоящее время используется сетью, где я являюсь администратором инфраструктуры (наряду с другими причудливыми функциями), а также бесчисленными другими серверами начального уровня и производственными сетями.

Если вы хотите создать постоянный сервер автоматического перезапуска, вы можете посмотреть создание службы systemd для вашего сервера. Вы потеряете интерфейс графического интерфейса и безглавых, но вы все равно сможете выдавать команды на свой сервер через RCON или аналогичные.

Эффективно вам нужно будет создать нового пользователя (назовем его mcserver), который будет обрабатывать ваши серверные задачи:

sudo adduser --system --disabled-login --group --home /opt/mcserver

Затем вы захотите переключиться на этого пользователя:

sudo -u mcserver cd /opt/mcserver

Пока вы здесь, скопируйте все файлов вашего игрового сервера и т. д.

Затем создайте новый скрипт для запуска вашего сервера. Не включайте логику повторного запуска или подобное. Это будет очень просто:

#!/bin/bash /usr/bin/java -Xms1024M -Xmx4G -jar -XX:+UseConcMarkSweepGC -jar minecraft.jar --nojline --noconsole

Отметьте файл как исполняемый, используя chmod +x mcserver.sh.

Вы можете exit сеанс для mcserver, вам не понадобится

Создайте новый файл (mcserver.service) в /etc/systemd/system:

sudo nano /etc/systemd/system/mcserver.sh

В этом файле добавьте следующее содержимое:

[Unit] Description=Vanilla Minecraft Server Wants=network.target After=network.target [Service] User=mcserver Group=mcserver ProtectHome=true ProtectSystem=full PrivateDevices=true NoNewPrivileges=true PrivateTmp=true InaccessibleDirectories=/root /sys /srv -/opt /media -/lost+found ReadWriteDirectories=/var/minecraft/server WorkingDirectory=/var/minecraft/server Restart=on-failure RestartSecs=5 ExecStart=/opt/mcserver/mcserver.sh [Install] WantedBy=multi-user.target

Как только вы закончите, вам нужно активировать службу:

sudo systemctl daemon-reload sudo systemctl enable mcserver.service sudo systemctl start mcserver.service

Теперь сервер будет автоматически запускаться при загрузке системы и запускаться нормально.

Обратите внимание, что сервер будет автоматически перезагружаться при ошибке (ненулевой код выхода), поэтому /stop остановит сервер без возможности повторного вызова. Хотя вы также можете остановить сервер с systemctl stop mcserver.service, он будет небезопасным, так как сервер не сможет умело умереть. Однако вы можете использовать rcon, чтобы вышеупомянутая команда послала грациозную остановку. Это, однако, будет оставлено в качестве упражнения для читателя.

Резервные сценарии все еще могут выполняться, хотя было бы целесообразно использовать создание службы systemd , которая Записывает всю папку и сохраняет ее где-то в безопасности.

1
ответ дан 24 July 2018 в 18:04
  • 1
    Это сообщение было о запуске Minecraft Game Jar. В 16.10 вы можете щелкнуть правой кнопкой мыши и открыть с помощью Java, но в 17.10 этот параметр был удален. Очень впечатляющий пост, хотя! – EODCraft Staff 10 November 2017 в 14:23
  • 2
    У Ренато А. было решение, которое я искал. – EODCraft Staff 10 November 2017 в 14:30
  • 3
    Я думаю, что это хороший учебник по маркировке сервера mc. Кудоны для вас admin – Egon Stetmann. 10 November 2017 в 18:12

Другие вопросы по тегам:

Похожие вопросы: