Логин:
Пароль:
Поиск:

Minecraft сервер на NetBSD

13 сентября 202234admin
    

NetBSD тоже может запускать сервер Minecraft



Вольный перевод ;) статьи Рубена Шаде: https://rubenerd.com/netbsd-can-also-run-a-minecraft-server/

В прошлый понедельник я написал следующее о нашем сервере FreeBSD Minecraft: https://rubenerd.com/how-we-run-a-minecraft-server/

Мы с Кларой запускаем Minecraft на нашем домашнем сервере FreeBSD в lail, где Java и другие зависимости хранятся в одном изолированном месте. Теоретически вы можете запустить сервер везде, где поддерживается Java, включая Linux и, возможно, даже NetBSD, хотя последнюю я не тестировал.


Ну, я решил, что не могу оставить это как есть! Хорошая новость: да, вы можете запустить сервер Minecraft и на другой моей любимой ОС. В этом посте рассказывается, как я это сделал, хотя я уверен, что есть и другие способы.

Установка Java


После того, как вы установили NetBSD, настроили сеть и включили pkgin , вам нужно получить OpenJDK для запуска Minecraft.

Для Minecraft 1.17 и более поздних версий требуется OpenJDK 17 , но OpenJDK 16 является последним в самом последнем снимке по состоянию на июль 2022 года. Вы можете выполнить поиск, чтобы подтвердить, так ли это:
pkgin search openjdk

Если все еще 16, вы можете получить текущие пакеты, открыв файл репо:
# vi /usr/pkg/etc/pkgin/repositories.conf

И изменение URI репо, в моем случае с 9.0 на 9.0_current :
https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/$arch/9.0_current/All

Примечание:
В текущей версии pkgsrc OpenJDK имеет версию 1.6 ( для релиза netbsd 9.х).
Поэтому, чтобы использовать OpenJDK 17 этой строкой мы как раз и подключаем репозиторий бинарников (пакетов) из версии 9.0_current.
А так как GENERIC-ядро NetBSD по умолчанию компилится с поддержкой разных версий релиза ( вплоть до netbsd 1.6 ), то больше никаких телодвижений делать не надо - OpenJDK17 запуститься в режиме бинарной совместимости. Очень удобно!
Так же GENERIC-ядро NetBSD по умолчанию компилится с поддержкой бинарной совместимости Linux ( linux-compat ).


Большое спасибо ryoon@ за работу над этим (в оригинале ссылка на добавление ryoon@ поддержки OpenJDK в netbsd-current ) . Он так много делает для сообщества NetBSD (в оригинале ссылка в pkgsrc где он является майнтейнером https://pkgsrc.se/bbmaint.php?maint=ryoon%7Ca%7CNetBSD.org), что я чувствую себя обязанным ему хотя бы чашечкой кофе или пива, когда в следующий раз смогу поехать в Японию. (От себя бы добавил еще пару другую ящиков пива, или чая, или чего еще покрепче - настолько реально он много делает! up )

Теперь мы можем установить вместе с несколькими другими полезными инструментами:
# pkgin install -v openjdk17 fetch tmux

Запуск Майнкрафт


Отсюда запуск Minecraft в основном такой же, как и для любого сервера с поддержкой Java. Я кладу все свои файлы в одно место:
# mkdir -p /opt/minecraft
# chown $YOUR_LOCAL_USER /opt/minecraft

Примечание:
В NetBSD программы по умолчанию ставятся в /usr/pkg/bin
Папки /opt в NetBSD нет. Поэтому, он и создает первой командой эту папку.
Папка /opt существует, обычно, в Linux. И именно туда ставятся программы по умолчанию в Linux.
Можно было бы где угодно создать эту папку. Но унификация путей - это правильный подход. Я тоже так делаю. Как минимум, не надо править конфигурационные файлы ;) Да и в общем - "порядок в танковых войсках" никто не отменял.


Затем войдите в систему как мой локальный пользователь и запустите:
$ cd /opt/minecraft
$ fetch $SERVER_URL_FROM_ABOVE.jar

Теперь мы можем начать!
$ openjdk17-java -jar minecraft.jar

Вы заметите, что Java выдает исключение, не поддерживаемое системой , которое слишком хорошо известно тем из нас, кто использует NetBSD. Из моего тестирования вы можете смело игнорировать это:
[ServerMain/WARN]: Failed retrieving info for group hardware
java.lang .UnsupportedOperationException: Operating system
not supported: NetBSD
at oshi.SystemInfo.createHardware(SystemInfo.java:163)

И не забудьте принять лицензионное соглашение после первого запуска сервера:
$ sed -i '' 's/eula=false/eula=true/' ./eula.txt

Создание сценария запуска



Мне нравится делать символическую ссылку на последнюю версию сервера на minecraft.jar :
$ ln -s /opt/minecraft/minecraft_server.1.19.jar minecraft.jar

Затем укажите его в файле launch.sh с помощью tmux, чтобы сохранить сервер после отключения. Мне также нравится давать Minecraft больше памяти:
#!/bin/sh
tmux new -s minecraft openjdk17-java -Xmx4096M -Xms4096m -jar minecraft.jar

Примечание: привел код в одну строку - так лучше читаемость.

Теперь мы готовы запускать!
$ chmod +x start.sh
$ ./start.sh

Примечание:
В тексте создается скрипт launch.sh
Но в конце, запускается start.sh
Возможно, надо было запускать launch.sh, и в статье ошибка..


Далее



Моим следующим шагом будет создание надлежащей среды chroot для Java и Minecraft, аналогично тому, что я делаю с тюрьмами FreeBSD. В течение многих лет у меня был надлежащий пост по исследованию chroot NetBSD; Приведу в порядок и скоро выложу.

Тем временем вы также можете установить все те же расширения и сторонние серверы, о которых я упоминал в своем посте FreeBSD Minecraft на прошлой неделе.

Я в восторге, это работает! 🧡
  • 0

Добавление комментария

Имя:
Пароль:
Email:

 Последние новости
   
Последнии комментарии
Как сменить версию php через .htacces
Автор anon (19.09.2022)
Спасибо!
Хоть у кого-то подробное объяснение!
Обновление NetBSD до STABLE
Автор anon (12.09.2022)
Кто-то еще пользуется этой системой?)
FreeSWITCH on NetBSD
Автор admin (27.11.2020)
2default
круто! хоть какой-то свежак)
да, netbsd.tea...
FreeSWITCH on NetBSD
Автор default (24.11.2020)
admin, Собрал, запустил, таки 1.8.7. С ним вполне ...
FreeSWITCH on NetBSD
Автор admin (20.11.2020)
Пробуем последнюю отсюда: https://files.freeswitch...
FreeSWITCH on NetBSD
Автор default (20.11.2020)
admin, Давай скооперируемся. И мне нужен. На FreeB...
i3lock
Автор admin (20.11.2020)
аха, спасибо. Исправили)
FreeSWITCH on NetBSD
Автор admin (20.11.2020)
default, если дело только в openssl можно старую в...
FreeSWITCH on NetBSD
Автор admin (20.11.2020)
default,
Я как-то скомпилировал FS, но версия была...
FreeSWITCH on NetBSD
Автор default (20.11.2020)
admin, 1.10 себя аналогично ведет, ветки ниже 1.10...
Календарь
« Сентябрь »
Пн Вт Ср Чт Пт Сб Вс
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
FreeServer.su