Как написать разработчикам майнкрафт

Обновлено: 05.07.2024

Данная статья знакомит читателя с особенностями работы чистого (без модификаций) сервера Minecraft текущей версии. В отличие от клиента, распространяется бесплатно через официальный сайт игры и работает со всеми версиями клиента (пиратской и официальной). Информация в этой статье была приведена в соответствие с версией 1.15.2.

Создание и настройка сервера

Знакомство с параметрами сервера

Когда загруженный файл оказался в будущей папке сервера, запустите его и подождите, пока закончится процесс генерации уровня. Вы увидите, что в Вашей папке появилось несколько новых файлов и подпапок.

Рассмотрим файл server.properties. Данный файл содержит в себе все основные параметры сервера. Откройте этот файл при помощи любого текстового редактора. Вы увидите примерно такое содержимое:

Описание параметров

averageTickTime — среднее время на совершение одного тика (в миллисекундах),

tickTimes — время cовершения порядка 100 последних тиков (в наносекундах).

Чтобы включить выполнение JMX в Java, необходимо задать соответствующие флаги запуска JVM. Более подробно описано в этой документации

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

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

При выборе порта вы можете руководствоваться данным списком стандартных портов, которые могут принадлежать другим сетевым службам и программам.

Когда эта опция включена, сервер кикнет игрока только после того, как автоматически перезагрузит вайтлист для поиска изменений.

false - Игроки не будут отключены от сервера, если их нет в вайтлисте. true - Игроки будут отключены от сервера, если их нет в вайтлисте.

Требуется проверка перевода.

  • Если указан радиус в 1000 блоков, то вы получите рабочее пространство 2000 х 2000 блоков.
  • Если указан радиус в 4000 блоков, то вы получите рабочее пространство 8000 х 8000 блоков.

-1 - полностью отключить сторожевой таймер (эта опция была добавлена в 14w32a)

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

  • Поле server-ip лучше всего оставить пустым — игра сама определит и настроит данный параметр. Но если вы хотите присвоить серверу особый IP-адрес, то можете изменить этот параметр.
  • Поле gamemode указывает на игровой режим, который автоматически будет включен всем игрокам, зашедшим на сервер. Игровой режим для конкретного игрока можно сменить во время работы.
  • Если вы включили white-list, сделайте себя оператором или добавьте себя в белый список.
  • При заполнении поля max-build-height неподходящим числом сервер автоматически подбирает ближайшее число, возможное для использования.

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

Содержание

Администрирование сервера

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

Описание GUI

GUI окна сервера состоит из следующих элементов:

SMP-GUI.jpg

Консольный режим

В консольном, или nogui, режиме присутствуют только лог и командная строка. Они исполняют те же функции, что и соответствующие окна графического режима.

Запустить в консольном режиме можно только .jar-версию сервера (server.jar). Для этого нужно в команде запуска указать параметр nogui :

Описание доступных команд

Команды в игре делятся на две группы: для операторов и игроков. С их помощью можно получить доступ к некоторым полезным возможностям, а операторам осуществлять контроль за состоянием сервера.

Q: Я хочу запустить на сервере свою карту из одиночной игры. Как мне это сделать?
A: Из папки saves, которая находится в каталоге установленной игры (.minecraft), перенесите папку с Вашей картой (например, New World) в папку, где лежит сервер игры. Не забудьте поменять level-name в файле server.properties, если ваша папка называется не так, как текущая папка сервера. Перенос должен осуществляться при выключенном сервере.

Q: Как мне создать новый мир?
A: Удалите все файлы из Вашей папки мира сервера или укажите новое имя мира в параметре level-name в файле server.properties.

Q: Как мне добавить на сервер функции /home /warp /spawn и другие?
A: Поищите в плагинах к Bukkit. Например, есть большой плагин CommandBook.

Q: При запуске сервера я получаю ошибку, что моя версия Java устарела. Как мне узнать, какая у меня версия Java?
A: Для работы игры требуется Java 8. Чтобы проверить Вашу версию, сделайте следующее:

то это означает, что Java у Вас не установлена или не настроены переменные среды (последнее обычно только для Windows). Попробуйте сделать следуещее:

  1. Нажмите правой кнопкой мыши на Мой компьютер
  2. Кликните на Свойства
  3. Кликните на Расширенные параметры системы
  4. Кликните на Переменные среды
  5. В списке системных переменных найдите переменную Path
  6. Кликните Редактировать и допишите в конец: ;%ProgramFiles(x86)%\Java\jre6\bin
  7. Откройте командную строку заново и попробуйте снова

Если Ваша версия ниже 1.6.1 или Java у Вас не установлена, перейдите на страницу загрузки Java и скачайте последнюю версию.

Разработчики Minecraft Java ответили на вопросы игроков


После проведения MINECON Earth на YouTube-канале Mojang было опубликовано видео интервью разработчиком Minecraft Java Edition. Вопросы задавал проектный менеджер Mojang Адриан Остергард, а сами вопросы присылали игроки. Жаль, только ответили они лишь на малую часть вопросов.

Будут ли в Minecraft добавлены новые виды полублоков, нажимных плит, кнопок и т.д.?

Эрик: Да! Все деревянные предметы будут обладать разной текстурой в зависимости от сорта древесины, из которой они изготовлены. А каменную кнопку, помимо прочего можно будет устанавливать ещё и вертикально!

Будут ли добавлены «вертикальные» полублоки?

Что подтолкнуло вас на изменение текстур в будущих обновлениях Minecraft? Будет ли у нас возможность использовать старые текстуры?

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

Когда будут добавлены новые текстуры — в версии 1.13 или 1.14?

Будут ли добавлены какие-то подземные вещи? Подземные биомы и т.п.?

Тома: Мы уже какое-то время работаем над изменением генератора мира таким образом, чтобы стало гораздо проще добавлять туда что-то новое. И одна из вещей для чего это делается — возможность добавления новых вещей как в пещеры, так и на поверхности. Т.е. после создания обновленного генератора, под землей появится много всего, в т.ч., возможно будут реализованы подземные биомы. И это дело — ближайшего будущего.

Почему были придуманы и добавлены в игру эндермиты?

Натан: Это долгая и полузабытая история. Они были добавлены, когда мы хотели доработать измерение Энд, потому что там был один лишь босс — дракон. У нас не было каких-то конкретных идей; но мы решили, что было бы забавно обыграть механику телепортации — ключевую особенность эндермена. Каждый раз когда он телепортируется, он перемещается через своё дополнительное измерение, в котором есть всякие странные вещи в т.ч. и эндермиты. И каждый раз при телепортации, они оставляют что-то из этого измерения. Такова была исходная мысль, которая была осуществлена немного иначе. Так что получается, что эндермиты — это нечто находящееся между измерениями.

Будет ли в Minecraft добавлен новый босс?

Мария: В настоящее время у нас нет планов касающихся добавления нового босса. Мы сосредоточены на сглаживании игры, чтобы сделать её интереснее для всех игроков. Но в будущем, вероятно, мы добавим и новых боссов.

Будет реализована поддержка игровых контроллеров в Java Edition?

Георгий: Не в ближайшем будущем. Обновление до библиотеки LWJGL3 делает это возможным. Однако перед этим необходимо будет переработать систему пользовательского интерфейса, поскольку она создавалась без расчета на использование игровых контроллеров.

Будут ли уникальные вещи из версии Bedrock перенесены в Java Edition? Например, интерфейс книги с пером, стойки для брони с руками?

Тома: Мы стараемся, чтобы все версии поспевали друг за другом, но также пытаемся решить какие возможности будут хороши для Java Edition. Поэтому мы должны проанализировать каждую возможность прежде чем добавим её в игру. Рано или поздно эти эксклюзивные возможности могут быть добавлены, но каких-то временных рамок — нет.

Будете ли вы использовать предложения пользователей по исправлению ошибок, которые прошли проверку модераторами баг-трекера?

Что сложнее всего было реализовать в Minecraft Java Edition?

С Георгием и Эриком разговор немного не задался: Георгий работает в команде совсем недавно и не успел ещё реализовать какие-то новые вещи, а Эрик просто отшутился:

Адриан: А ещё у нас тут Fry, самый новый разработчик. Сколько новых вещей ты успел сделать?

Георгий: Не так уж много.

Адриан: Но ты же добавил поддержку LWJGL3, это конечно не игровая возможность, но она важна для нас — разработчиков.

Георгий: Думаю, да.

Адриан: Эрик, а что самое сложным было для тебя?

Адриан: И в чём же возникли затруднения?

Эрик: Сложно, просто сложно! (смеётся)

Натан отнёсся к вопросу серьёзнее.

Натан: Думаю не так просто выделить какую-то конкретную вещь. Обычно у меня очень много работы уходит на какую-то маленькую вещь, которую никто не заметит. У меня может уйти целый день, чтобы добавить изюминку к чему-то большому. Например, если вы заходите в портал с левой стороны, то и выйти должны с левой стороны портала. Но, похоже, никто не обращает на это внимание, а я потратил кучу времени на это.

Агнес: Ну возможно когда я «учила» лам плеваться. Я тестировала и у меня просто сердце разбивалось глядя на то как одна лама убивает другую плевками. Это душераздирающе!

Какой процент вашего времени уходит на исправление ошибок по сравнению с реализацией новых возможностей? Что самое лучшее в вашей работе?

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

Мария: Самая интересная часть работы, это когда ты добавил прототип какой-то вещи и работаешь над ним, делая моба таким, чтобы он казался более живым. Например, когда я делала попугаев, то было ощущение, что очередные мобы, которые просто порхают вокруг, но потом я добавила несколько раздражающих вещей. Таких как способность имитировать звуки других мобов, расположенных неподалеку. Но у них также есть способность периодически внезапно издавать случайный звук. Так я сделала с одной стороны уникальную особенность, а с другой стороны — это настоящий троллинг.
Ну а если говорить о соотношении ошибок и создании нововведений, то я уже год работают в Mojang, и мне кажется, что это где-то 50 на 50. Потому что даже во время реализации новых возможностей ты смотришь на то что ты делаешь и сразу исправляешь какие-то ошибки.

Георгий: Для меня самым интересным, пожалуй, является возможность использовать новые технологии или реализовать новые алгоритмы — внутри вещей, а не с внешней стороны.
Ну а соотношение работы над ошибками к нововведениям — я не могу оценивать, потому что я здесь новичок, я не знаю как это будет в будущем. Но думаю, можно ожидать, соотношения 50 на 50.

Эрик: Я, как правило, делаю новые вещи в фоновом окружении. Есть только несколько вещей, которые вы можете увидеть. Например, попытайтесь накормить разноцветных овец. Так что в основном моя работа касается бэкенда и того, чтобы новые вещи можно было бы добавлять гораздо проще. В т.ч. это касается версии 1.13. И я думаю, что 80% моего времени уходит на это. И всё это и есть самая интересная часть моей работы! Я люблю 80% моей работы! А оставшееся время — это исправление ошибок, в т.ч. починка того, что я сам же и сломал.

Натан: Всё меняется. Периодически всё меняется. Между снапшотами — это 100% создание новых возможностей. Но когда начинают выходить снапшоты, то 90% работы — исправление ошибок. Но если говорить о среднестатистическом рабочем дне — это 60% работы над ошибками. И 40% — улучшение чего-либо или создание чего-то нового.
Самая приятная часть моей работы, это когда я делаю что-то новое, а потом вижу как кто-то с этим играет. Приятно видеть как кто-то получает удовольствие от того, что сделал ты.

Создание модификаций [ ]

    используется для создания и редактирования модификаций клиента и сервера Minecraft’а.

За время существования Minecraft успела накопиться небольшая коллекция статей на русском языке, посвящённая созданию модификаций.

Кто вы мистер Fry?

Пока остаётся неизвестным :)

Псевдонимы

  • fry_su
  • Fry
  • RainWarrior
  • rain-warrior

Учетные записи

Заслуги

  • Создатель мода Truss Mod, который добавляет в игру механизмы, позволяющие перемещать блоки.
  • Активный разработчик Minecraft Forge — программного интерфейса, позволяющему разработчикам создавать моды, а игрокам легко их устанавливать.

Демонстрация работы мода Truss Mod

Активность

Интересы и увлечения

Я уверен, что он любит Minecraft, программировать и мультсериал Футурама! ;)

Ещё у него есть борода и он отказывается от алкогольных напитков.

Я очень надеюсь, что Fry сможет пообщаться с сообществом в твиттере или где-то ещё.

Настройка подключения к серверу

Стоит отметить, что на сервере могут одновременно играть игроки как из локальной сети, так и из сети Интернет.

Подключение к собственному серверу

Если вы держите сервер на том же компьютере, на котором собираетесь играть, для подключения достаточно ввести адрес 127.0.0.1 или localhost . Этот адрес задействует виртуальный сетевой интерфейс (loopback), который доступен всегда, даже если у компьютера нет сетевой карты.

Если вы не можете подключиться даже через петлевой интерфейс, это повод проверить настройки антивируса и файерволла. Добавьте в исключения Minecraft Server и порт 25565.

Сервер в локальной сети

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

С версии 1.3.1 вы можете открыть свой мир из одиночной игры для локальной сети, для этого достаточно загрузить мир, нажать паузу и выбрать "Открыть мир для локальной сети". Однако, такой способ несколько ограничивает возможности владельца сервера.

Подключение к локальному серверу

Чтобы игроки смогли подключится к вашему серверу, их компьютеры должны быть объединены с компьютером-сервером по локальной сети (LAN). В строке ввода IP-адреса сервера они должны написать внутренний IP-адрес компьютера, на котором создан сервер. Локальный IP-адрес желательно должен быть статическим (быть прописанным в настройках сетевого подключения вручную) или привязанным к MAC-адресу.

В качестве локальной сети может выступать как ваша домашняя локальная сеть, так и локальная сеть провайдера или псевдолокальная сеть (VPN), предоставляемая программами вроде Hamachi.

Определение внутреннего IP-адреса


Определение внутреннего IP-адреса сервера под управлением Windows.


Определение внутреннего IP-адреса сервера под управлением Linux.

Чтобы узнать внутренний IP-адрес сетевой соединения, на котором вы создаете LAN сервер, выполните следующие пункты:

  • Windows
  1. Нажмите комбинацию клавиш на клавиатуре Windows + R
  2. В открывшемся окне «Выполнить» в строке ввода введите cmd
  3. В новом открывшемся окне напишите команду ipconfig

После этого программа ниже отобразит основные данные про сети, к которым подключен компьютер. Внутренний IP-адрес отвечает строке «IP-адрес» в блоке «Home Network — Ethernet адаптер:».

  • Linux, OS X
  1. Выполните в терминале команду ifconfig
  2. Ваш локальный IP-адрес указан после "inet addr" или "inet" в секции вашего сетевого интерфейса.

Настройка сервера для игры по Интернету

Для того, чтобы понять возможность подключения к вашему серверу из Интернета нужно сначала определить тип IP-адреса, который используется. Данная информация может быть размещена в условии договора с провайдером интернета или на личной странице пользователя на сайте провайдера.

Во-первых, провайдер может предоставлять выделенный IP-адрес, который присвоен именно вам (то есть у вас прямой выход в Сеть), а может использовать один внешний адрес для многих пользователей. В первом случае проблем с настройкой доступа быть не должно, и вам достаточно разобраться со своим оборудованием. Однако если вы находитесь в локальной сети провайдера, ваш компьютер не будет виден из Интернета и доступ к серверу будет невозможен. Возможно, провайдер может предоставить внешний адрес как дополнительную услугу.

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

Подключение к серверу

Если игроки не могут подключиться к вашему серверу, смотрите раздел FAQ.

Сервер через VPN

Если у вас возникают проблемы с внутренним IP-адресом, можно попробовать Hamachi, P2PLauncher, EasyVPN, Garena или подобные сервисы. Самым популярным из них является Hamachi. Создатель сервера и подключающиеся должны скачать и установить Hamachi. Далее:

  1. Создать комнату.
  2. server-ip оставить пустым.
  3. Запустить сервер.
  4. Сообщить свой IP в Hamachi (рядом с кнопкой подключения) подключающимся.
  1. Зайти в комнату с сервером.
  2. Попробовать подключиться по полученному IP.

Самая простая в использовании - это программа P2PLauncher, соединяющая компьютеры через сеть peer-to-peer. Просто поместите её в папку с игрой и запустите. На сервере:

  1. Введите никнейм (он же - будущее имя сервера) и название комнаты, нажмите «Запустить сервер».
  2. Сообщите название комнаты и свой ник, тому кто хочет к вам присоединиться.
  1. Запустите P2PLauncher. Введите свой никнейм и название комнаты, нажмите «Запустить клиент».
  2. В качестве имени сервера используйте ник игрока, создавшего сервер.

Открытие портов

Открытие, или проброс портов (Port Forwarding) позволяет клиентам, подключащимся из Интернета, получать доступ к серверу, который находится за маршрутизатором или модемом. Проблема с открытием портов часто встречается при создании сервера в локальной подсети. Маршрутизатор или модем могут блокировать порт, который пытается использовать сервер игры. Для разных моделей эта процедура происходит немного по-разному.

Есть 2 способа открытия портов:

Пример использования программы PFPortChecker

Чтобы проверить, удалась ли процедура открытия порта, попросите кого-нибудь вне вашей локальной сети подключиться к серверу, используя внешний IP-адрес (вы также можете попробовать подключиться к себе по внешнему адресу самостоятельно, но неудача в этом случае не всегда означает недоступность сервера). Или же загрузите и установите программу PFPortChecker. В поле Port введите номер порта, который вы пытались открыть. В поле Protocol сначала выберите UDP, а потом TCP. Затем нажмите кнопку проверки. После окончания проверки программа выведет 3 итога для TCP и 3 для UDP. Если текст всех 6 результатов проверки будет зелёного цвета, значит процедура удалась полностью. Для примера смотрите скриншот справа.

Иногда некоторые провайдеры, предоставляют пользователям "серые" IP-адреса. Если в вашем маршрутизаторе указан IP-адрес из диапазонов ниже, то тогда вы не сможете открыть порты на вашем компьютере.

Список наиболее частых "серых" IP:

  • От 10.0.0.0 до 10.255.255.255 с маской 255.0.0.0 или /8
  • От 172.16.0.0 до 172.31.255.255 с маской 255.240.0.0 или /12
  • От 192.168.0.0 до 192.168.255.255 с маской 255.255.0.0 или /16
  • От 100.64.0.0 до 100.127.255.255 с маской подсети 255.192.0.0 или /10; данная подсеть рекомендована согласно rfc6598 для использования в качестве адресов для CGN (Carrier-Grade NAT)

В Mojang появился русскоязычный разработчик. Кто вы мистер Fry?

В Minecraft появился новый разработчик. О том, что он скоро появится слухи ходили уже довольно давно. И вот сегодня Джеб объявил: «Ура, @fry_su — нашему самому новому разработчику Minecraft Java Edition. Он ответит на все ваши русские вопросы ;)»

Shoutout for our most recent Minecraft Java Edition developer @fry_su ! Он ответит на все ваши русские вопросы;)

— Jens Bergensten (@jeb_) 6 октября 2017 г.

К сожалению Йенс забыл рассказать как его зовут, а профиль @fry_su в твиттере не содержит подобной информации. Также нет информации о нём и на сайте Mojang — видно не успели обновить.

На «все наши русские вопросы» в твиттере он пока не ответил, поэтому я решил собрать о нём информацию из открытых источников и вот, что я узнал.

Протокол сервера [ ]

Протокол сервера Classic используется в Minecraft Classic Creative Multiplayer сервере.

Для информации о протоколе Minecraft Alpha, смотрите TkTech wiki страницу, а также протокол авторизации здесь.

Для разработчиков

Каждая редакция Minecraft использует свой собственный формат для хранения уровней. Следующую информацию об изменениях форматов файлов могут использовать разработчики для создания редакторов карт, серверов, генераторов уровней и других программ. Блоки, предметы и значения общие для всех форматов.

Форматы карт [ ]

    используется в старой Minecraft Classic: Выживание, Творчество и Многопользовательская игра. используется в версии Indev используется в Minecraft Alpha. используется в Minecraft 1.0.
      Формат player.dat используется для храненения данных игроков. используется в Minecraft с версии 1.2.
        Beta (с Beta 1.3).
          используется индивидуально для чанка размером 16x256x16.
        • Файлы схем основанные на NBT формате используется сторонними утилитами для хранения секций карт, для дальнейшего использования.

        Библиотеки [ ]

        Подготовка к работе

        Загрузка необходимого ПО

        Для работы сервера требуется установить на Ваш ПК пакет Java. Его можно скачать на этой странице. Но если клиент Minecraft запускается, то это индикатор того, что данный пакет уже установлен на компьютер. (Теперь minecraft можно установить через установщик, который сам скачивает для себя Java. В этом случае вам все равно нужно установить Java.)

        Для того чтобы скачать сервер, требуется перейти на страницу загрузки официального сайта. Нажмите на соответствующую ссылку и сохраните файл в отдельной директории, которая будет основной для Вашего сервера. При создании сервера на Linux или OS X основной директорией сервера является рабочая директория; используйте команду cd /путь/до/сервера/ .

        Читайте также: