- Linux minecraft server autostart
- Идеальный скрипт запуска сервера Minecraft
- Нужные нам команды
- Альтернативное логирование
- Аргументы запуска
- Правильный автоматический перезапуск
- Правильная автозагрузка
- Собираем модуль
- Start-Minecraft
- Register-Minecraft
- Register-Autologon
- Как пользоваться
- Завершение
- Настройка сервера Minecraft на Linux
- Приступаем к установке / настройке сервера
- 1. Копирование файлов на VDS.
- 2. Установка главному файлу прав 775
- 3. Установка Java
- 4. Тестовый запуск
- 5. Установка скрипта автоматической загрузки.
- 6. Добавление сервера Minecraft в планировщик Cron для автоперезагрузки
- Как сделать сервер Minecraft на Ubuntu 20.04
- Подготовка
- Установка среды выполнения Java
- Создание пользователя Minecraft
- Установка Minecraft на Ubuntu
- Скачивание и компиляция mcrcon
- Скачивание сервера Minecraft
- Настройка Сервера Майнкрафт
- Создание файла модуля Systemd
- Настройка брандмауэра
- Настройка резервного копирования
- Доступ к консоли Minecraft
- Выводы
Linux minecraft server autostart
Minecraft init.d script to automatic start minecraft server on boot as diferent user.
(If creating more server change minecraft1 to minecraft2 /see file minecraft2)

 ##Requirements
- debian based OS
- sudoers ( aptitude install sudo )
- nano editor ( sudo apt-get install nano )
- screen ( sudo apt-get install screen )
- downloaded minecraft/craftbukkit/spigotmc/bungeecord
- dir location of mc /opt/minecraft1/
- installed java version 8 ( sudo apt-get install oracle-java8-installer )
- user minecraft ( sudo adduser —disabled-login minecraft )
- permission for minecraft user ( sudo chown minecraft:minecraft -R /opt/minecraft1 )
paste/rewrite code from minecraft1 file minecraft1
stop Minecraft1 Server : service minecraft1 stop
start Minecraft1 Server : service minecraft1 start
Chceck java version java -version If you change /etc/init.d/minecraft1 file —> sudo minecraft1 ts3server defaults & systemctl daemon-reload
If not work starting try to stop service minecraft1 stop check screen sessions screen -ls show screen session minecraft1 screen -x minecraft1
If not work starting try to stop service minecraft1 stop and start again service minecraft1 start .
Источник
Идеальный скрипт запуска сервера Minecraft
Автор очень любит игру, и сам является администратором небольшого сервера «чисто для друзей». Как водится среди любителей, на сервере замодировано все, а это влечёт за собой нестабильность работы и как следствие падения. Так как Powershell автор знает лучше, чем расположение магазинов на своей улице, он принял решение сделать «Лучший Скрипт Для Запуска Майнкрафт 2020». Этот же скрипт послужил основой для шаблона в маркетплейсе Ruvds. Но все исходники уже есть в статье. Сейчас по порядку, как это все производилось.
Нужные нам команды
Альтернативное логирование
Однажды поставив еще пару модов я обнаружил, что сервер, судя по всему, падает без объявления войны. Сервер не писал ошибки в latest.log или в debug, а консоль, которая по идее эту ошибку должна была написать и остановиться, была закрыта.
Не хочет писать – не нужно. У нас есть Powershell с командлетом Tee-Object, который берёт объект и выводит его в файл и в консоль одновременно.
Таким образом, Powershell будет забирать StandardOutput и записывать его в файл. Не пытайтесь использовать Start-Process, потому что он вернет System.ComponentModel.Component, а не StandardOutput, а -RedirectStandardOutput сделает невозможным ввод в консоль, чего мы хотим избежать.
Аргументы запуска
Поставив ту самую пару модов, автор заметил, что на сервере к тому же не хватает оперативной памяти. А это нужно менять аргументы запуска. Вместо того чтобы каждый раз менять их в start.bat, который все используют просто используйте этот скрипт.
Так как Tee-Object читает StandardOutput, только когда исполняемый файл вызывается «Прямо так», придется сделать еще один скрипт. Этот скрипт будет запускать сам майнкрафт. Начнем с аргументов.
Чтобы в будущем предаваться ультимативной лени, скрипт должен собирать аргументы запуска на лету. Для этого начнем с поиска последней версии forge.
С помощью sort-object мы всегда будем брать объект с самой большой циферкой, сколько бы вы туда их не положили. Ультимативная лень.
Теперь нужно назначить серверу память. Для этого берем количество системной памяти и записываем его сумму в string.
Правильный автоматический перезапуск
Автор видел .bat файлы от других людей, но они не учитывали причину, по которой сервер был остановлен. Это неудобно, что если нужно просто поменять файл мода или удалить что-то?
Теперь сделаем правильный перезапуск. Автор ранее натыкался на странные скрипты, которые перезапускали сервер не смотря на то, почему сервер завершил работу. Мы же будем использовать exitcode. Java использует 0 как успешное завершение, отсюда и будем плясать.
Сначала создадим функцию, которая будет перезапускать сервер в случае его неудачного завершения его работы.
Скрипт останется в цикле до тех пор, пока сервер из своей же консоли не завершит работу штатно, с помощью команды /stop.
Если мы все решили автоматизировать, то неплохо бы и собирать дату запуска, завершения, а также, причину завершения.
Для этого мы записываем результат Start-Process в переменную. В скрипте это выглядит так:
А дальше записываем результаты в файл. Вот что возвращается нам в переменную:
Все это с помощью Add-Content можно добавить в файл. Немного причесав, получаем такой скрипт, а на зовем его handler.ps1.
Теперь давайте оформим скрипт с запуском handler’a.
Правильная автозагрузка
Автор хочет одним модулем запускать майнкрафт различных версий из любых путей, а также иметь возможность складывать логи в конкретную папку.
Проблема заключается в том, что процесс должен запустить пользователь, который находится в системе. Это можно делать через рабочий стол или WinRm. Если запускать сервер от имени системы или даже администратора, но не входить в систему, то Server.jar не сможет даже прочитать eula.txt и запуститься.
Включить автовход в систему мы можем с помощью добавления трех записей в реестр.
Это небезопасно. Логин и пароль указываются тут плейнтекстом, поэтому под запуск сервера нужно заводить отдельного пользователя, который имеет доступ на уровне пользователя, или в еще более узкой группе. Использовать стандартного администратора для этого категорически не рекомендуется.
С автовходом разобрались. Теперь нужно зарегистрировать новую таску под сервер. Запускать будем команду из Powershell, поэтому выглядеть это будет так:
Собираем модуль
Теперь давайте оформим все в модули, которые можно будет потом использовать. Весь код готовых скриптов тут, импортируйте и пользуйтесь.
Все описанное выше вы можете использовать отдельно, если не хотите заморачиваться с модулями.
Start-Minecraft
Сначала сделаем модуль, который только и будет делать, что запускать скрипт, который будет слушать и записывать standardoutput.
В блоке параметров он запрашивает из какой папки запускать майнкрафт и куда складывать лог.
А запускать майнкрафт нужно будет так:
Теперь перейдем к готовому к употреблению Handler.ps1
Чтобы наш скрипт мог принимать параметры при вызове, также нужно указывать блок параметров. Обратите внимание, он запускает Oracle Java, если вы используете другой дистрибутив, нужно будет изменить путь до исполняемого файла.
Register-Minecraft
Скрипт, практически, повторяет Start-Minecraft, за исключением того, что только регистрирует новую задачу. Принимает те же самые аргументы. Имя пользователя, если не было указано, берет текущего.
Register-Autologon
В блоке параметров скрипт принимает параметр Username и Password. Если Username не был указан, используется имя текущего пользователя.
Запуск этого скрипта выглядит так:
Как пользоваться
Сейчас рассмотрим то, как сам автор пользуется всем этим. Как правильно нужно разворачивать публичный сервер Minecraft на Windows. Начнем с самого начала.
1. Создаем пользователя
2. Регистрируем задание по запуску скрипта
Можете зарегистрировать с помощью модуля, так:
Или воспользоваться стандартными средствами:
3. Включаем автовход в систему и перезагружаем машину
Завершение
Автор делал скрипт, в том числе и для себя, поэтому, с удовольствием выслушает ваши предложения по улучшению скрипта. Автор надеется, что весь этот код был для вас хотя бы минимально полезен, а статья интересна.
Источник
Настройка сервера Minecraft на Linux
В этой статье будет описано как настроить игровой сервер майнкрафт на Linux со всеми ньюансами которые могут получиться.
Для примера расссмотрим настройку работы сервера для Linux на Debian на одном из самых выгоднейших хостингов VDS . В этом хостинге также имеется специальный тариф для создания серверов Minecraft.
Приступаем к установке / настройке сервера
1. Копирование файлов на VDS.
Для начала кидаем всю сборку сервера на хостинг, если такой сборки у вас нет, рекомендуется собрать её у себя на компьютере либо скачать.
2. Установка главному файлу прав 775
Указываем файлу craftbukkit- — .jar или minecraft_server.jar права на исполнение. Для осуществления этого при наличии ISP Manager’а вы можете выставить соответствующие права на выделенном файле нажав вверху кнопку «Атрибуты». Либо это действие можно впонить через терминал как chmod a+x . Будьте внимательны возможно вам будет необходимо переместиться в папку с сервером. Если у вас в корневой папке пользователя файлы сервера лежат в папке, например, mcserv то необходимо выполнить команду в 2 шага. Сначала cd mcserv а уже затем chmod a+x
Что ж папки сервера у нас в порядке, приступим к установке Java.
3. Установка Java
Для установки Java на Debian’е необходимо ввести в терминале слудующую команду устанавливающую из репозитория сам продукт:
apt-get install openjdk-6-jre
После ввода вам возможно должны предложить согласиться с установкой, введите y для соглашения.
После выполнения вышеуказанных действий рекомендуется перезагрузить машину, после чего выполните dpkg —configure —a для полной конфигурации установленных пакетов. На этом установка Java завершена. Ну а больше для работоспособности сервера Minecraft ничего и не нужно.
4. Тестовый запуск
Откройте терминал SSH. с помощью команды cd перейдите в папку с сервером. Затем введите следующее: java -Xms1G -Xmx1G -jar craftbukkit- — .jar nogui , где
-Xms1G -Xmx1G Обьём памяти на который будет рассчитывать Виртуальная Java машина. 1G — 1 Гигабайт 2G — 2 Гигабайта
craftbukkit- — .jar — ваш исполняемый файл, например — craftbukkit-1.2.5-R4.1.jar.
После запуска у вас должны поочерёдно выводиться в консоли строки запуска сервера — загрузка плагинов, создание и загрузка мира и тд.
На этом всё, если вы всё сделали правильно, ваш сервер должен работать и быть доступным по умолчанию по адресу :25565. Например:
78.24.219.108:25565. Однако это пока тестовый запуск и проверка работоспособности всей настройки, скорее всего если вы закроете консоль сервер так же может быть закрыт. При желании вы можете изменить порт и прочие параметры сервера в файле server.properties.
//Будьте внимательны при размещении сервера. Если вы случайно разместите его за предалами папки пользователя от которого идёт вызов запуска — сервер будет работать очень странно и косо выкидывая сообщение «User not premium» , «Подключение прервано» или «Конец потока»
5. Установка скрипта автоматической загрузки.
Теперь для для ещё более стабильной и удобной работы мы установим скрипт автозагрузки/автоперезагрузки для Minecraft сервера.
Создайте в папке /etc/init.d/ файл без расширения с названием minecraftи наполните его содержимым:
Где измените следующие строки относительно вашей конфигурации:
SERVICE=’craftbukkit—.jar’ //ваш исполняемый файл
OPTIONS=’nogui‘ // не менять
USERNAME=’minecraft‘ //ваше имя пользователя в системе Linux
MCPATH=’/home/minecraft/minecraft‘ //ваша папка с сервером
Внимание старайтесь указывать полные пути ОТ КОРНЯ СИСТЕМЫ!
Затем, назначьте этому файлу права на исполнение
chmod a+x /etc/init.d/minecraft
и добавьте его в список автозагрузки командой:
update-rc.d minecraft defaults
Всё, на этом установка скрипта завершена, для его проверки перезапустите ваш хостинг — сервер должен включиться автоматически. или введите в терминале для запуска сервера : sh /etc/init.d/minecraft start. Так же для вас доступны команды управления сервера через терминал:
sh /etc/init.d/minecraft start — Запустить сервер
sh /etc/init.d/minecraft stop — Остановить сервер
sh /etc/init.d/minecraft restart — Перезагрузка сервера
sh /etc/init.d/minecraft status — Статус сервера
sh /etc/init.d/minecraft command — Выполнить команду на сервере от игровой консоли. Например sh /etc/init.d/minecraft command say WOW
6. Добавление сервера Minecraft в планировщик Cron для автоперезагрузки
Для пользователей имеющих ISP Manager это сущая пара пустяков. Перейдя в Cron из панели управления, нажмите вверху кнопку создать. В появившемся окошке введите полный путь от корня системы до файла minecraft с командой перезагрузки. Скорее всего у вас это будет выглядеть так /etc/init.d/minecraft restart и поставьте период каждые 3 часа.
Всё на этом небольшой гайд по установке и настройке сервера майнкрафт на Linux завершён, по поводу ошибок и неудачах пишите в комментариях.
Источник
Как сделать сервер Minecraft на Ubuntu 20.04
Minecraft — одна из самых популярных игр всех времен. Это видеоигра-песочница, в которой игроки исследуют бесконечные миры и строят различные конструкции, от простых домов до высоких небоскребов.
В этом руководстве объясняется, как создать сервер Minecraft на Ubuntu 20.04. Мы будем использовать Systemd для запуска сервера Minecraft и утилиту mcrcon для подключения к запущенному экземпляру. Мы также покажем вам, как создать задание cron, которое выполняет регулярное резервное копирование сервера.
Подготовка
Согласно официальному сайту Minecraft, в качестве минимальной конфигурации для типичной установки рекомендуется 4 ГБ ОЗУ.
Установите пакеты, необходимые для сборки инструмента mcrcon :
Установка среды выполнения Java
Minecraft требует Java 8 или выше. Серверу Minecraft не нужен графический пользовательский интерфейс, поэтому мы установим безголовую версию Java. Эта версия больше подходит для серверных приложений, поскольку у нее меньше зависимостей и меньше системных ресурсов.
Выполните следующую команду, чтобы установить пакет OpenJRE 11 без заголовка:
Проверьте установку, распечатав версию Java :
Создание пользователя Minecraft
По соображениям безопасности Minecraft не следует запускать от имени пользователя root. Мы создадим нового системного пользователя и группу с домашним каталогом /opt/minecraft . У пользователя будут минимально необходимые разрешения для запуска сервера Minecraft:
Мы не будем устанавливать пароль для этого пользователя. Таким образом, пользователь не сможет войти через SSH и его нельзя будет скомпрометировать. Чтобы перейти на пользователя minecraft , вам необходимо войти на сервер как пользователь root или пользователь с привилегиями sudo .
Установка Minecraft на Ubuntu
Перед тем как начать процесс установки, переключитесь на пользователя minecraft :
Выполните следующую команду, чтобы создать три новых каталога внутри домашнего каталога пользователя:
- В каталоге backups будут храниться резервные копии вашего сервера Minecraft. Вы можете синхронизировать этот каталог с вашим удаленным сервером резервного копирования.
- Каталог tools будет содержать клиент mcrcon и скрипт резервного копирования.
- Каталог server будет содержать фактический сервер Minecraft и его данные.
Скачивание и компиляция mcrcon
RCON — это протокол, который позволяет подключаться к серверам Minecraft и выполнять команды. mcron — это клиент RCON, написанный на C.
Мы mcrcon исходный код с GitHub и mcrcon двоичный файл mcrcon .
Tiiffi/mcrcon репозиторий Tiiffi/mcrcon с GitHub в каталог
По завершении mcron каталог mcron и mcron утилиту:
После завершения убедитесь, что mcrcon успешно скомпилирован, распечатав его версию:
Результат будет выглядеть примерно так:
Скачивание сервера Minecraft
Существует несколько модов сервера Minecraft, таких как Craftbukkit или Spigot, которые позволяют добавлять функции (плагины) на ваш сервер и дополнительно настраивать и настраивать параметры сервера.
В этом руководстве мы установим последний официальный ванильный сервер Minecraft от Mojang. Те же инструкции применимы и для установки других серверных модов.
Перейдите на страницу загрузки Minecraft, чтобы получить ссылку для загрузки последней версии файла архива Java (JAR) сервера Minecraft. На момент написания последняя версия — 1.16 .
Загрузите файл jar в каталог
/server с помощью wget :
Настройка Сервера Майнкрафт
После завершения загрузки переключитесь в каталог
/server и запустите сервер Minecraft:
При первом запуске сервер выполняет некоторые операции, создает файлы server.properties и eula.txt и останавливается.
Чтобы запустить сервер, вам необходимо согласиться с лицензионным соглашением Minecraft EULA, как указано в выходных данных выше. Откройте файл eula.txt и замените eula=false на eula=true :
Закройте и сохраните файл.
Затем откройте файл server.properties включите протокол rcon и установите пароль rcon:
Найдите следующие строки и обновите их значения, как показано ниже:
Здесь вы также можете настроить свойства сервера по умолчанию. Для получения дополнительной информации о настройках сервера посетите страницу server.properties .
Создание файла модуля Systemd
Вместо того, чтобы вручную запускать сервер Minecraft, мы создадим файл модуля Systemd и запустим Minecraft как службу.
Вернитесь к своему пользователю sudo, набрав exit .
Откройте текстовый редактор и создайте файл с именем minecraft.service в каталоге /etc/systemd/system/ :
Вставьте следующую конфигурацию:
Измените флаги Xmx и Xms соответствии с ресурсами вашего сервера. Флаг Xmx определяет максимальный пул распределения памяти для виртуальной машины Java (JVM), а Xms определяет начальный пул распределения памяти. Также убедитесь, что вы используете правильный порт rcon и пароль.
Сохраните файл и перезагрузите конфигурацию systemd manager:
Теперь вы можете запустить сервер Minecraft, набрав:
При первом запуске службы она сгенерирует несколько файлов конфигурации и каталогов, включая мир Minecraft.
Проверьте статус службы с помощью следующей команды:
Наконец, включите автоматический запуск службы Minecraft во время загрузки:
Настройка брандмауэра
Ubuntu поставляется с инструментом настройки брандмауэра под названием UFW. Если в вашей системе включен брандмауэр , и вы хотите получить доступ к серверу Minecraft извне вашей локальной сети, вам необходимо открыть порт 25565 :
Настройка резервного копирования
В этом разделе мы создадим сценарий оболочки резервного копирования и задание cron для автоматического резервного копирования сервера Minecraft.
Откройте текстовый редактор и создайте следующий файл:
Вставьте следующую конфигурацию:
Затем создайте задание cron, которое будет запускаться автоматически один раз в день в определенное время.
Откройте файл crontab, набрав:
Чтобы запускать сценарий резервного копирования каждый день в 23:00, вставьте следующую строку:
Доступ к консоли Minecraft
Для доступа к консоли Minecraft используйте утилиту mcrcon . Вам необходимо указать хост, порт rcon, пароль rcon и использовать переключатель -t который включает mcrcon терминала mcrcon :
При доступе к консоли Minecraft из удаленного места убедитесь, что порт rcon не заблокирован.
Если вы регулярно подключаетесь к консоли Minecraft, вместо того, чтобы вводить эту длинную команду, вы создаете псевдоним bash .
Выводы
Мы показали вам, как создать сервер Minecraft на Ubuntu 20.04 и настроить ежедневное резервное копирование.
Теперь вы можете запустить свой клиент Minecraft , подключиться к серверу и начать свое приключение в Minecraft.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.
Источник