Данная статья знакомит читателя с особенностями работы чистого (без модификаций) сервера Minecraft текущей версии. В отличие от клиента, распространяется бесплатно через официальный сайт игры и работает со всеми версиями клиента (пиратской и официальной). Информация в этой статье была приведена в соответствие с версией 1.15.2.
Для работы сервера требуется установить на Ваш ПК пакет Java. Его можно скачать на этой странице. Но если клиент Minecraft запускается, то это индикатор того, что данный пакет уже установлен на компьютер. (Теперь minecraft можно установить через установщик, который сам скачивает для себя Java. В этом случае вам все равно нужно установить Java.)
Для того чтобы скачать сервер, требуется перейти на страницу загрузки официального сайта. Нажмите на соответствующую ссылку и сохраните файл в отдельной директории, которая будет основной для Вашего сервера. При создании сервера на Linux или OS X основной директорией сервера является рабочая директория; используйте команду cd /путь/до/сервера/
.
Когда загруженный файл оказался в будущей папке сервера, запустите его и подождите, пока закончится процесс генерации уровня. Вы увидите, что в Вашей папке появилось несколько новых файлов и подпапок.
Рассмотрим файл server.properties. Данный файл содержит в себе все основные параметры сервера. Откройте этот файл при помощи любого адекватного текстового редактора. Вы увидите примерно такое содержимое:
#Minecraft server properties #Wed Apr 08 20:35:49 MSK 2020 spawn-protection=16 max-tick-time=60000 query.port=25565 generator-settings= sync-chunk-writes=true force-gamemode=false allow-nether=true enforce-whitelist=false gamemode=survival broadcast-console-to-ops=true enable-query=false player-idle-timeout=0 difficulty=easy broadcast-rcon-to-ops=true spawn-monsters=true op-permission-level=4 pvp=true snooper-enabled=true level-type=default hardcore=false enable-command-block=false network-compression-threshold=256 max-players=20 max-world-size=29999984 resource-pack-sha1= function-permission-level=2 rcon.port=25575 server-port=25565 server-ip= spawn-npcs=true allow-flight=false level-name=world view-distance=10 resource-pack= spawn-animals=true white-list=false rcon.password= generate-structures=true online-mode=true max-build-height=256 level-seed= prevent-proxy-connections=false use-native-transport=true motd=A Minecraft Server enable-rcon=false
В другом языковом разделе есть более полная статья. Вы можете помочь проекту, расширив текущую статью с помощью перевода. |
Параметр | Значения | По умолчанию | Описание |
---|---|---|---|
allow-flight | true / false | true | Разрешает игроку совершать полёты по миру Minecraft. Эта опция действует только на полёты в режиме Выживание и оказывает эффект только при наличии соответствующего плагина (например, Flight). На полёты в режиме Творчество никак не влияет. |
allow-nether | true / false | true | Данный параметр определяет возможность перехода в Нижний мир. Если отключить, все игроки, находившиеся в Нижнем мире, будут перемещены в обычный. Не влияет на переход в Край. |
announce-player-achievements | true / false | true | Данный параметр определяет, должен ли сервер отправлять в чат сообщения о получении достижений. |
difficulty | Строка | easy | Уровень сложности:
|
enable-command-block | true / false | false | Позволяет использовать командный блок. Эта опция не генерируется при первой загрузке, а появляется при первой попытке использования командного блока. |
enable-query | true / false | false | Позволяет активировать протокол GameSpy4 для прослушки сервера (получении информации о сервере). |
enable-rcon | true / false | false | Позволяет использовать удаленный доступ к консоли сервера. |
force-gamemode | true/false | false | Если true, то при подключении к серверу режим игры игрока изменятся на стандартный, указанный в gamemode. |
gamemode | Строка | survival | Стандартный игровой режим, автоматически устанавливаемый всем впервые зашедшим на сервер игрокам. Режим отдельного игрока меняется командой /gamemode .
|
generator-settings | нет | Строка | Эта строка задает шаблон генерации суперплоского мира. См. суперплоскость для подробностей. |
generate-structures | true / false | true | Генерировать ли структуры (сокровищницы, крепости, деревни…) |
hardcore | true / false | false | Включает на сервере режим Хардкор. После смерти — переход в режим наблюдателя. |
level-name | Имя папки | world | Название папки с файлами карты, которую будет использовать сервер во время игры. Данная папка размещена в том же каталоге, где находится сервер. Если её не окажется, сервер автоматически сгенерирует новый мир и поместит его файлы в папку с этим названием. |
level-seed | Любое допустимое зерно | Входные данные (зерно) для генератора уровня. Если вы хотите создать случайный мир — оставьте данное поле пустым. | |
level-type | DEFAULT / FLAT / LARGEBIOMES / AMPLIFIED | DEFAULT | Определяет тип мира. |
max-build-height | Число, кратное 16 (64 — 256) | 256 | Указывает максимальную высоту постройки на вашем сервере. Выше этого уровня нельзя будет ломать или ставить блоки. Местность может генерироваться выше этого уровня, также можно разрушать блоки при помощи ТНТ и огня. Кроме того, выше границы работают вёдра (ошибка). |
max-players | Число (0-2147483647) | 20 | Указывает максимальное допустимое количество игроков на сервере. |
motd | Строка не более 60 символов | A Minecraft Server | Описание сервера, отображаемое при подключении в списке серверов. Поддерживает форматирование текста. |
online-mode | true / false | true | Этот параметр позволяет включить/выключить режим онлайна. Если его выключить, то на сервер смогут заходить только по локальной сети или с этого компьютера и с любым аккаунтом (даже пиратским). |
op-permission-level | Число (1-4) | 4 | Позволяет изменять права операторов.
|
player-idle-timeout | Число | 0 | Если не поставлен ноль, то игроки будут автоматически отключаться от сервера, если они ничего не делали в течение указанного времени (в минутах). |
pvp | true / false | true | Включает/отключает получение урона игрокам от атак других игроков на сервере. При true игроки смогут «воевать» между собой, убивая друг друга. Если уставлено значение false, игроки не смогут наносить прямой урон один другому. |
query.port | Число (1-65535) | 25565 | Порт для получения информации о сервере. Появляется автоматически при {{{1}}} . |
rcon.password | Строка | нет | Пароль для удаленного доступа к серверу. Появляется автоматически при {{{1}}} . |
rcon.port | Число (1-65535) | 25575 | Порт для удаленного контроля сервера. Появляется автоматически при {{{1}}} . |
resource-pack | Имя файла | нет | Местоположение ресурсов, которые сервер предложит загрузить игроку при соединении. В данном поле нужно указать прямую ссылку на zip-архив. |
server-ip | Любой допустимый IP-адрес | нет | Указывает IP-адрес сервера, который будет использоваться другими игроками для подключения к этому серверу. Данное поле рекомендуется оставлять пустым, но если вы хотите дать серверу особый IP-адрес, то можно воспользоваться этим параметром, чтобы задать его. (Нельзя указывать ip-адрес своего компьютера, из-за этого сервер просто вылетит и не будет запускаться, пока не замените его на другой). |
server-port | Число (1-65535) | 25565 | Данный параметр определяет значение порта в протоколах TCP и UDP, который будет использовать сервер игры. Стандартный для Minecraft порт — 25565. Рекомендуется не изменять значение, т.к. для входа на сервер, использующий стандартный порт, игроку будет достаточно набрать IP или DNS адрес, без указания порта, а также при использовании других портов есть вероятность того, что этот порт уже будет занят другим сетевым ресурсом. Если вы всё же хотите указать порт вручную, выбирайте числа побольше и избегайте популярных портов: 80 и 8080 (web-сервер), 21 (ftp-сервер), 22 (ssh-сервер), 143 (imap), 6969 и 6881—6889 (bittorrent) и др. Например, порт 23000 подойдёт. |
snooper-enabled | true / false | true | Разрешает серверу отправлять некоторую статистику и данные разработчикам. |
spawn-animals | true / false | true | Аналогично spawn-monsters, но для дружелюбных мобов (коровы, свиньи, овцы…). |
spawn-monsters | true / false | true | Если значение параметра true, то, как и в одиночной игре, в ночное время и в тёмных пещерах на карте будут появляться враждебные мобы и будут стараться нанести вред игрокам на сервере. Если значение false, враждебные мобы (например, скелеты, зомби) не будут автоматически появляться во время игры, однако их можно заспаунить с помощью яиц призывания. Все находившиеся на карте мобы останутся. |
spawn-npcs | true / false | true | Разрешить появление NPC в деревнях. |
spawn-protection | Число (1-100) | 16 | Радиус защиты территории спауна в блоках (эту территорию смогут изменять только операторы). Радиус 0 дает защиту единственного блока, 1 — зоны 3×3 и так далее. Эта опция не генерируется при первой загрузке, а появляется, когда первый игрок заходит на сервер. После 1.4.2 защита спауна автоматически отключается, если у сервера нет ни одного оператора. |
view-distance | Число (3-15) | 10 | Регулирует радиус обновляемых чанков для отсылки игроку. Для справки: дальность прорисовки Far в версиях до 1.7 отображает область в радиусе 10 чанков. |
white-list | true / false | false | Позволяет включать/отключать использование вайтлиста на сервере. При true администратору сервера необходимо будет вручную добавлять ники игроков в белый список. Если установлено значение false, любой игрок сможет зайти на данный сервер, зная его IP-адрес и порт. Администраторы сервера имеют возможность зайти на сервер вне зависимости от белого списка. |
max-world-size | Число (1-29999984) | 29999984 | Устанавливает границу мира на выбранном радиусе, считая от нулевой координаты. Установка границы, выходящей за пределы мира не сделает ничего.
|
network-compression-threshold | Число n | 256 | По умолчанию он позволяет пакетам размером n-1 байт нормально работать, но пакет, состоящий из n байтов или более, будет сжат. Таким образом, меньшее число означает большее сжатие, но сжатие небольшого количества байтов может на самом деле привести к большему результату, чем то, что произошло.
|
resource-pack-sha1 | Строка | blank | Необязательный SHA-1 дайджест пакета ресурсов, в шестнадцатеричном виде в нижнем регистре. Рекомендуется указать это. Это не используется для проверки целостности пакета ресурсов, но повышает эффективность и надежность кэширования. |
use-native-transport | true / false | true | Улучшение производительности сервера Linux: оптимизировать отправку / получение пакетов в Linux
|
max-tick-time | Число (0 - (2^63 - 1)) | 60000 | Максимальное количество миллисекунд, которое может занять один тик, прежде чем серверный сторожевой таймер останавливает сервер с сообщением. Один тик сервера занял 60,00 секунд (должно быть не более 0,05 сек); Считая, что он потерпел крах, сервер принудительно завершит работу. Как только этот критерий удовлетворен, он вызывает System.exit (1). |
broadcast-console-to-ops | true / false | true | Посылать в чат сообщения об использовании op-комманд, таких как give или gamemode.
|
Первая строчка "#Minecraft server properties" необходима для определения сервером, что это именно тот действующий файл server.properties, который он будет использовать в данный момент.
Вторая строчка "#Thu Jul 07 16:45:52 MSK 2016" описывает даты последнего изменения сервером данного файла. Важно помнить, что сервер берёт те дату и время, которые установлены операционной системой.
Формат:
'#' <Первые три буквы дня недели на английском языке> <Первые три буквы месяца на английском языке> <Число> <Время ЧЧ:ММ:СС> <Часовой пояс> <Год>
Непосредственно перед началом игры на сервере вы можете настроить указанные выше параметры сервера.
Любое изменение настроек в этом файле требует перезапуск сервера. Кроме того, сервер иногда может записывать изменения в этот файл, поэтому перенастройку лучше производить при отключенном сервере.
Стоит отметить, что на сервере могут одновременно играть игроки как из локальной сети, так и из сети Интернет.
Если вы держите сервер на том же компьютере, на котором собираетесь играть, для подключения достаточно ввести адрес 127.0.0.1
или localhost
. Этот адрес задействует виртуальный сетевой интерфейс (loopback), который доступен всегда, даже если у компьютера нет сетевой карты.
Если вы не можете подключиться даже через петлевой интерфейс, это повод проверить настройки антивируса и файерволла. Добавьте в исключения Minecraft Server и порт 25565.
Процесс настройки сервера игры по локальной сети намного проще создания доступного из Интернета, и является более простым в плане возникновения ошибок при подключении к серверу.
С версии 1.3.1 вы можете открыть свой мир из одиночной игры для локальной сети, для этого достаточно загрузить мир, нажать паузу и выбрать "Открыть мир для локальной сети". Однако, такой способ несколько ограничивает возможности владельца сервера.
Чтобы игроки смогли подключится к вашему серверу, их компьютеры должны быть объединены с компьютером-сервером по локальной сети (LAN). В строке ввода IP-адреса сервера они должны написать внутренний IP-адрес компьютера, на котором создан сервер. Локальный IP-адрес желательно должен быть статическим (быть прописанным в настройках сетевого подключения вручную) или привязанным к MAC-адресу.
В качестве локальной сети может выступать как ваша домашняя локальная сеть, так и локальная сеть провайдера или псевдолокальная сеть (VPN), предоставляемая программами вроде Hamachi.
Чтобы узнать внутренний IP-адрес сетевой соединения, на котором вы создаете LAN сервер, выполните следующие пункты:
После этого программа ниже отобразит основные данные про сети, к которым подключен компьютер. Внутренний IP-адрес отвечает строке «IP-адрес» в блоке «Home Network — Ethernet адаптер:».
Для того, чтобы понять возможность подключения к вашему серверу из Интернета нужно сначала определить тип IP-адреса, который используется. Данная информация может быть размещена в условии договора с провайдером интернета или на личной странице пользователя на сайте провайдера.
Во-первых, провайдер может предоставлять выделенный IP-адрес, который присвоен именно вам (то есть у вас прямой выход в Сеть), а может использовать один внешний адрес для многих пользователей. В первом случае проблем с настройкой доступа быть не должно, и вам достаточно разобраться со своим оборудованием. Однако если вы находитесь в локальной сети провайдера, ваш компьютер не будет виден из Интернета и доступ к серверу будет невозможен. Возможно, провайдер может предоставить внешний адрес как дополнительную услугу.
Для того, чтобы различить внешний и внутренний адрес, стоит сравнить адрес, под которым вы видны в сети и адрес, который получает ваш компьютер или роутер/модем, подключенный к линии провайдера (как правило, доступен по адресу 192.168.1.1 или 192.168.0.1). Существует много сайтов, которые определяют IP-адрес посетителя в онлайн-режиме, например, 2IP.ru.
Кроме того, ваш адрес может быть постоянным, статическим, или меняться при каждом переподключении к провайдеру, то есть быть динамическим. Самым легким способом определения типа адреса является переподключение модема и сравнение внешних IP-адресов. Если после повторного подключения модема IP-адрес изменился, то это значит, что у вас динамический IP-адрес. Динамические адреса являются более распространенными, чем статические, но при создании сервера игры рекомендуется иметь статический IP-адрес, так как динамический адрес меняется при каждом переподключении к провайдеру (и вам придется постоянно сообщать новый адрес вашим игрокам). Тем не менее, статический адрес - необязательное условие для работы сервера.
К тому же, существуют сервисы (в том числе и бесплатные), предоставляющие домены третьего уровня, например, dyn.com/dns/. Обновление адреса производится обычно при помощи специальной программы, которую вы должны будете установить на компьютер, но некоторые модемы и роутеры могут сами выполнять эту функцию (посмотрите в интерфейсе маршрутизатора на предмет Dynamic DNS). Многие провайдеры предлагают статический IP-адрес в качестве дополнительной услуги.
Чтобы подключиться к Вашему серверу, игроки в строке ввода IP-адреса сервера в клиенте игры должны ввести Ваш внешний IP-адрес или домен (адрес сайта) и нажать кнопку подключения к серверу. Внешний IP-адрес может узнать владелец сервера и сказать его игрокам, которые хотят подключиться к его серверу. Узнать ваш внешний IP-адрес могут помочь сайты: SpeedTest.net, 2IP.ru, Smart-IP.net.
Если игроки не могут подключиться к вашему серверу, смотрите раздел FAQ.
Если у вас возникают проблемы с внутренним IP-адресом, можно попробовать Hamachi, P2PLauncher, EasyVPN, Garena или подобные сервисы. Самым популярным из них является Hamachi. Создатель сервера и подключающиеся должны скачать и установить Hamachi. Далее:
Для сервера:
Для игроков:
Самая простая в использовании - это программа P2PLauncher, соединяющая компьютеры через сеть peer-to-peer. Просто поместите её в папку с игрой и запустите. На сервере:
На клиенте:
Открытие, или проброс портов (Port Forwarding) позволяет клиентам, подключащимся из Интернета, получать доступ к серверу, который находится за маршрутизатором или модемом. Проблема с открытием портов часто встречается при создании сервера в локальной подсети. Маршрутизатор или модем могут блокировать порт, который пытается использовать сервер игры. Для разных моделей эта процедура происходит немного по-разному.
Есть 2 способа открытия портов:
Чтобы проверить, удалась ли процедура открытия порта, попросите кого-нибудь вне вашей локальной сети подключиться к серверу, используя внешний IP-адрес (вы также можете попробовать подключиться к себе по внешнему адресу самостоятельно, но неудача в этом случае не всегда означает недоступность сервера). Или же загрузите и установите программу PFPortChecker. В поле Port введите номер порта, который вы пытались открыть. В поле Protocol сначала выберите UDP, а потом TCP. Затем нажмите кнопку проверки. После окончания проверки программа выведет 3 итога для TCP и 3 для UDP. Если текст всех 6 результатов проверки будет зелёного цвета, значит процедура удалась полностью. Для примера смотрите скриншот справа.
В данном разделе описаны элементы администрирования сервера — процесс управления и поддержания корректной работы сервера во время его работы при использовании командной строки и элементов графического интерфейса.
GUI окна сервера состоит из следующих элементов:
В консольном, или nogui, режиме присутствуют только лог и командная строка. Они исполняют те же функции, что и соответствующие окна графического режима.
Запустить в консольном режиме можно только .jar-версию сервера (server.jar). Для этого нужно в команде запуска указать параметр nogui
:
java -Xmx1024M -Xms1024M -jar server.jar nogui
Команды в игре делятся на две группы: для операторов и игроков. С их помощью можно получить доступ к некоторым полезным возможностям, а операторам осуществлять контроль за состоянием сервера.
Q: Игроки не могут разрушать блоки, всё сломанное возвращается обратно. Как это исправить?
A: Рядом с точкой спауна есть защищенная зона, блоки в которой могут ставить и уничтожать только операторы сервера. То есть, игрокам нужно просто отойти ровно на столько блоков в любую сторону, сколько стоит в spawn-protection
в настроечном файле сервера.
Q: В логе сервера всё время появляется сообщение «Can’t keep up! Is server overloaded or system time changed?» Что это значит?
A: Это значит, что сервер в данный момент перегружен и его работа может быть не совсем исправна. Уменьшить нагрузку на сервер можно, закрыв все сторонние программы, тем самым снизив нагрузку на процессор и освободив дополнительный объём оперативной памяти. Можно попробовать перезапустить сервер. Скорость работы сервера сильно зависит от количества игроков, играющих на нём.
Q: Игроки жалуются на то, что сервер жутко лагает. Как мне исправить это?
A: Возможно, скорость подключения к сети Интернет недостаточная, или аппаратное обеспечение компьютера слишком «слабое». Постарайтесь минимизировать использование интернет-трафика (закрыть интернет-браузеры, торрент-клиенты и прочее) и снизить нагрузку на использование ресурсов компьютера. Добавьте Server.jar в список исключений Вашего фаерволла/антивируса, а лучше всего выключите их. Попробуйте перезапустить сервер. Попросите игроков, у которых лагает, переподключиться к серверу — возможно, проблема лагов на стороне клиента.
Q: Игроки не могут подключиться к моему серверу. Что делать?
A: Сначала попробуйте подключиться к нему самому, использовав в качестве IP-адреса сервера localhost. Если Вам не удалось подключиться, сервер создан полностью неправильно. Возможно, Вы допустили ошибку при конфигурации файла server.properties, или Ваш антивирус агрессивно блокирует сервер игры. Если же Вам удалось подключиться к собственному серверу, проверьте, правильно ли Вы определили собственный IP-адрес. Возможно, Вы забыли открыть порты, которые использует сервер игры. Просмотрите лог сервера на наличие ошибок — они могут указать Вам на причину возникновения проблемы.
Q: При подключении игроки получают сообщение «Outdated server!» / «Outdated client!»
A: Сервер и клиент должны быть одной и той же версии, внимательно проверьте это.
Q: Я хочу запустить на сервере свою карту из одиночной игры. Как мне это сделать?
A: Из папки saves, которая находится в каталоге установленной игры (.minecraft), перенесите папку с Вашей картой (например, New World) в папку, где лежит сервер игры. Не забудьте поменять level-name в файле server.properties, если ваша папка называется не так, как текущая папка сервера. Перенос должен осуществляться при выключенном сервере.
Q: Как мне создать новый мир?
A: Удалите все файлы из Вашей папки мира сервера или укажите новое имя мира в параметре level-name в файле server.properties.
Q: Я хочу обновить сервер. Что для этого нужно?
A: Сначала сделайте бекап — если что-то пойдет не так, Вы сможете восстановить сервер из резервной копии. Затем заново скачайте с официального сайта исполняемый файл сервера и замените им Ваш старый. Затем запустите сервер — все настройки, карты и игроки должны сохраниться.
Q: Как мне добавить на сервер функции /home /warp /spawn и другие?
A: Поищите в плагинах к Bukkit. Например, есть большой плагин CommandBook.
Q: При создании сервера в логе появляется сообщение: «FAILED TO BIND TO PORT. Perhaps a server is already running on that port?». Что делать?
A: Это значит, что порт, который использует сервер, уже занят, или доступ к нему закрыт. Отключите Ваш антивирус и файерволл, программы использующие интернет. Вероятно, вы указали порт, использующийся другой программой (например, веб-сервером или торрент-клиентом) или перед началом создания сервера Вы забыли проделать процедуру открытия портов на модеме/маршрутизаторе. Чтобы узнать, как её сделать, смотрите последний раздел данной статьи.
Q: В логе сервера появляется сообщение: «[INFO] %username% lost connection: End of stream». Что мне делать?
A: Такая проблема может иногда случаться на операционной системе Windows XP SP3. Попробуйте запустить сервер на виртуальной машине (например, VirtualBox) или смените операционную систему.
Q: При запуске сервера я получаю ошибку, что моя версия Java устарела. Как мне узнать, какая у меня версия Java?
A: Для работы игры требуется Java 8. Чтобы проверить Вашу версию, сделайте следующее:
java -version
и нажмите Enterjava version
. Число, стоящее далее — версия Java.Если в ответ вы получили сообщение такого вида:
java не является внутренней или внешней командой, исполняемой программой или пакетным файлом (Windows) bash: java: command not found (Linux & OS X)
то это означает, что Java у Вас не установлена или не настроены переменные среды (последнее обычно только для Windows). Попробуйте сделать следуещее:
;%ProgramFiles(x86)%\Java\jre6\bin
Если Ваша версия ниже 1.6.1 или Java у Вас не установлена, перейдите на страницу загрузки Java и скачайте последнюю версию.
Q: У меня динамический IP! А покупать статический адрес ради сервера Minecraft’a не хочется…
A: Используя сервисы вроде DynDNS или No-IP, Вы можете получить статический домен третьего уровня (myminecraft.dyndns.org
, serverminecraft.zapto.org
…)