DynMap

DynMap
Dynmap shot.png
Автор mikeprimm, FrozenCow2
Платформа JRE
Написано на Java
Дата выпуска 30 августа 2011 г.
Последняя версия v3.2.1
Размер 6.83 МБ
Лицензия Apache License version 2.0
Исходный код Доступен
Совместимо с до 1.17.1
Поддержка Нижнего мира Есть
Ссылки

DynMap — это плагин для сервера под управлением Bukkit. Он нарисует карту вашего сервера Minecraft прямо в браузере, наподобие привычного Google Maps. Он очень прост в установке, так как веб-сервер встроенный в DynMap работает прямо из коробки, хотя всё также есть возможность интеграции карты с существующим сайтом на своем веб-сервере, например Apache. Гибкость DynMap позволяет рисовать ваш мир, используя различные технологии построения, тем самым поставив упор на быстродействие, либо наоборот на проработку высокой детализации.

В зависимости от ваших требований к DynMap, встроенные компоненты позволят вам добавлять/удалять ту или иную функциональность. Сейчас DynMap поставляется с такими компонентами, которые добавляют поддержку чата с воздушными шарами, переписку через веб + интеграция с HeroChat, а также отображение на карте регионов созданных в WorldGuard, Residence и Towny.

Основные возможности

Установка

Распакуйте архив dynmap-*-bin.zip в папку «plugins». Если вы обновляете плагин, то согласитесь перезаписать все файлы.

Если у вас запущен отдельный веб-сервер (например Apache), то скопируйте файлы из «plugins/dynmap/web/» в корень «http-root». При следующем обновлении плагина, не забудьте обновить только что скопированные файлы на веб-сервер.

Первый запуск

После запуска на сервере CraftBukkit, вы можете проверить работу плагина в браузере по адресу http://ipсервера:8123/. В случае если вы запустили CraftBukkit на своём компьютере, то он откроется и по адресу http://localhost:8123/. На загруженной странице вы должны увидеть игроков, разумеется только тех, которые находятся в игре. Обратите внимание что карты ещё нет, поэтому фон будет чёрным.

Если вы хотите карту с высокой детализацией, то сейчас самый удачный момент сделать это. Просто включите (раскомментируйте) опцию deftemplatesuffix: hires в одной из верхних строк файла configuration.txt. Более подробную информацию об опции deftemplatesuffix вы найдёте в разделе о настройках плагина.

Если вы просто хотите посмотреть как работает DynMap, то просто введите в игре команду: /dynmap fullrender. Ниже вы найдете более подробную информацию о командах и уровнях доступа, а пока у нас только первый запуск :). Тем временем карта будет постепенно проявляться в вашем браузере, не надо спешить, дайте ей время загрузиться. Сообщения в игре будут вас информировать о текущем состоянии работы плагина, с итоговой оценкой скорости рендеринга (прорисовки) карты.

Часто задаваемые вопросы

Вопрос: Почему чат отображает вместо русских символов кракозябры?
Ответ: Обновите версию плагина, в новых версиях кириллица отображается корректно.

Вопрос: Я только что изменил конфигурацию плагина, но никаких изменений на карте не вижу?
Ответ: Попробуйте команды /reload или /dynmap reload, хотя можно просто перезапустить сервер. Если это не поможет, то анализируйте логи сервера (server.log) на предмет ошибок.

Вопрос: Как я могу разместить DynMap на своем веб-сервере, если он находится на том же компьютере?
Ответ: Если ваш веб-сервер находится на том же компьютере что и CraftBukkit, то используйте руководство по настройке DynMap без встроенного веб-сервера(англ.)

Вопрос: Как мне обеспечить доступ к карте для всех, если у меня нет своего веб-сервера?
Ответ: Просто откройте TCP порт № 8123 со своего сервера CraftBukkit, это позволит всем желающим зайти на DynMap. Для более высокой безопасности, всё же лучше использовать веб-сервер (например Nginx или Apache), который займется проксированием трафика DynMap.

Вопрос: Как я могу разместить DynMap на веб-сервере, если он находится на другом компьютере?
Ответ: Проброс портов описанный выше всё ещё может помочь в вашей проблеме. Но если это в вашей реализации невозможно, или вы просто хотите разгрузить свой сервер, то решением может стать периодическая синхронизация данных plugin/dynmap/web между сервером CraftBukkit и внешним веб-сервером, использую RSync или FTP. Конечно потеряется вся прелесть онлайн обновлений: карт, игроков, чата и т. д.
Если сервера у вас на Linux[1], то можно настроить режим реального времени, используя sshfs или fuseftp, смонтировав удалённую директорию web/standalone вашего веб-сервера на ваш CraftBukkit сервер в plugins/dynmap/web/standalone

Вопрос: Как мне разместить DynMap на сайте?
Ответ: Для начала убедись что у всех открывается ссылка на DynMap. Если у вас настроен проброс портов, то ссылка должны быть типа http://внешнийIPадрес:8123. Если же DynMap размещён на веб-сервере, то адрес должен быть типа http://вашсайт/map/
Теперь, для размещения DynMap на вашем сайте можно воспользоваться тегом iframe. Так же, для вёрстки вам понадобится знание HTML, но если у вас стоит CMS, то всё упрощается введением всего лишь одной строки:

<iframe src="http://вашадрес:8123/" width="800" height="600" />

Вопрос: Как переключить карту на высокую детализацию?
Ответ: Для этого вам нужно включить HD прорисовку. Делается это очень просто, откройте файл plugins/dynmap/configuration.txt, и раскомментируйте строку:

#deftemplatesuffix: hires 

В итоге должно получиться так:

deftemplatesuffix: hires 

Вопрос: Как мне изменить отображаемый порядок расположения миров в боковой панели?
Ответ: Откройте файл plugins/dynmap/worlds.txt, и в разделе описания миров, после строки worlds: запишите названия (который также открывает раздел описания мира) в любом порядке, этот порядок будет использоваться в боковой панели. Пример правильной конфигурации:

worlds: — name: world — name: world_nether — name: world_the_end

В этом примере используются имена миров «world», «world_nether» и «world_the_end».

Вопрос: Как изменить отображаемые названия миров?
Ответ: Откройте файл plugins/dynmap/worlds.txt и в разделе описания мира, в поле title: напишите желаемое название мира. Пример правильной конфигурации:

worlds: — name: world title: "Обычный мир" — name: world_nether title: "Нижний мир" — name: world_the_end title: "Край"

В этом примере используются имена миров «world», «world_nether» и «world_the_end». Так же, для того, что бы DynMap понимал русские символы, необходимо файл конфигурации редактировать в формате UTF-8. Сделать это можно, например при помощи текстового редактора Notepad++. По умолчанию, тот же Notepad++ сохраняет файлы в кодировке ANSI, поэтому, предварительно до редактирования файла, рекомендуется выбрать кодировку файла UTF-8 (Кодировки -> Кодировать в UTF-8).

Вопрос: Как скрыть мир из списка?
Ответ: Откройте файл plugins/dynmap/worlds.txt и в разделе описания мира который вы хотите скрыть, напишите enabled: false. Пример правильной конфигурации:

worlds: — name: world title: "Обычный мир" — name: world_nether title: "Нижний мир" enabled: false — name: world_the_end title: "Край" enabled: false

В этом примере оба мира «world_nether» и «world_the_end» будут скрыты, так как в их разделе описания мира имеется запись enabled: false.

Вопрос: Как удалить карту пещер (слой Cave) при отключенном режиме высокой детализации (#deftemplatesuffix: hires)?
Ответ: Сделайте копию файла plugins/dynmap/templates/normal.txt с именем custom-normal.txt. У вас должен появится файл plugins/dynmap/templates/custom-normal.txt, откройте его и удалите следующие строки:

 — class: org.dynmap.kzedmap.CaveTileRenderer name: cave title: "Cave" prefix: ct maximumheight: 127

Вопрос: Как удалить карту пещер (слой Cave) при включенном режиме высокой детализации (deftemplatesuffix: hires)?
Ответ: Сделайте копию файла plugins/dynmap/templates/normal-hires.txt с именем custom-normal-hires.txt. У вас должен появится файл plugins/dynmap/templates/custom-normal-hires.txt, откройте его и удалите следующие строки:

 — class: org.dynmap.hdmap.HDMap name: cave title: "Cave" prefix: ct perspective: iso_SE_60_lowres shader: cave lighting: default mapzoomin: 3

Вопрос: Как можно скрыть на карте определённых игроков?
Ответ: Вам поможет команда /dynmap hide ИмяИгрока, где «ИмяИгрока» — это имя игрока, которого вы хотите скрыть.

Вопрос: А как можно скрыть всех игроков, кроме определённых?
Ответ: Откройте файл plugins/dynmap/configuration.txt и установите параметр display-whitelist равным true. Пример правильной конфигурации:

# Treat hiddenplayers.txt as a whitelist for players to be shown on the map? (Default false) display-whitelist: true

Теперь все игроки скрыты. Что бы отобразить определённого игрока достаточно ввести команду /dynmap show ИмяИгрока

Вопрос: Как отключить облачки чата?
Ответ: Откройте файл plugins/dynmap/configuration.txt установите знак комментария # в начале следующих строк:

 — class: org.dynmap.ClientComponent type: chatballoon focuschatballoons: false

После изменений должно получится так:

# — class: org.dynmap.ClientComponent # type: chatballoon # focuschatballoons: false

Вопрос:В чате в место русских букв абракадабра(Как включить поддержку русского языка) ?
Ответ: Откройте файл plugins/dynmap/configuration.txt и в параметре cyrillic-support: false заменить на true .

Настройки плагина

Идём в конфиг configuration.txt находящийся в /plugins/dynmap Список некоторых параметров и их расшифровка:

renderinterval: используется для указания интервала обновления одного блока карты, который может быть изменён, например при воздействии на этот участок блока игроками. При задании слишком маленького значения, приведёт к чрезмерной нагрузке на сервер. По умолчанию, этот интервал равен 1-ой секунде. Большинство серверов могут работать с малыми значениями, вплоть до 0.2 секунд.

tiles-rendered-at-once: Сколько ядер юзать (по умолчанию 1\2 ядра)

hideores: true скрыть любые рудные блоки, вынуждая их отображаться как камень.

defaultzoom: настройка зума карты по умочанию

defaultworld: мир по умолчанию (по умолчанию world)

defaultmap: вид мира по умолчанию (по умолчанию flat)

sendhealth: отображать или нет здоровье игроков

hideifshadow: скрывать информацию об игроке, если значение уровня света установлена ниже 15 (0 = при полной темноте, 4 = под открытым ночным, 15 = при дневном свете)

Примечания

  1. Хотя пользователи Windows похоже тоже не обделены: существует аналогичный проект Dokan SSHFS
В данной статье используются материалы из статьи «DynMap» с вики-сайта Minecraft Wiki, расположенного на Фэндоме, и они распространяются согласно лицензии Creative Commons Attribution-Share Alike. Авторы статьи.