DynMap

Автор |
mikeprimm, FrozenCow2 |
---|---|

Платформа |
JRE |

Написано на |
Java |

Дата выпуска |
30 августа 2011 г. |

Последняя версия |
v3.6 |

Размер |
6.83 МБ |

Лицензия | |

Исходный код | |

Совместимо с |
до 1.20.1 |

Поддержка Нижнего мира |
Есть |

Ссылки |


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

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

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

- Настраиваемые карты для каждого мира
- Прорисовка карт в режиме реального времени
- Отображение лиц игроков на карте
- В браузере можно чатиться с игроками
- А их сообщения отображаются в облачках (а-ля комикс) или в обычном чате
- На карте отображается текущее время Minecraft
- На карте отображается текущая погода Minecraft
- На карте могут отображаться регионы, созданные при помощи 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`

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

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

**Вопрос:** Почему чат отображает вместо русских символов кракозябры?

**Ответ:** Обновите версию плагина, в новых версиях кириллица отображается корректно.

**Вопрос:** Я только что изменил конфигурацию плагина, но никаких изменений на карте не вижу?

**Ответ:** Попробуйте перезапустить сервер или ввести команду `/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 скрыть любые рудные блоки, вынуждая их отображаться как камень.

- —
**blockplaced:**заставляет обновить тайлы, когда игрок размещает блок. - —
**blockbreak:**заставляет обновить тайлы, когда игрок разрушает блок. - —
**blockburn:**заставляет обновить тайлы, когда блок уничтожает огонь. - —
**pistonmoved:**этот триггер заставляет обновить тайлы, когда поршни двигают блоки. - —
**explosion:**заставляет обновить тайлы, когда блоки уничтожает взрыв*(рекомендуется)*

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

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

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

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

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

## Примечания

- ↑ Хотя пользователи Windows похоже тоже не обделены: существует аналогичный проект Dokan SSHFS