[Перевод] Запускаем бесплатный мощный сервер Minecraft в облаке

Minecraft — это не просто игра. Его используют в школах для развития детей, для воссоздания архитектурных объектов, улучшения безопасности на реальных улицах. Сегодня Cloud4Y поделится интересным способом запуска бесплатного сервера Minecraft в облаке.
В этой статье я покажу, как настроить и запустить свой собственный частный выделенный сервер Minecraft в облаке. Я уже писал об этом раньше, но в прошлый раз сервер был всего с одним ядром процессора и 1 ГБ оперативной памяти. Теперь же мы будем создавать сервер с 4 ядрами ЦП и 24 ГБ ОЗУ! Этого более чем достаточно, чтобы 20 человек могли играть с отличной производительностью (при этом ещё остаются ресурсы на создание дополнительного сервера под другие нужды). И, самое главное, всё это удовольствие абсолютно бесплатно.
Почему это круто
В этом посте я покажу, как можно запустить новую виртуальную машину Oracle, которая использует новый чип на базе Arm. Эти виртуальные машины имеют почти линейное масштабирование рабочих нагрузок, а также лучшее соотношение цены и производительности по сравнению с процессорами на базе x86. Они подходят для широкого спектра рабочих нагрузок, включая веб-приложения, кодирование медиафайлов, инференс ИИ и многое другое. Здорово, что Oracle сотрудничает с разными поставщиками технологий, благодаря чему серверная разработка на Arm стала проще.
Шаг 1: регистрируем вечно бесплатный аккаунт
Если у вас ещё нет учётной записи Oracle Cloud, вам необходимо создать аккаунт «всегда бесплатно». Перейдите на cloud.oracle.com/free и нажмите «Зарегистрироваться». Если у вас уже есть учётная запись, просто залогиньтесь.

Для регистрации вам нужно будет ввести ваше имя, фамилию и email. Вы получите письмо для подтверждения адреса электронной почты.

После подтверждения почты введите пароль (# 1) и подтвердите его (# 2). Затем выберите имя для своего облачного аккаунта (# 3). Вы наверняка захотите выбрать что-то уникальное и запоминающееся, потому что в дальнейшем будете использовать именно это имя учетной записи для входа в систему. Кроме того, нужно выбрать ближайший к вам домашний регион (# 4). Я живу в Джорджии в Соединенных Штатах, поэтому домашним регионом выбрал «Восточный Эшберн США».

Введите свой домашний адрес и нажмите «Продолжить».

Теперь вам нужно ввести и подтвердить номер мобильного телефона.

Получив проверочный код, введите его на странице регистрации.

Далее нужно ввести номер банковской карты. Это нужно для проверки пользователя. Номер карты будет храниться в Oracle для упрощения перехода на платную учётную запись, если вы в будущем решите это сделать. Не волнуйтесь, с вас 100% не будет взиматься никакая плата, пока вы не решите улучшить аккаунт до платного.
Ещё раз! С вас точно никогда не будет взиматься плата за «всегда бесплатную» учётную запись. Если вы хотите перейти на платную учётку, это нужно специально делать вручную!

После того, как вы прошли верификацию по платёжному средству, можно завершать процесс регистрации. Осталось только принять условия и нажать «Start my free trial» (Начать работу с бесплатной пробной версией).

Потерпите! Подготовка новой облачной учёной записи займёт всего несколько минут. Когда всё будет готово к работе, вы получите электронное письмо. После этого можно войти в систему и продолжить изучение данного руководства.
Шаг 2: создаём экземпляр виртуальной машины
Первое, что нужно сделать, чтобы ваш сервер Minecraft заработал, — запустить новую «виртуальную машину» (ВМ) в Oracle Cloud. Делается это очень просто, нужно кликнуть «Create a VM instance» (Создать экземпляр виртуальной машины) прямо на главной странице консоли Oracle Cloud.

Дайте своему экземпляру ВМ имя (я назвал свой «minecraft-server») и выберите «compartment» (Отсек). Отсеки — это способ группировать разные вещи. Вы можете оставить отсек, который стоит по умолчанию («root»). Также укажите «домен доступности» — для наших целей подойдёт любой!

Теперь прокрутите вниз до раздела «Image and shape» (Образ и конфигурация). Убедитесь, что выбран «Oracle Linux 7.9», а затем нажмите «Change shape» (Изменить конфигурацию).

В диалоговом окне выберите тип экземпляра для виртуальной машины — «Ampere» (ARM), а в разделе «Shape series» выберите конфигурацию «VM.Standard.A1.Flex». Укажите количество ЦП и ОЗУ, которые хотите получить на своём сервере. Для «всегда бесплатных» серверов ARM можно выделять до 4 OCPU и 24 ГБ оперативной памяти. Это означает, что вы можете сделать одну виртуальную машину с 4 OCPU и 24 ГБ RAM или 4 ВМ с 1 OCPU и 6 ГБ RAM на каждой (либо любую другую комбинацию в указанных пределах). Выбор будет зависеть от того, что у вас будет располагаться на виртуальной машине.
Совет: вы можете проверить требования к серверу для Minecraft, чтобы убедиться, что ваш сервер им соответствует.
В нашем случае я выделил 2 OCPU и 6 ГБ RAM. Этого должно быть достаточно для создания надежного сервера, где одновременно могут разместиться более 20 игроков. И у меня всё ещё остаются 2 OCPU и 18 ГБ оперативной памяти на «всегда бесплатном» аккаунте для запуска других виртуальных машин.

После того, как вы выбрали конфигурацию, убедитесь, что видите отметку «Всегда бесплатно».

Далее нужно выбрать виртуальную частную сеть (VCN). Если у вас уже есть существующий VCN с общедоступной подсетью, выберите его. Если нет, нажмите «Create new virtual cloud network» (Создать новую виртуальную частную сеть). Затем выберите «Create new public subnet» (Создать общедоступную подсеть) и оставьте имена по умолчанию. Наконец, убедитесь, что выбран параметр «Assign a public iPv4» (Назначить общедоступный IPv4-адрес). Это важно, так как в противном случае вы не сможете подключиться к этому серверу из интернета!

Теперь нам нужно привязать ключи SSH к этой виртуальной машине. Если вы знакомы с концепцией SSH-ключей и уже имеете открытый ключ, который хотите использовать, выберите «Upload public key files» (Загрузить файлы открытого ключа) и загрузите свой. Если для вас это незнакомая технология, считайте SSH-ключи уникальным набором идентификаторов, которые позволяют безопасно войти на ваш сервер. Нажмите «Generate SSH key pair» (Сгенерировать пару ключей SSH) и сохраните свои закрытый и открытый ключи на локальном компьютере. Мы будем использовать их чуть позже, чтобы войти на виртуальную машину.

Оставьте значения по умолчанию и нажмите «Создать».

Вы сразу же будете перенаправлены на страницу сведений о виртуальной машине. Ваш экземпляр ВМ будет в статусе PROVISIONING
(предоставляется).

Примерно через 30–60 секунд состояние изменится на RUNNING
(Запущен). Найдите свой IP-адрес и скопируйте его.

Шаг 3: подключаемся к работающей виртуальной машине в облаке
Чтобы установить Minecraft на нашу виртуальную машину, необходимо к ней удаленно подключиться. Если вы не знакомы с технологией SSH, я рекомендую вам для начала разобраться с ней и узнать, как установить (или использовать уже установленный) клиент SSH на ваш компьютер. Процесс может несколько различаться для разных операционных систем. Вот отличная статья с инструкциями под разные ОС.
Для подключения к своей виртуальной машине вы будете использовать имя пользователя opc (Oracle Public Cloud). На своём Mac я подключаюсь с помощью следующей команды (обратите внимание, я замазал IP-адрес своего сервера):

Шаг 4: устанавливаем Java
Поскольку сервер Minecraft работает на Java, сначала необходимо установить Java Development Kit (JDK) на виртуальную машину. Вы можете узнать, какая версия JDK доступна для установки, с помощью следующей команды:
$ yum list jdk*
Вы увидите что-то типа такого:
oaded plugins: langpacks, ulninfo
Available Packages
jdk-11.0.11.0.1.aarch64 2000:11.0.11.0.1-ga ol7_oci_included
Для установки стоит выбрать самую последнюю версию (версию с наибольшим номером). Скопируйте имя пакета и установите его с помощью:
$ sudo yum install jdk-11.0.11.0.1.aarch64
После завершения установки вы можете убедится в правильности версии с помощью команды:
$ java --version
В ответ вы получите что-то вроде:
java 11.0.11.0.1 2021-03-31 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.11.0.1+1-LTS-5)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11.0.1+1-LTS-5, mixed mode)
Шаг 5: устанавливаем сервер Minecraft
И теперь мы переходим к самой увлекательной части: установке сервера Minecraft! Перейдите на эту страницу (на своём локальном компьютере, а не на виртуальной машине) и скопируйте ссылку на последнюю версию файла .jar для загрузки сервера Minecraft.

$ wget https://launcher.mojang.com/v1/objects/1b557e7b033b583cd9f66746b7a9ab1ec1673ced/server.jar
А теперь попробуйте запустить сервер с помощью:
$ java -Xmx1024M -Xms1024M -jar server.jar nogui
О нет, не сработало! Скорее всего вы увидите нечто подобное:
[19:30:33] [main/ERROR]: Failed to load properties from file: server.properties
[19:30:33] [main/WARN]: Failed to load eula.txt
[19:30:33] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Внутри каталога с файлом .JAR, появится новый файл. Откройте eula.txt с помощью Nano, чтобы отредактировать его:
$ nano eula.txt
В файле измените false
на true
.

Шаг 6: откроем порты брандмауэра, чтобы разрешить общий доступ
Прежде чем мы попытаемся запустить сервер снова, давайте скорректируем настройки сети, чтобы игроки могли получить доступ к этому серверу через брандмауэр Oracle Cloud. Вернувшись к информации о виртуальной машине, кликните ссылку для созданной (или выбранной вами) подсети.

Выберите Security List по умолчанию.

Нажмите «Добавить правила входа».

Добавьте 2 правила входа: одно для TCP и одно для UDP — каждое с »Source CIDR
» 0.0.0.0/0
и диапазоном портов назначения 25565
, как показано ниже.

Вам также необходимо открыть эти порты в брандмауэре виртуальной машины, поэтому выполните следующие команды в терминале SSH:
sudo firewall-cmd --permanent --zone=public --add-port=25565/tcp
sudo firewall-cmd --permanent --zone=public --add-port=25565/udp
sudo firewall-cmd --reload
Шаг 7: запуск сервера
$ java -Xmx1024M -Xms1024M -jar server.jar nogui
Выводы
Мы рассмотрели, как создать и запустить собственный бесплатный сервер Minecraft в Oracle Cloud. Но ведь есть масса других интересных проектов, которые вы можете реализовать с помощью своей «всегда бесплатной» учётной записи в облаке!
Что ещё интересного есть в блоге Cloud4Y
→ Частые ошибки в настройках Nginx, из-за которых веб-сервер становится уязвимым
→ Фишинг с поддельным приглашением на встречу
→ Облачная кухня: готовим данные для мониторинга с помощью vCloud API и скороварки
→ Подготовка шаблона vApp тестовой среды VMware vCenter + ESXi
→ VMware предупредила о критических уязвимостях в удаленном исполнении кода в vCenter
Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью. Пишем не чаще двух раз в неделю и только по делу.