На ВМ с образом Minecraft Server установлена версия 1.17.1 на базе ОС Centos 7.

Напоминаем, что в случае заказа сервера вы подтверждаете, что ознакомились с условиями лицензионного соглашения: 

https://account.mojang.com/documents/minecraft_eula.

Если у вас уже установлена виртуальная машина (ВМ) из образа Minecraft Server (Centos 7), то он готов и вы можете приступить к игре. Тем не менее, рекомендуется ознакомиться с некоторыми важными параметрами, которые могут пригодиться для персонализации.

Для этого следует обратиться к основным настройкам сервера, хранящимся на ВМ: /opt/minecraft/server/server.properties.

В таблице ниже приведены необходимые значения параметров, которыми можно руководствоваться для настройки сервера на своё усмотрение (под себя).

 Параметр

Значения

По умолчанию

Описание

allow-flight

true / false

false

Разрешает полеты по миру Minecraft.

allow-nether

true / false

true

Параметр определяет возможность перехода в Нижний мир. Если он отключен, то все игроки, находившиеся в Нижнем мире, будут перемещены в обычный.

broadcast-console-to-ops

true / false

true

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

broadcast-rcon-to-ops

true / false

true

Включение параметра позволяет вывести результат выполнения команды в консоли RCON всем операторам сервера.

difficulty

Строка

easy

Уровень сложности, где:
peaceful — Мирный;
easy — Лёгкий;
normal — Нормальный;
hard — Сложный.

enable-command-block

true / false

false

Позволяет использовать командный блок. Эта опция не генерируется при первой загрузке, а появляется при первой попытке использования командного блока.

enable-jmx-monitoring

true / false

false

Позволяет включить MBean с объектом 
(функция в Java, позволяющая предоставлять определенные статистические данные
для мониторинга).
net.minecraft.server:type=Server с двумя атрибутами:
averageTickTime — среднее время на совершение одного тика (в миллисекундах);
tickTimes — время совершения порядка 100 последних тиков (в наносекундах).
Связано с термином TPS.
Чтобы включить выполнение JMX в Java, необходимо задать соответствующие флаги запуска JVM. Более подробно можно ознакомиться на странице документации.

enable-query

true / false

false

Позволяет активировать протокол GameSpy4 для прослушки сервера (получении информации о сервере).

enable-rcon

true / false

true

Позволяет использовать удаленный доступ к консоли сервера.

enable-status

true / false

true

Включает отображение сервера как "онлайн" (если он запущен).
Если значение установлено на false, то в меню сетевой игры работающий сервер будет отображаться как "оффлайн", однако также сможет принимать подключения игроков.

enforce-whitelist

true / false

false

Позволяет включать/отключать перезагрузку белых списков* при заходе игрока, прежде чем отключить его от сервера.
Когда эта опция включена, сервер кикнет игрока только после того, как автоматически перезагрузит вайтлист для поиска изменений:
false - Игроки не будут отключены от сервера, если их нет в вайтлисте;
true - Игроки будут отключены от сервера, если их нет в вайтлисте.

*белые списки: система управления доступом игроков к серверу, состоящая из списка игроков, доступ которым разрешён

entity-broadcast-
range-percentage

Число (0-500)

100

Позволяет изменять дистанцию рендера энтити для клиентов в процентах.
Более высокие значения могут привести к снижению производительности сервера, поскольку чем выше значение, тем выше дальность прорисовки энтити и больше ресурсов нужно для их обработки.
Это настройка выражается в процентах (100% — по умолчанию).
Например, установка этого значения на 50 уменьшит дальность рендера энтити вдвое. Представляет собой серверный аналог изменения прорисовки у клиента.

force-gamemode

true/false

false

Параметр устанавливает для игроков, подключающихся к серверу, стандартный режим игры (если выбрано true);

gamemode

Строка

survival

Стандартный игровой режим, автоматически устанавливаемый всем впервые зашедшим на сервер игрокам. Режим отдельного игрока меняется командой /gamemode:
survival — Выживание;
creative — Творчество;
adventure — Приключение;
spectator — Наблюдение.

generator-settings

нет

Строка

Задает шаблон генерации суперплоского мира.

generate-structures

true / false

true

Включает (true)/отключает (false) генерацию структур (сокровищницы, крепости, деревни).

hardcore

true / false

false

Включает на сервере режим Хардкор. После смерти — переход в режим наблюдателя.

level-name

Имя папки

world

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

level-seed

Любое допустимое зерно


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

level-type

DEFAULT / FLAT / LARGEBIOMES / AMPLIFIED

DEFAULT

Определяет тип мира.

max-build-height

Число, кратное 16
 (64 — 256)

256

Указывает максимальную высоту постройки на вашем сервере.

max-players

Число
(0-2147483647)

20

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

motd

Строка не более 60 символов

A Minecraft Server

Описание сервера, отображаемое при подключении в списке серверов.

online-mode

true / false

false

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

op-permission-level

Число (1-4)

4

Позволяет изменять права операторов:
1 — Операторы могут ломать / ставить блоки внутри радиуса защиты территории спауна;
2 — Операторы могут использовать команды /clear, /difficulty, /effect, /gamemode, /gamerule, /give, /tp, и могут изменять командные блоки;
3 — Операторы могут использовать команды /ban, /deop, /kick, и /op;
4 — Операторы могут использовать команду /stop.

player-idle-timeout

Число

0

Если указанное отличное от 0, то игроки будут автоматически отключаться от сервера, если они ничего не делали в течение указанного времени (в минутах).

pvp

true / false

true

Включает/отключает получение урона игрокам от атак других игроков на сервере. При true игроки смогут «воевать» между собой, убивая друг друга. Если уставлено значение false, игроки не смогут наносить прямой урон друг другу.

query.port

Число (1-65535)

25565

Порт для получения информации о сервере.

rcon.password

Строка

Сгенерирован автоматически

Пароль для удаленного доступа к серверу.

rcon.port

Число (1-65535)

25575

Порт для удаленного контроля сервера.

resource-pack

Имя файла

нет

Местоположение ресурсов, которые сервер предложит загрузить игроку при соединении. В данном поле нужно указать прямую ссылку на zip-архив.

server-ip

Любой допустимый
IP-адрес

нет

Указывает IP-адрес сервера, который будет использоваться другими игроками для подключения к этому серверу. Данное поле рекомендуется оставлять пустым.

server-port

Число (1-65535)

25565

Данный параметр определяет значение порта в протоколах TCP и UDP, который будет использовать сервер игры. Стандартный для Minecraft порт — 25565. В случае его изменения не забудьте отредактировать правило брандмауэра.

snooper-enabled

true / false

true

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

spawn-animals

true / false

true

Аналогично spawn-monsters, но для дружелюбных мобов (коровы, свиньи, овцы…).

spawn-monsters

true / false

true

Если значение параметра true, то, как и в одиночной игре, в ночное время и в тёмных пещерах на карте будут появляться враждебные мобы и будут стараться нанести вред игрокам на сервере. Если значение false, враждебные мобы (например, скелеты, зомби) не будут автоматически появляться во время игры.

spawn-npcs

true / false

true

Разрешить появление NPC в деревнях.

spawn-protection

Число (1-100)

16

Радиус защиты территории спауна в блоках (эту территорию смогут изменять только операторы). Радиус 0 дает защиту единственного блока, 1 — зоны 3×3 и так далее. Эта опция не генерируется при первой загрузке, а появляется, когда первый игрок заходит на сервер. После 1.4.2 защита спауна автоматически отключается, если у сервера нет ни одного оператора.

sync-chunk-writes

true / false

true

Включает синхронную запись чанков.

view-distance

Число (3-15)

10

Регулирует радиус обновляемых чанков для отсылки игроку.
Для справки: дальность прорисовки Far в версиях до 1.7 отображает область в радиусе 10 чанков.

white-list

true / false

false

Позволяет включать/отключать использование белых списков на сервере.
При true администратору сервера необходимо будет вручную добавлять ники игроков в белый список.
Если установлено значение false, то любой игрок сможет зайти на данный сервер, зная его IP-адрес и порт. Администраторы сервера имеют возможность зайти на сервер вне зависимости от белого списка.

max-world-size

Число
(1-29999984)

29999984

Устанавливает границу мира на выбранном радиусе.

network-compression-threshold

Число n

256

Сжатие пакетов.

resource-pack-sha1

Строка

blank

Необязательный SHA-1 дайджест пакета ресурсов, в шестнадцатеричном виде в нижнем регистре. Рекомендуется указать это. Это не используется для проверки целостности пакета ресурсов, но повышает эффективность и надежность кэширования.

use-native-transport

true / false

true

Улучшение производительности сервера Linux: оптимизировать отправку / получение пакетов в Linux:
true - Включить;
false - Выключить.

max-tick-time

Число
(0 - (2^63 - 1))

60000

Максимальное количество миллисекунд, которое может занять один тик, прежде чем серверный сторожевой таймер останавливает сервер.

 В случае, если были внесены изменения, не забудьте перезапустить сервис командой:

sudo systemctl restart minecraft

Как остановить Minecraft? Что произойдет в случае перезапуска ВМ?

Для удобства пользователей (удобного управления) добавлена отдельная служба minecraft. С ее помощью можно останавливать и перезапускать Minecraft Server:

Пример запуска:

sudo systemctl start minecraft

Пример остановки:

sudo systemctl stop minecraft

Отметим, что данный сервис стоит в автозапуске с параметрами java -Xmx1024M -Xms1024M -jar minecraft_server.1.17.1.jar nogui.

В случае рестарта ВМ сервис запустится автоматически.

Параметры для запуска Minecraft Server

С учётом параметров вашей ВМ, возможно (в случае необходимости) поменять и параметры Minecraft Server, для чего вам необходимо:

  • подключиться к серверу через консоль или ssh;
  • остановить сервер minecraft командой: sudo systemctl stop minecraft;
  • открыть файл в любом текстовом редакторе, например vim:

sudo vim/etc/systemd/system/minecraft.service;

  • найти строчку ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui

и привести ее к виду:

ExecStart=/usr/bin/java –Xmx<максимальный размер выделенного пула памяти в МБ>M -Xms<начальный размер выделенного пула памяти в МБ>M -jar server.jar nogui

(например: ExecStart=/usr/bin/java –Xmx4096M –Xms2048M -jar server.jar nogui);

  • выйти из текстового редактора сохранив изменения;
  • далее необходимо выполнить команду: sudo systemctl daemon-reload;
  • запустить сервис: sudo systemctl start minecraft.

В результате ваш сервер Minecraft будет запущен с новыми параметрами.

Рекомендации по установке новых значений: не устанавливайте начальное и максимальное значения для java равное количеству заказанной оперативной памяти, так как ОС (для обеспечения работ сервисных служб) также использует оперативную память. В случае, когда вся память будет отдана для java, то сервисы внутри ВМ могут перестать работать. Рекомендуем иметь запас в 1 Гб оперативной памяти.

Из важных настроек можно отметить следующие:

  • чтобы защитить ваш сервер, не разрешайте входящие соединения, которыми вам не нужны;
  • для игры вам достаточно разрешить правило “По умолчанию” (откроет исходящие соединения) и “Разрешить Minecraft Server” (будет добавлен автоматически при создании сервера).

Подробнее о Брандмауэре можно почитать здесь.