opened image

Создание серверов Minecraft Java.

Для серверов minecraft  нужна java (JDK 17+ для minecraft 1.12+ и jre8 для версий ниже 1.12)
Команда для скачивания JDK17 для Ubuntu
apt install openjdk-17-jdk openjdk-17-jre

Есть три варианта серверов.

1. Моды.

2. Плагины.

3. Чистый сервер.


Давайте разберём по категориям.


Сервер с модификациями:
Для сервера с модификациями нам нужны ядра серверов Forge либо Fabric.
Модификации могут изменить игру до неузнаваемости и добавить множество различных вещей, блоков, существ(Мобов), механик, но они так же требуют много ресурсов сервера.


В среднем сборка с 20 модификаций требует 4-10Гб оперативной памяти, конечно всё зависит от самих модификаций.


Если делать сборку с модификациями, то нужно помнить что у того кто хочет зайти на Ваш сервер должны быть все те же самые модификации что и на вашем сервере (Даже та же самая версия). Исключения только моды по типу JEI либо Minimap, либо те что оптимизируют графику например sodium на ядре fabric (Потому что они не работают с серверами, а настраивают клиент игры).


Сервера с плагинами:
В отличие от модифицированному серверу к нему можно подключиться не скачивая дополнительных ресурсов (модов). Для этого нам нужны ядра Spigot либо Bukkit.


Из-за особенностей таких сборок можно подключиться не скачивая модификации, но вот сами плагины имею ограниченный функционал. Например, можно сделать в игре транспорт (Например автомобиль), но вот они будут сделаны из блоков которые есть в чистой игре.
В таких сборках множество плагинов которые позволят как администрировать сервер, так и добавлять мини игры (BedWars тому пример).
Такие сервера лучше использовать в паре с ресурс-паками (Текстуры плюс некоторые скрипты).
Есть плагин geyserMC позволяющий заходить в java версию minecraft с телефонов. 


Чистый:
Тут можно просто использовать ядра Spigot или Buckkit либо чистое ядро с официального сайта minecraft. (Если Вам нужна конкретная версия например 1.16.5 то тогда лучше загружать Buckkit ядра так как они стабильнее чистых ядер).
Обычный майнкрафт просто по сети, никаких особенностей нет.

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


Начнём с Bukkit/Spigot (Чистые сервера устанавливаются точно так же, только скачиваются из официального сайта).
1. Выбираем папку(Директорию) где будет наш сервер. В моём случае /home/server/
2. Скачиваем ядро с сайта https://getbukkit.org/download/craftbukkit (Версию ту с которой будете заходить на сервер). Например, если сервер 1.19.2 то и клиент должен быть 1.19.2.
3. Сам файл переименовываем в server.jar (Команда для linux -  mv имя скачанного файла   server.jar). 
4. Даём разрешение на запуск командой chmod +x server.jar (Для linux)
5. Запускаем ядро командой java -Xmx500M*3 -jar server.jar --nogui *2 (В windows запускаем двойным кликом левой кнопкой мыши по файлу server.jar)
6. Как только первый раз выбьет ошибку, в папке сервера появится файл eula.txt редактируем его. В нём изменяем значение eula=false на eula=true и сохраняем.
7. Снова запускаем сервер.
Как только сервер в консоли напишет Done тогда можно заходить.
Готово Ваш сервер по сути готов.
Для запуска через bat или sh просто добавить команду старта в файл run.bat/run.sh (Файлу run.sh нужно выдать права на запуск командой chmod a+x run.sh).
Файл должен лежать в папке с сервером.

Продолжим.
Forge.
1. Скачиваем установщик с сайта https://files.minecraftforge.net/net/minecraftforge/forge/ 
Есть нюанс в том что для корректной установки нужно либо:
1,1. Запускать команду java -Xmx500M -jar имя файла.jar через mobaXterm (Для linux) (В windows просто двойной клик по файлу).

(В MobaXterm есть встроенный отрисовщик графики так что если у сервера нет даже Xserver(Отвечает за графику в linux) то некоторые окна он отрисует сам) Получим подобное окно.

Выбираем Install Server

 

 

 

 

 

 

 

1.1.2 После установки мы получим следующее окно.

Либо второй вариант. Устанавливаем у себя на персональном компьютере сервер в любую папку и её копируем на сервер.


2. Тут уже по сложнее, запускать сервер в первые разы нужно из-под папки через скрипт run.sh (run.bat - windows) так как файл самого сервера находится в папке libraries.
3. Редактируем run.sh. В конце строки, где указана команда java дописываем --nogui (это нужно дабы не появлялся графический интерфейс).
4. Как только первый раз выбьет ошибку, в папке сервера появится файл eula.txt редактируем его. В нём изменяем значение eula=false на eula=true и сохраняем.


5. Снова запускаем сервер.

Ждём в консоли сообщения Done. Дальше можно заходить на сервер.
 

Модификации добавляются в папку mods.

Fabric.
1. Скачиваем установщик с официального сайта ядра https://fabricmc.net/use/server/2. Сам файл переименовываем в server.jar (Команда для linux -  mv имя скачанного файла   server.jar). 
3. Даём разрешение на запуск командой chmod +x server.jar (Для linux)
4. Запускаем ядро командой java -Xmx500M*3 -jar server.jar --nogui *2 (В windows запускаем двойным кликом левой кнопкой мыши по файлу server.jar)
5. Как только первый раз выбьет ошибку, в папке сервера появится файл eula.txt редактируем его. В нём изменяем значение eula=false на eula=true и сохраняем.


6. Снова запускаем сервер.
Как только сервер в консоли напишет Done тогда можно заходить.


Сноски:
Нужно открыть порты *1
Если Вы захотите сделать сервер на своём компьютере, то убедитесь что у Вас статический ip так как в ином случае зайти на сервер можно будет только по локальной сети.

*1 - Порты нужно открывать те которые использует игра. (Настроить можно в файле server.propperties пункт server-port=) (стандартные 25565)
*2 - Настройка --nogui позволяет запускать приложения без графического интерфейса (нужно для сервера - не используйте для запуска установщика forge, он просто не заработает).
*3 - -Xmx500M Изменение количества мегабайт которые максимально может использовать сервер Xmx500M = 500Мб-ОЗУ  Xmx1G = 1Гб-ОЗУ.
Чанк - игровая территория размером 16х16 блоков
Моб - любое существо в игре (Корова, овца, зомби и т.д.)

Для возможности авто запуска forge серверов из под linux (в windows с авто запуском через run.bat проблем нет)
Создаём, где-либо батник start.sh (Название можно любое главное не run.sh чтобы не было путаницы).
Записываем в него следующее:
cd /home/server/ && ./run.sh 

Это позволит запустить сервер с любой папки. Без этого скрипта автозапуск можно сделать редактируя файл run.sh.


Установка для Windows не отличается никак (только установка самой jdk)
Для авто запуска нужно (нажать клавишу с логотипом Windows + R, напечатайте shell:startup, затем нажмите ОК) туда переместить ярлык run.bat либо ярлык server.jar


Конфигурационный файл, что и где изменять: server.propperties
Тут указаны основные параметры которые можно изменять, остальные лучше не трогать, если не знаете зачем они.

gamemode=survival (стандартное выживание) creative (творческий режим) adventure (ограниченное выживание) -- Изменение режима игры
motd= Описание сервера
pvp=true (Бой между игроками включён - если false то выключен)
difficulty=easy (сложность easy normal hard)
max-players=20 (максимальное количество игроков)
online-mode=true (Зайти смогут только с лицензией игры, если false то зайти смогут все)
allow-flight=false (полёт запрещён (Лучше изменить на true так как игроки могут отключиться от  игры просто когда в прыжке попытаются сесть в лодку или на моба.
view-distance=10 (количество чанков которые прогружает сервер для каждого игрока - лучше ставить 8)
server-ip= Устанавливает какой IP будет использовать игра (Вписываете сюда IP сервера)
server-port= порт по которому будут подключаться игроки (стандартный порт 25565)
white-list= включает режим белого списка, этот режим позволяет заходить только тем кто указан в белом списке.
simulation-distance= 5. Сколько чанков обрабатывает сервер (например поршень видно с расстояния 10 чанков, но работать он будет только, если игрок подойдёт к нему на расстояние 5 чанков).
force-gamemode= если включено то все кто имел режим креатива при входе на сервер будут в режиме выживания.

 

Вот такая вышла маленькая статья. В следующих статьях я напишу как делать серверы для minecraft bedrock (Телефонные, консольные, компьютерные), какие ещё есть ядра для серверов minecraft java edition.