Как выбрать сервер для Minecraft: подробный гайд по настройке, производительности и экономии
Хотите создать свой Minecraft без лагов и ограничений? Мы разберём, как развернуть игровой сервер на виртуальном сервере: от выбора железа до запуска и подключения — полный гайд для новичков и опытных пользователей.
В качестве основы для собственного экземпляра Minecraft можно использовать виртуальный выделенный сервер — VPS (Virtual Private Server). Это как арендовать отдельный компьютер в интернете: на нём можно установить Minecraft и запускать его, будто это настоящий компьютер только для вас. У вас будет доступ к памяти, процессору, диску и интернет-соединению сервера. Главное — вы сами решаете, как настроить игру: какой мир, сколько игроков, как быстро работает сервер, и он может работать круглосуточно, даже когда ваш домашний компьютер выключен.
В маркетплейсе RUVDS можно заказать уже готовую виртуальную машину с предустановленным сервером Minecraft: одна из них на Windows Server 2019 Core, другая — на CentOS 8.
Для заказа такой виртуалки достаточно кликнуть в соответствующую иконку, оплатить её аренду и, в общем-то, можно пользоваться. При этом не забудьте ознакомиться с описанием образа, которое находится под кнопкой Подробнее внутри иконки.
Мы же попробуем разобраться, как подобрать виртуальную машину для Minecraft и самостоятельно запустить игровой сервер. Погнали!
Как выбрать виртуальный сервер для Minecraft
Сервер Minecraft — это огромная симуляция мира, где каждое действие игрока, каждый блок, каждая частица, движение мобов и даже поведение воды или лавы вычисляются с помощью процессора. Всё это происходит постоянно, а значит сервер должен уметь выполнять огромное количество небольших, но частых операций. Движок Minecraft устроен таким образом, что большинство этих вычислений выполняется в одном потоке. Это означает, что в операциях используется одно ядро. Даже если у процессора 8 или даже 16 ядер, основная нагрузка ляжет только на какое-то одно из них, при этом остальные ядра будут почти без дела. Поэтому при выборе сервера для Minecraft важна не столько многопоточность, сколько производительность одного ядра. Чем быстрее ядро, тем больше операций за секунду способен обработать сервер.
Если тактовая частота ядра недостаточно высокая, сервер не будет успевать просчитывать все события за нужное время, и игра начнёт, что называется, лагать. В таких условиях мир будет подгружаться медленно, мобы — двигаться рывками, у игроков могут быть задержки между действиями. Особенно это будет заметно, если игру используют несколько игроков, или когда мир активно генерируется. В эти моменты нагрузка резко возрастает, и слабый процессор, скорее всего, не справится.
Исходя из этого следует вывод: для сервера Minecraft важен процессор с высокой тактовой частотой, а количество ядер критического значения не имеет.
Хостинг RUVDS — это виртуальные серверы на процессорах с частотой 2.2 и 3.4 ГГц. Логичным выбором выглядит процессор в 3.4 ГГц. Более того, в одном из дата-центров можно заказать виртуалку на процессоре AMD EPYC, а это уже целых 4.1 ГГц. Что касается количества ядер, то хотя главный поток остаётся один, дополнительные потоки всё-таки используются, но для второстепенных задач — обработка входящих и исходящих пакетов от игроков, сохранение мира на диск, загрузка и выгрузка чанков и т.п. Поэтому для сервера Minecraft минимум — это 2 ядра, которые впоследствии можно увеличить до 3-х или 4-х, что в случае с RUVDS делается в несколько кликов за несколько минут и без потери данных и тем более без необходимости переустановки или даже перенастройки системы.
Оперативная память — сервер Minecraft использует её для хранения всех активных данных мира и его структуры в реальном времени. Когда игрок перемещается, сервер постоянно подгружает и выгружает чанки, и эти данные временно сохраняются в ОЗУ. При этом часть памяти нужна самому Java — своеобразному двигателю, который крутит шестерёнки сервера, ведь JVM (виртуальная машина Java) тоже использует ресурсы под кэш, сборку мусора и обработку данных. Обычно Minecraft требует минимум 1–2 ГБ ОЗУ для того, чтобы просто запуститься, однако комфортная работа начинается с 4 ГБ.
Что касается дискового устройства, то здесь нужно учитывать следующее: каждый чанк, игрок, предмет — это отдельные файлы, которые сервер Minecraft постоянно сохраняет. Если использовать HDD, то это, скорее всего, приведёт к задержкам, особенно при генерации новых территорий, когда сервер постоянно обращается к диску. SSD, а особенно NVMe, справляются с этим мгновенно. Поэтому такие диски уменьшают риск лагов при автосейвах, а также при входе нескольких игроков одновременно, когда игра активно считывает данные с дискового устройства. При этом объём диска на первоначальном этапе не критичен, тем более что, как мы уже упомянули выше, изменить конфигурацию виртуалки можно легко и в любой момент. На начальном этапе 40 ГБ будет достаточно с лихвой. Хватит даже 20 ГБ, если хотите сэкономить.
Как заказать виртуальный сервер
Определившись с техническими характеристиками сервера, приступаем к его аренде. Чтобы получить виртуальный сервер, идём на сайт хостинга, регистрируемся или авторизуемся там и переходим к заказу VPS.
Здесь выбираем дата-центр и настраиваем под себя параметры конфигурации сервера. В качестве операционной системы указываем Ubuntu 24.04.
Отмечаем галочки согласия с условиями публичной оферты и на передачу и обработку персональных данных, переходим к оплате и через несколько минут получаем готовый сервер с чистой операционной системой.
Здесь необходимо остановиться на настройке минимально допустимого уровня безопасности нашего VPS.
Как подготовить сервер к установке Minecraft
После получения доступа к виртуалке производим первоначальную настройку элементарных мер обеспечения безопасности. Всё-таки сервер смотрит прямо в интернет и не защищён никакими дополнительными средствами, вся настройка безопасности — на уровне операционной системы.
Во-первых, подключаемся по SSH и добавляем в систему пользователя, которого будем использовать вместо root’а. Имя такой учётки пусть будет, например, ruvds:
adduser ruvds
Потом добавляем его в группу sudo, чтобы этот пользователь получил привилегии администратора системы:
usermod -aG sudo ruvds
Во-вторых, закрываем для root’а возможность получения доступа к системе по SSH. Для этого редактируем конфиг SSH:
nano /etc/ssh/sshd_config
Там ищем параметр PermitRootLogin и исправляем его значения с yes на no. Сохраняем изменения (Ctrl O), закрываем файл (Ctrl X) и перезапускаем конфигурацию SSH:
systemctl reload ssh
Теперь root’ом можно подключиться только из консоли. Чтобы продолжить настройку, отключаемся от сервера (Ctrl D) и подключаемся снова, но уже под именем только что добавленной учётки.
Подключившись, устанавливаем в систему брандмауэр, который закроет все порты сервера, кроме нужных нам. Для его установки запускаем команду:
sudo apt install ufw
Брандмауэр установлен, но пока не запускаем его, чтобы не потерять доступ к системе. Открываем доступ к серверу по SSH, чтобы подключаться к нему для дальнейшего администрирования и запуска Minecraft:
sudo ufw allow OpenSSH
Затем включаем ограничение количества попыток подключений к порту SSH:
sudo ufw limit ssh
Смысл этой настройки заключается в том, чтобы разрешить подключения по SSH с определённым лимитом: брандмауэр будет временно блокировать IP-адреса, с которых производится больше чем 5 попыток подключения по SSH за 30 секунд.
Для подключения к игре сервер Minecraft использует порт 25565. Поэтому его тоже надо открыть:
sudo ufw allow 25565/tcp
И вот теперь можно включить брандмауэр:
sudo ufw enable
Переходим к установке Minecraft.
Как запустить сервер Minecraft
Итак, у нас есть предварительно настроенный виртуальный сервер, на котором можно запустить игру. Чтобы превратить VPS в сервер Minecraft, необходимо установить набор программных инструментов Java Development Kit (JDK). А если точнее, то нам нужен пакет JDK версии 21. Для его установки открываем браузер, переходим на официальную страницу этого продукта и копируем ссылку на загрузку дистрибутива JDK 21 для Linux-систем.
Затем переключаемся в терминал виртуального сервера и переходим в домашнюю папку своей учётной записи, чтобы в дальнейшем не заморачиваться с правами на выполнение операций с файлами и каталогами игры, ведь если у пользователя есть домашняя папка, то с большой долей вероятности у него к ней полный доступ.
cd ~
Затем, используя утилиту wget и скопированную чуть ранее ссылку, загружаем в текущий каталог архив дистрибутива:
wget https://download.java.net/openjdk/jdk21/ri/openjdk-21+35_linux-x64_bin.tar.gz
Ждём, когда архив зальётся на сервер, после чего распаковываем его:
tar -xvf openjdk-21+35_linux-x64_bin.tar.gz
В результате у нас появилась директория jdk-21. Её переносим в каталог /opt:
sudo mv jdk-21 /opt
Затем, чтобы сделать Java доступной для нашего пользователя сейчас и при всех дальнейших подключениях, редактируем конфигурационный файл оболочки Bash:
nano ~/.bashrc
В конец файла добавляем строки:
export JAVA_HOME=/opt/jdk-21
export PATH=$JAVA_HOME/bin:$PATH
Файл сохраняем, закрываем и применяем новые настройки:
source ~/.bashrc
Чтобы убедиться в том, что всё идёт по плану, выводим на экран текущую версию Java:
java -version
Теперь здесь же, в домашней папке, создаём каталог для сервера Minecraft:
mkdir ~/minecraft
После чего переключаемся в браузер, переходим на страницу Minecraft и там копируем в буфер обмена ссылку на загрузку JAR-файла.
JAR-файл — это обычный ZIP-архив, но предназначенный для Java. В него запаковано всё, что нужно для работы программы. В случае с Minecraft такой JAR-файл можно просто запустить из командной строки. Поэтому переходим в созданный каталог:
cd ~/minecraft
Загружаем туда JAR-файл, для чего используем утилиту wget и скопированную с сайта Minecraft ссылку:
wget https://piston-data.mojang.com/v1/objects/95495a7f485eedd84ce928cef5e223b757d2f764/server.jar
И после окончания загрузки производим первый пробный запуск игрового сервера:
java -Xmx1024M -Xms1024M -jar server.jar nogui
Скорее всего, команда выдаст ошибку.
Здесь всё дело в том, что наш сервер игры не смог в текущем каталоге найти свой основной конфиг. То есть он ищет файл server.properties, которого изначально нет. Как и файла лицензионного соглашения. Оба они, как все другие, необходимые для запуска игры, сервер создал именно при первом своём старте.
В файл лицензионного соглашения всё-таки придётся внести некоторые изменения. В нём должно быть указано наше согласие с условиями соглашения, поэтому открываем файл:
nano eula.txt
Ищем в нём строку eula=false и меняем её на eula=true.
Сохраняем файл, закрываем его и снова запускаем Minecraft:
java -Xmx1024M -Xms1024M -jar server.jar nogui
Если всё нормально, то вывод должен быть примерно как на скриншоте ниже.
Если необходимо завершить работу сервера Minecraft, набираем stop или жмём Ctrl C.
Ну, и пока мы ещё находимся в стадии настройки игрового сервера, можно временно отключить проверку подлинности игроков через серверы Mojang. Для чего открываем конфигурационный файл:
nano server.properties
Ищем там параметр online-mode и устанавливаем его значение в false.
Как подключиться к игре
После успешного запуска сервера можно переходить непосредственно к исследованию виртуального мира Minecraft. Для подключения к игре нужен специальный клиент — лаунчер, который можно скачать с официального сайта.
Здесь всё просто: загружаем приложение версии, соответствующей операционной системе, устанавливаем, потом запускаем. В стартовом окне придумываем и вводим логин для игры, выбираем версию и жмём Установить.
В следующем окне выбираем Сетевая игра.
Потом кликаем По адресу.
В поле Адрес сервера вводим IP-адрес виртуалки и жмём Подключиться. При этом в терминале должен быть запущен сервер Minecraft командой:
java -Xmx1024M -Xms1024M -jar server.jar nogui
И наконец, попадаем в игру.
Тестовый запуск сервера Minecraft можно считать успешным! Для запуска игры, что называется, в «продакшн» нужно будет ещё кое-что «допилить». А именно: переключить параметр online-mode в true, чтобы запустить проверку подлинности игроков через официальные серверы Mojang или Microsoft, настроить запуск JAR-файла в фоновом режиме при помощи, например, tmux или systemd, чтобы каждый раз не включать игру вручную. Хорошо бы ещё немного повысить уровень безопасности виртуалки, изменив номер порта для доступа по SSH, настроив этот самый доступ через SSH-ключи, а не по паролю, и так далее.
💻 Виртуальные серверы по цене от 139 рублей в месяц заказывайте на сайте RUVDS. Первые 3 дня пользуйтесь VPS бесплатно!