Блог Дмитрия Сошникова

про технологии и человеческое счастье

Как развернуть сервер Minecraft в облаке Microsoft Azure

Играть в Minecraft интересно, но ещё интереснее делать это коллективно, по сети. Поэтому многие любители Minecraft ищут возможность создать свой Minecraft-сервер, чтобы на нём заниматься коллективной постройкой своего мира. Сам процесс создания сервера неплохо описан, однако часто хочется разместить сервер не на своём компьютере, а где-то в интернет. Тут нам на помощь приходит облако Microsoft Azure!

К сожалению, в рамках бесплатного студенческого предложения студенты и школьники не могут создавать в облаке виртуальные машины. Однако, вы всегда можете использовать бесплатные облачные ресурсы на $25/мес. в рамках Visual Studio Dev Essentials, воспользоваться Azure Trial на один месяц, или получить промо-код Azure Pass в рамках какого-нибудь из мероприятий (недавно в рамках облачного дня Майкрософт мы раздали очень много таких кодов всем желающим), или у себя в учебном заведении от преподавателя.

Как только вы получаете доступ к облаку, вы можете создать виртуальную машину, на которой будет работать сервер Minecraft, а затем его сконфигурировать, чтобы получить на нём права оператора и иметь возможность выполнять привилегированные команды. В этой статье я расскажу, как это сделать двумя способами. В обоих случаях следует вначале зайти на портал управления Azure со своей учётной записью.

Создание сервера из шаблона в Azure Portal

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

image

Далее выбираем пункт показать все, и в строке поиска вводим ключевое слово Minecraft – после чего в результатах поиска вы сразу увидите Minecraft Server.

image

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

image

После этого рекомендуется выбрать размещение сервера где-нибудь в Европе (для более быстрого доступа к нему по сети) и нажать кнопку создать. Сервер создается в течение приблизительно 10 минут, после чего можно открывается окно свойств сервера (либо можно перейти в меню виртуальные машины и выбрать созданный сервер из списка).

image

В окне свойств сервера самое главное для нас – это DNS-имя сервера, с помощью которого мы можем сразу подключаться к серверу из Minecraft! Кроме того, из этого же окна можно останавливать сервер, если вдруг он нам больше не нужен, чтобы экономить ресурсы.

image

Обратите внимание, что установленный сервер имеет версию 1.8, и при подключении к нему из Minecraft нам необходимо выбрать такую же версию клиента (это можно сделать из Minecraft Launcher).

Если вы всё сделали правильно, то на этом этапе вы уже можете использовать сервер, но не можете подключаться к нему как оператор.

Настройка параметров сервера

Для того, чтобы изменить режим игры (например, на creative), и добавить себя как оператора на сервер, нам необходимо изменить настройки сервера. Для этого необходимо подключиться к нему по протоколу SSH, используя имя и пароль администратора, которые мы задавали при создании сервера. Для поключения по SSH из Windows можно использовать популярный клиент putty.

image

После подключения, перейдем в директорию /srv/minecraft-server. В ней содержатся все необходимые для работы сервера файлы.

Конфигурация сервера расположена в файле server.properties. Для его редактирования необходимо сначала перейти в режим суперпользователя, а затем использовать свой любимый текстовый редактор:

image

Параметры, которые можно задать в этом файле, приведены на сайте Minecraft Wiki.

Чтобы сделать себя оператором, необходимо добавить информацию о себе в файл ops.json. Первоначально этот файл содержит пустой список [], в который необходимо добавить нужных пользователей. Например, в моём случае файл выглядит так:

[ { "name": "shwars",
    "uuid": "eb0ce7d8-65e9-4940-ab27-3e41b525c66b",
    "level": 4
} ]

Здесь uuid – это уникальный идентификатор пользователя, который можно узнать, введя своё имя на сайте http://mcuuid.net.

После внесения изменений необходимо перезапустить сервер командой:

systemctl restart minecraft-server

После этого можно выходить из системы (дважды нажав Ctrl-D) и снова пробовать подключаться к серверу.

Разворачивание сервера Minecraft 1.9 из шаблона с GitHub

Давайте рассмотрим альтернативный способ разворачивания сервера Minecraft, который позволяет за один шаг задать пользователя-оператора, а также использовать более современную версию сервера 1.9. Для этого нам необходимо использовать внешний шаблон развертывания, который находится по адресу http://bit.ly/azminecraft.

Перейдя по этому адресу, мы увидим следующую страничку:

image

Здесь нам необходимо нажать кнопку Deploy to Azure, после чего в нашем облачном портале появится конфигурационная панель такого вида:

image

Здесь нам необходимо ввести параметры – имя minecraft-оператора, имя и пароль администратора сервера, а также DNS-имя сервера (например, studentcraft) и версию сервера (1.8 или 1.9). После этого нажимаем создать и ждём около 10 минут.

Если всё было сделано правильно, то ваш сервер получит адрес вида studentcraft.northeurope.cloudapp.azure.com (при условии, что вы выбрали Северную Европу как местоположения для развертывания, и studentcraft как имя сервера). Узнать точный адрес сервера вы сможете в панели управления в разделе все ресурсы, выбрав ресурс с окончанием publicip.

Заключение

Облако Microsoft Azure позволяет легко разворачивать любые виртуальные машины, в том числе и сервера Minecraft. Бесплатной облачной подписки Dev Essentials должно хватить, чтобы держать маломощный сервер работающим в течение месяца, или периодически включать и выключать более высокопроизводительный сервер. Развертывание своего сервера Minecraft в облаке – это хорошее упражнение для юных (будущих) IT-администраторов и разработчиков.

Add a comment

Как научить ребенка программировать

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

Использованию информационных технологиях применительно к развитию детей посвящен мой новый курс на Microsoft Virtual Academy, под кодовым названием “Как научить ребенка программировать”. На самом деле речь пойдет не только о программировании – в этом курсе я постарался описать известные мне технологии Майкрософт, которые могут вдохновить ребенка на творчество.

Этот курс предназначен для родителей, которые ищут различные способы занять своих детей творчеством. Мы видим, что дети с удовольствием берут в руки компьютер, и важно дать им правильные творческие инструменты, чтобы они воспринимали компьютер не как поставщика развлекательного контента (наравне с телевизором), а как инструмент для творчества. На самом деле детям нравится творить (этим в основном объясняется популярность Minecraft), и важно направить их в правильное русло.

Среди технологий, о которых рассказывается в курсе – технологии для исследования мира (Bing Maps, Worldwide Telescope), для коллективного творчества (Photosynth, Image Composite Editor и др.). Я также уделяю особое внимание вопросу мотивации детей, и рассказываю о своем опыте работы с детскими коллективами как преподавателя детского лагеря ЮНИО-Р, одного из идеологов часа кода в России и детского трека Microsoft AppDay, лектора и ведущего мастер-классов в Компьютерии.

Особое внимание конечно уделяется именно обучению программированию. На мой взгляд, важнее всего увлечь ребенка на первых этапах процесса, поэтому предлагается использовать инструменты быстрого создания игровых миров Kodu Game Lab и Project Spark. Ну а потом уже подключаются различные “традиционные” инструменты – от увлекательного введения в C#, до возможного пути Small Basic –> Visual Basic и функционального программирования на F#.

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

Надеюсь, этот курс будет полезен и интересен – по крайней мере об интересе к этой теме говорят полные залы на моих докладах на конференциях DevCon и ряде других. Приятного просмотра!

Add a comment