
Будучи достаточно древним поклонником серии Minecraft (именно серии, потому что версии 1.5, 1.7 и 1.9 — совершенно разные поколения игр), я давненько загорелся желанием рассказать, что же такого интересного хранит это незамысловатое название. Как сложилась судьба ее разработчика, Маркуса Перссона, какими идеями он пренебрег, когда наступил его успех, и как он к нему шёл, как развивался этот самобытный мир, и что заставило создателя отказаться от своего творения?
История будет разбита на три (или более) статьи, в каждой из которых будет разобран огромный кусок информации. Будьте готовы к лонгридам.
Также в статье будет инструкция, как сделать своей сервер.
❯ Начало начал (заезженно, не так ли?)
Стоило бы отметить, что интернет кишит статьями на тему того, как именно появился Minecraft, и потому я считаю неправильным заострять внимание на общеизвестных аспектах. Вместо этого мы кратко пройдемся по ключевым фигурам и углубимся в особенности различных версий Minecraft в дальнейших статьях цикла. Рассмотрим влияние незначительных изменений, начала серверов, модов, командных блоков, карт и многого другого. На многих версиях мы будем совершать остановки, забегая далеко вперед, поскольку некоторые явления нет смысла рассматривать «кусками». Будьте готовы к множеству переплетений в тексте (это может показаться неструктурированным, но логика здесь вполне конкретная).

❯ Вкратце об игре
Minecraft — игра в жанре «песочница», в которой игроку предлагается выживать и исследовать трехмерный мир, целиком построенный из кубов. Всем это и так известно, двигаемся дальше. Написана она изначально на Java шведом по имени Маркус Перссон, в дальнейшем взявшим псевдоним — Notch. Не секрет, что вдохновением для этой игры послужил Infiniminer.
Infiniminer
Еще одна песочница, на этот раз изначально многопользовательская. Она была разработана неизвестной никому командой, позже названной Zachtronics Industries, в 2009 году. Она (компания) и доселе остается забытой и имеет на своем счету десяток мелких игр, потуги в крупный инди-дев и печальное окончание работы ввиду того, что основатель нашел себя в сфере образования. Тем не менее, игры он делал неплохие, интересные и даже самобытные. У последнего его творения, Last Call BBS (2022), в «стиме» солидная тысяча отзывов, большинство из которых положительные, и даже сейчас в проекте есть игроки.

Infiniminer же была буквально прототипом Minecraft, но заточенным по какой-то причине на соревнование между игроками: кто добудет больше ресурсов для своей команды. Со временем игроки осознали, что самое интересное — возможность строить все, что душе угодно. Именно эту идею выразил Маркус Перссон, создавая свой «шедевр». Исходная игры была брошена разработчиками из-за того, что хакеры умудрились изменить код игры, создав свои версии. Их расплодилось много, и контролировать это уже было невозможно. Кто знает, может это повлияло на введение возможности создавать модификации в Minecraft?
❯ Маркус Перссон
И раз уж мы снова затронули эту личность, давайте разберемся в ней поподробнее. Здесь я процитирую уже десятки раз цитируемое интервью Forbes:
«В Стокгольме семь часов вечера, понедельник. Маркус Перссон сидит на балконе своего девятиэтажного офиса и смакует скоростной коктейль, где водка смешана с RedBull. Еще три часа назад он говорил, что сегодня пить не собирается, поскольку еще не отошел от алкогольного забега из 12 коктейлей в четверг и воспаления среднего уха. Но вот уже держит стакан с внушительной порцией Belvedere и внимательно смотрит, как в окнах соседних офисных зданий работники трудятся за своими клавиатурами».
Что мы отсюда узнали? То, что он был алкоголиком. Весьма богатым алкоголиком на пике своей славы. Но давайте забудем, и начнем с хорошего.

Бог мира Minecraft — или таковым его считали
Для многих Notch — это не просто псевдоним, это целая легенда. Во времена расцвета игры среди игроков ходили слухи о том, что иногда он заходит на случайные сервера и даже общается с людьми. Также были слухи о том, что на каждом сервере у него были права администратора, и он мог делать буквально все, что угодно. Notch, в отличии от Херобрина, вполне живая легенда. Языкастый и общительный в сети разработчик новой популярной игры, подающий большие надежды, и обещающий очень многое. Когда-то он даже пообещал сделать Minecraft бесплатным… а потом продал его Microsoft. И здесь подходят его слова, в которых он же процитировал Леонардо Да Винчи:
«Произведение искусства нельзя закончить, им можно просто перестать заниматься».

Казалось бы, зачем отказываться от всемирной славы, бросать дело, которое тебе так нравится, и которое уже считают событием мирового масштаба? Все дело в людях, как ни странно. Маркус всегда старался реагировать на сообщения комьюнити, но они зачастую были негативными. Крайне негативными. Интернет всегда был очень жестоким местом, но не мне вам об этом рассказывать. Не выдержав давления со стороны общества, Нотч больше не мог поддерживать свой образ и оправдывать ожидания. Пытаясь угодить всем, он терял себя, свою мотивацию и смысл продолжать, но обретал все новых и новых хейтеров. Даже когда сам он перестал отвечать на сообщения, он их читал. Читал, и огорчался каждый раз, потому что негатив для него был «словно написан жирным текстом». Так пропал Нотч, и остался лишь Маркус. Без своей компании и игры, без своей славы, но с 2,5$ млрд наличных. И здесь его история в рамках Minecraft заканчивается.

❯ Cave Game — сырее свежей говядины
Игра была выкопана в горниле свободы и опасности. Именно эти ощущения хотел вызывать Перссон своей игрой. Когда весь мир подвластен тебе, но все еще есть, чего остерегаться, и иногда преодолеть это можно только смекалкой (что в целом относится скорее к более поздним версиям). Опубликована игра была на форуме TIGSource, и быстро стала получать первые отзывы. Люди делились своими постройками, хвалили разработку и предлагали свои идеи. Одной из таких идей оказалось название — Minecraft — «етить-колотить», то есть «копать-создавать», во.

В первой версии игры не было ничего, кроме двух видов блоков, странного ландшафта и возможности копать и ставить кубы. Затем Перссон добавил разнообразия, реалистичную генерацию ландшафтов, расширил границы мира, и столкнулся с интересной проблемой.
Far lands — еще одна легенда
Немного скакнем вперед, к версии infdev, и появившейся в ней уникальной особенности. Нынешние игроки даже близко не знают, что такое far lands — «далёкие земли». Однако в свое время многие дети с компьютером хоть раз, но пытались туда попасть. Или слышали о том, как туда попадали другие игроки. Тогда способов это сделать было два: идти 800 часов по миру в одном направлении, достигнув «границы» мира, или отредактировать level.dat сохраненного мира, чтобы оказаться на нужных координатах. Надеюсь, никто не выбирал первый вариант, но увидеть это однажды — того стоило. Рассказывать тут нечего, смотрите скриншоты.



Far lands образовывались из-за ошибки при изменении алгоритма генерации ландшафта. С определенных координат, примерно в 12,5 миллионов блоков от центра мира, алгоритм начинал выдавать нелогичные и странные структуры, которые вызывали дичайшие лаги на любом ПК. Туда даже можно было попасть, и ходить там, но весь мир начинал вести себя странно. Блоки «съезжали» со своих законных мест, вещи не выпадали или исчезали, а игрок не шел, а «телепортировался» с блока на блок, двигаясь по этим землям.
Что интересно, существовали «далекие земли» двух видов: угловые и крайние, они отличались своим строением и ландшафтом, а также некоторыми особенностями. Биомы в этих землях тоже были, но все отличие было в цвете травы, да и только. К тому же, здесь всегда было крайне темно, и появлялось много мобов, а все пространство, расположенное ниже уровня моря было затоплено водой. Тем не менее, здесь все еще появлялись деревья, и даже руда.
Не знаю как у вас, но у меня «далекие земли» всегда вызывали, и до сих пор вызывают какой-то необъяснимый страх и ужас. Ощущение того, что что-то совсем не так, очень угнетает. Мне даже думать об этом сложно, не ощущая дискомфорта. Наверное, это связано с первым впечатлением из детства, когда я увидел громадину далеких земель в свои малые 8-10 лет. А осознание того, что за «далекими землями» находятся еще более далекие, более сломанные и аномальные места, будоражило сознание еще сильнее. Но давайте оставим в покое эти странные места, и вернемся к нашей истории.
P.S. Перечитывая этот раздел пост-фактум, я буквально испытал некую дрожь от одной только мысли о «далеких землях». Кажется, это мой давно забытый детский страх.
❯ Multiplayer
Конечно, как и в Infiniminer, в Minecraft просто обязан был быть многопользовательский режим. В этом ведь и вся суть! Незамедлительно после первых продаж лицензионных копий игры, Маркус начал тестирование мультиплеера, и это позволяет нам и по сей день проводить время с друзьями и незнакомцами на серверах. Мультиплеер — это буквально самое главное, что есть в Minecraft. Это миллионы, а может и миллиарды человеко-часов, потраченных на самое настоящее искусство, войны, торговлю, дружбу, месть и даже любовь. Колоссальные постройки, целые города, и даже весь мир, построенный на одной карте. Сервера с историей длиннее, чем время, которое прожили нынешние семиклассники (за время редактуры текста они успели стать восьмиклассниками). Minecraft — это моя жизнь, б…
В общем, вы меня поняли, этот раздел будет посвящен самым первым мультиплеерным серверам Minecraft, однако более подробно мы поговорим гораздо позже, когда вы уже все забудете.
Локальные тусовки
В 2009 году в версии 0.0.12а была реализована первая версия мультиплеера. Это был самый первый тест, недоступный игрокам, и информации о нем практически нет. Конечно, с тех времен метод его работы толком не менялся, но я предпочту разделять периоды, чтобы понимать, когда было «не очень», а когда все «взорвалось».
Механизм был очень прост — один из игроков запускал сервер на своем устройстве, предоставляя доступ к своему миру другим игрокам. Но не все сразу было гладко. Первые версии сопровождались огромным количеством багов, десинхронов, а также недоработок. Банально не хватало удобных консольных команд, чтобы реализовать полноценную коммуникацию между игроками, несмотря на наличие чата.
Официальный релиз пришелся на версию 0.0.15а, и с этого момента возможности многопользовательского режима только оттачивались. До сего момента была возможность создавать в собственном мире людей. Правда двигались они крайне странно, и их интеллект не отличался особой проницательностью. А их модель была взята из более старой игры Нотча — Zombie Town. Впоследствии она лишилась бороды и стала именоваться «Стивом».

Затем выходили мелкие обновления, изменяющие команды администратора, улучшающие сетевой код. Была, наконец, добавлена команда /teleport, которая позволяла перемещать игроков по координатам или друг к другу, и команда /ban, которая делает то, что все и так знают. Кстати, знаменитый скриншот с Хиробрином — еще одной легендой Minecraft, был создан на версии 0.0.16_2.

Три последние версии под титулом Multiplayer Test отличались изысканными багами. В одной из них игроки застревали на месте по случайным причинам, в другой — пропадали, как только писали сообщение в чат. Вот сообщения самого Нотча по этому поводу: «everyone who chats gets removed from the clients :D», «doesn't seem to work, hold on»
Но самой фееричной оказалась версия, которая и вовсе не запускалась ни при каких обстоятельствах (ведь если Нотч ее выложил, значит у него все работало?).

Далее было множество изменений, но нас интересует 2010 год. Конкретно — два сервера, созданных тогда, с периодичностью в полгода — в августе и декабре, MinecraftOnline и 2b2t соответственно. Вы вполне вероятно слышали об этих проектах, но для других расскажу вкратце об их особенностях: оба сервера существуют непрерывно, поддерживаются и активно используются игроками со всей планеты. Сгенерированный в них мир ни разу не сбрасывался и не менялся (поправочка, 2b2t однажды все же пришлось немного изменить), однако большинство построек «старого» Minecraft безвозвратно утеряны. А теперь поговорим о них в частности, и об их различиях.
❯ MinecraftOnline

Сервер, мир которого назван «Freedonia», на данный момент активно модерируется и выступает абсолютным противником гриферства. Однако вместо использования современных плагинов для защиты мира, владельцы сервера предпочитают силами модераторов избавляться от всех нежелательных персон. Всего руками администрации было забанено уже свыше 50 000 игроков, и каждая блокировка — пожизненная. Однако особо много интересного здесь не происходило, в частности из-за активной модерации. Стоит заметить, что сервер изобилует интересными постройками, и посетить его ради этого действительно стоит.

2b2t
Про историю этого сервера стоило бы написать отдельную статью, размером, пожалуй, с две «этих». Если обратиться к задумке — 2b2t создан исключительно для свободного развлечения. Здесь нет правил, нет античита, нет влияния администрации (почти). За все время у сервера был только один администратор (или два?) — некий Hausemaster, о котором практически ничего не известно за пределами игры. Почему все так неточно? Потому что этот Hausemaster вроде как даже и не создатель сервера. А нынешний — даже не Hausemaster. В 2014 году он объявлял о том, что уходит с сервера и передает управление «анонимному товарищу». И с тех пор поведение администратора действительно изменилось, до тех пор, как его аккаунт был удален в 2021 году.

Мы затронем лишь небольшую часть этой истории, дабы вы могли погрузиться в нее самостоятельно, ведь там и правда есть много интересного. За время существования сервера на нем множество раз сменялось «правление» кланов. Появлялись и исчезали команды, глобально влияющие на весь сервер.
Первые несколько месяцев можно назвать временем «форчана». Была построена их «знаменитая» база со свастикой, которую в дальнейшем уничтожили, возможно, игроки сообщества Facepunch. Собственно, в честь них и была названа следующая эпоха в истории сервера. Их целью было построение «мирной анархии», в которой не будет места грифу (намеренному уничтожению чужих построек etc.) и войнам. Была объявлена война между анархистами 4chan и Facepunch Republic, которая продлилась более года и закончилась поражением Facepunch в виду ухода их идейного вдохновителя и значительных потерь баз. (И снова форчан, объединившись, уничтожил общего врага)
Здесь стоит остановиться и уточнить, что же из себя представляют войны в Minecraft. Дело это весьма нехитрое, и в особое время своей популярности задело многие сервера, не только 2b2t. Заключалось происходящее не только во внутриигровых битвах в виде слома баз или убийства игроков противоположного лагеря. Проводились также хакерские атаки, рейды на каналы и форумы, в чаты, захваты аккаунтов. Игроки не гнушались ни фишингом, ни реальным выслеживанием игроков в жизни. Однажды на 2b2t даже появилась система, позволяющая в реальном времени отслеживать всех игроков на карте сервера, но об этом чуть позже.

Продолжим изучать историю сервера. Вскоре после исполнения ему годового юбилея началась эра «Великого упадка». В это время сервер был полон лагов, и не полон игроков. Тем не менее, несмотря на исчезновение Facepunch Republic, 2b2t, по сути, достиг их цели. За неимением игроков и нежеланием играть оставшихся людей, практически прекратились случаи грифа и войн. В это же время остатки FP создали свою последнюю базу с закрытым сообществом.
Дальнейшие эпохи описывают гораздо больше событий, поскольку сервер становился все более и более популярным с каждым годом. Были войны, затишья, империи, множество проблем, изученных дюпов (способов увеличения количества предметов) и лаг-машин. Единственный администратор кропотливо изучал особенности всех событий и исправлял каждую ошибку, которая могла привести к нарушению экономики или помешать свободной игре.
История 2b2t — это действительно целая эпопея, полная превозмоганий и абсолютно бессмысленных растрат человеческих ресурсов. Действительно великие программисты тратили множество часов на разработку эксплойтов, которые давали преимущество над остальными игроками. Один из таких эксплойтов был озвучен ранее, и создан командой NoCom.
Для начала стоит рассказать про метод перемещения по миру 2b2t. Помимо полета на элитрах (крылья для планирования), использовался даже банальный fly-чит, и «адская магистраль» — огромная дорога из обсидиана, простирающаяся на сотни тысяч блоков в восьми направлениях от центра в Аду. Это был один из главных методов перемещения, поскольку он был крайне удобен, и это подтверждает тепловая карта расположения игроков, полученная NoCom

Не будем вдаваться в причины возможности этого эксплойта, и потому просто взглянем на метод его работы. Боты команды NoCom постоянно проверяли наличие игроков на основной «адской магистрали» сервера. Обнаружив их, они отслеживали их местоположение вплоть до выхода с сервера. Таким образом, составлялась карта расположения баз игроков. В эту эпоху, названную exploitation period, а также в дальнейшую эру грифа были разрушены многие значимые постройки на сервере. Самые секретные базы обнаруживались и уничтожались командой NoCom, пока эксплойт не был исправлен.
Нынешняя эра названа «Прогрессивной» ввиду колоссальных изменений в структуре сервера. Больше 2b2t не анархический сервер, как гласил официальный сайт, а «сервер выживания». Многие игроки ушли после этого ребрендинга. Отток стал наиболее массовым за все время существования сервера. Многие посчитали, что администрация отвернулась от старых поклонников, которые годами поддерживали существование сервера материально. С переходом на версию Minecraft 1.19 была упразднена экономика методом удаления огромного количества ценных ресурсов. Также было удалено огромное количество «пустых» чанков, в которых игроки не проводили больше нескольких секунд. Чтобы понимать, какие последствия понесло такое решение, надо серьезно погрузиться в геймплей сервера, а потому я лишь укажу, что эти обновления в итоге были тоже упразднены. В связи с этим сервер вполне может пережить еще один всплеск популярности (что очень вряд ли, с новым античитом и явно коммерческой его направленностью).
❯ Survival
Не забыли еще, о чем статья? После выхода мультиплеера, в игре появился и режим выживания вместе с несколькими мобами: крипером, скелетом, зомби и свиньей. С крипером, буквально «лицом» Minecraft, вышла крайне забавная история, которую многие из вас наверняка знают и так. В процессе создания свиньи, Маркус Перссон (Notch) перепутал длину и высоту тела, и вышло существо высокого роста на четырех ногах. Разработчик добавил ему зеленую окраску, а затем, по совету друга, еще и возможность взрываться. В интернете также ходит байка о том, что Маркус записал звук «активации» крипера во время жарки бекона, но в это уже верится с трудом, и я не нашел подтверждений.
Indev
Затем, после нескольких обновлений, появилась версия игры Indev — In development. В ней продолжал улучшаться геймплей, а также появился новый моб — Рана. На ней зацикливать внимание не стоит, она была удалена как только из Mojang ушел ее (Раны) создатель. Еще бы, ведь она совершенно выбивалась из общего сеттинга игры, посмотрите сами!

Также здесь появилась первая броня, верстак и алмазы — буквально эталон самых известных о Minecraft вещей. Помимо этого, появились инструменты из золота, а руда, наконец, стала добываться только кирками. А еще здесь появились шестерни, о которых я расскажу далее. И, наконец, в игре стали сменяться день и ночь, а Нотч добавил некоторые картины шведского художника Кристофера Зеттерстранда.
Далее была хоть и уникальная, может даже, легендарная, но все еще довольно неинтересная версия infdev (infinite development). В ней мир стал действительно бесконечным во все стороны (не забываем о далеких землях), появились подземелья, подземные реки и рельсы, коренная порода (бедрок) и возможность выращивать деревья. На этом, кажется, почти всё.
В следующей статье цикла мы взглянем на версии от Alpha и вплоть до 1.1. Поверьте, это огромный путь, который разбирать будет не менее интересно, чем всю жизнь Маркуса Перссона.
Автор текста: Руслан Сабиров. Написано специально для Timeweb Cloud и читателей Хабра.
Инструкция по созданию своего сервера мечты
Итак, захотелось создать сервер майнкрафт, причем не у себя на компьютере, а на облачном сервере для удобства доступа к нему в любое время. Что для этого нужно?

1) Определиться с тем, какая именно игра нужна: версия игры, моды, плагины, собственно ядро сервера.

2) Установить сервер у себя на компьютере.

3) Перенести сервер майнкрафта на облако и запустить его =)
Ставить я буду, для определенности, последнюю актуальную версию игры, на сервере fabric. И сначала, для удобства, у себя на компьютере. Скачиваю установщик с их сайта, запускаю его в папке, где хочу поставить сервер, дальше он предложит скачать обычный сервер майнкрафт, не fabric, его тоже качаем, без него не запустится.
Теперь запускаем файл fabric-server-launch.jar, он работает и останавливается. Надо открыть файл eula.txt и заменить в строчке eula=false false на true, принимая лицензионное соглашение. Запускаем еще раз.


Должно получиться как-то так. Теперь закрываем, и начинаем настраивать сервер, чтоб, например, могли заходить на него игроки и с неофициальным клиентом игры.
Открываем файл server.properties, находим строчки:
enforce-secure-profile=true
online-mode=true
и меняем на false.
Еще с точки зрения оптимизации интересны настройки просчета мира и прорисовки мира, по умолчанию там 10 чанков, но это можно настроить.
simulation-distance=10
view-distance=10
Теперь, чтобы при отключенной проверке клиента к нам не мог зайти кто угодно с чьим угодно никнеймом, я ставлю easyauth (скачиваю отсюда сам мод, отсюда требующийся для него мод). Это добро складываем в папку mods и снова запускаем сервер.


Теперь запускаю собственно minecraft, захожу на сервер по адресу localhost:25565 — игра пускает и требует регистрации, отлично, все работает. Осталось только перенести результат на сервер и запустить там.
Для этого нужно сначала зайти на хостинг. Для этого открываем панель Timeweb Cloud (ставил я на базе Таймвеба), находим строчку «подключение по ssh», копируем, запускаем командную строку, вставляем. Дальше у нас требуют пароль, копируем его из таймвеба, заходим.

Результат должен выглядеть так:

По умолчанию на хостинге не стоит java, ставим ее через команду в терминале:sudo apt-get install openjdk-21-jdk
Теперь можно переносить сервер на хостинг, осталось только написать скрипт, который будет его автоматически запускать. Создаем в папке с сервером текстовый файл со следующим текстом:
#!/bin/sh
\
while true; do
\
java -Xmx4G -Xms1G -jar fabric-server-launch.jar nogui
\
echo "Server stopped, restarting in 5 seconds..."
\
sleep 5
\
done

Теперь берем папку со ВСЕМ сервером, и создаем из нее zip-архив. После чего открываем в папке терминал и вводим следующую команду: scp .\minecraft-server.zip root@92.255.111.222.:/root,где вместо 92.255.111.222 стоит публичный ip хостинга.
Дальше опять потребуют пароль от root. Как только zip-файл загрузится, закрываем этот терминал и возвращаемся к консоли на хостинге (при необходимости заходим заново). Проверяем командой ls (показывает содержимое текущей папки), скачался ли zip-архив. Если он есть, дальше командой:
unzip minecraft-server.zip
Извлекаем его из архива и командой:
cd minecraft-server
Переходим в папку с сервером.
Чтобы убедиться в том, что скрипт запустится, выдадим ему разрешение на исполнение:
chmod +x start.txt
После этого запускаем сервер фоном командой:
nohup ./start.txt &

Если же сервер надо в какой-то момент отключить, то тут поможет команда htop.
Установим htop:
apt-get install htop
Запустим его командой htop. В выпадающем окне выбираем запущенный процесс ./start.txt и жмем F9 — убрать его.


Теперь, раз сервер запущен (и если мы его не отключили), можно на него зайти. Вставляем публичный ip хостинга и дальше ставим :25565, и можно к нему подключиться. На него пускает и требует аутентификации, все готово. Вы великолепны!
Разрабатывайте и развивайте свою игру (и не только) с помощью облачного хостинга для GameDev ↩
Перед оплатой в разделе «Бонусы и промокоды» в панели управления активируйте промокод и получите кэшбэк на баланс.