Pterohost docs

Dynmap: онлайн-карта сервера Minecraft в браузере

Как установить Dynmap на сервер Minecraft, настроить рендер мира, открыть веб-интерфейс и подключить реверс-прокси. Полный гайд 2026.

Кратко: Dynmap - плагин, который рендерит мир Minecraft и отдаёт интерактивную карту в браузере через встроенный веб-сервер. Установка занимает 5 минут, первый рендер - от 10 минут до нескольких часов в зависимости от размера мира.

Dynmap: онлайн-карта сервера Minecraft в браузере

Dynmap превращает ваш Minecraft-сервер в интерактивный веб-атлас: любой игрок или администратор может открыть браузер и в реальном времени видеть, кто где стоит, как выглядит мир с высоты птичьего полёта, и даже переписываться через чат прямо с веб-страницы. Плагин существует с 2011 года и к 2026 году остаётся золотым стандартом онлайн-карт для Bukkit/Spigot/Paper-серверов. Dynmap поддерживает все актуальные версии Minecraft - от 1.20 до 1.21.x, работает как на Java, так и на серверах с гибридными ядрами, и интегрируется с десятками других плагинов через API. В этом гайде разберём полную установку, настройку рендера, веб-доступ через реверс-прокси и тонкую настройку производительности.

Pterohost - игровой хостинг с NVMe-дисками и DDoS-защитой, где Dynmap работает без дополнительных настроек файрвола. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг

Что такое Dynmap и как он работает

Dynmap состоит из двух частей: серверного плагина и встроенного веб-сервера. Плагин читает данные чанков из мира Minecraft, рендерит изометрические или плоские тайлы (PNG-изображения) и сохраняет их в папку plugins/dynmap/web/tiles/. Встроенный Jetty-сервер раздаёт эти тайлы вместе со статическим фронтендом на основе Leaflet.js.

Карта обновляется инкрементально: Dynmap отслеживает изменения чанков и ставит их в очередь на перерисовку. По умолчанию обновление тайла происходит через 30 секунд после последнего изменения в чанке.

Dynmap поддерживает три режима рендера:

  • Изометрия (Surface) - вид сверху под углом, самый популярный
  • Плоский (FlatMap) - вид строго сверху, похож на карту биомов
  • Пещерный (CaveMap) - подземные структуры

Требования и совместимость

ПараметрЗначение
Серверное ядроBukkit, Spigot, Paper, Purpur, Mohist, Arclight
Minecraft1.18 - 1.21.x (актуально на 2026)
JavaJava 17 или новее
ОЗУ сервераОт 2 ГБ (4+ ГБ для комфортного рендера)
Место на диске100-500 МБ на мир среднего размера (тайлы)
Dynmap версия3.7+ (последняя стабильная на 2026)

Для Folia нужна специальная сборка Dynmap - обычный jar не подойдёт, проверьте GitHub-релизы с пометкой folia.

Установка Dynmap

Скачивание плагина

Актуальные релизы Dynmap находятся на официальном ресурсе:

  • Hangar (рекомендуется): https://hangar.papermc.io/dynmap/dynmap
  • GitHub Releases: https://github.com/webbukkit/dynmap/releases
  • Modrinth: https://modrinth.com/plugin/dynmap

Скачайте файл Dynmap-X.Y.Z-spigot.jar (для Paper/Spigot) или Dynmap-X.Y.Z-paper.jar если есть отдельная Paper-сборка.

Размещение на сервере

  1. Остановите сервер.
  2. Поместите JAR-файл в папку plugins/.
  3. Запустите сервер - Dynmap создаст папку plugins/dynmap/ с конфигами.
  4. Дождитесь строки в логе:
[Dynmap] Enabled
[Dynmap] Web server started on port 8123

После этого карта доступна по адресу http://<IP-сервера>:8123.

Основная конфигурация (configuration.txt)

Главный файл настроек - plugins/dynmap/configuration.txt. Разберём ключевые параметры:

# Порт встроенного веб-сервера
webserver-port: 8123

# Привязка к конкретному IP (пусто = все интерфейсы)
webserver-bindaddress: 0.0.0.0

# Отключить встроенный веб-сервер (если используете реверс-прокси с nginx)
# Оставьте true если хотите встроенный сервер
disable-webserver: false

# Интервал обновления карты в браузере (секунды)
updaterate: 2.0

# Задержка перед рендером изменённого чанка (секунды)
renderacceleratethreshold: 60

# Количество потоков рендера (1-2 для экономии CPU)
render-concurrency: 2

# Показывать чат на карте
webchat-requires-login: false
webchat-interval: 5

# Защита паролем всего веб-интерфейса
# loginrequired: true

Настройка миров (worlds.txt или секция worlds в configuration.txt)

В файле plugins/dynmap/worlds.txt можно указать параметры для каждого мира:

worlds:
  - name: world
    title: "Основной мир"
    enabled: true
    maps:
      - class: org.dynmap.hdmap.HDMap
        name: flat
        title: "Плоская карта"
        prefix: flat
        perspective: iso_SE_30_hires
        lighting: shadows
        mapzoomin: 3
        mapzoomout: 3
      - class: org.dynmap.hdmap.HDMap
        name: surface
        title: "Изометрия"
        prefix: t
        perspective: iso_SE_30_hires
        lighting: shadows
        mapzoomin: 3
        mapzoomout: 5
  - name: world_nether
    title: "Незер"
    enabled: true
  - name: world_the_end
    title: "Энд"
    enabled: true

Запуск рендера и основные команды

После настройки нужно запустить первоначальный рендер. Без него карта пуста.

КомандаОписание
/dynmap fullrender worldПолный рендер мира world
/dynmap fullrender world:flatРендер только слоя flat
/dynmap updaterender worldОбновить изменившиеся чанки
/dynmap cancelrender worldОтменить текущий рендер
/dynmap radiusrender 200 worldРендер в радиусе 200 блоков от игрока
/dynmap pause allПриостановить все рендеры
/dynmap statsСтатистика рендера (очередь, прогресс)
/dynmap reloadПерезагрузить конфиг без рестарта сервера

Для консоли команды те же, но без слэша:

dynmap fullrender world

Прогресс рендера виден в консоли сервера и в статусе на самой карте (нижний правый угол).

Реверс-прокси через Nginx

Встроенный Jetty-сервер Dynmap работает надёжно, но для production-окружения лучше закрыть порт 8123 и проксировать трафик через Nginx с HTTPS.

Конфиг Nginx для Dynmap

Создайте файл /etc/nginx/sites-available/dynmap.example.com:

server {
    listen 80;
    server_name map.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name map.example.com;

    ssl_certificate /etc/letsencrypt/live/map.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/map.example.com/privkey.pem;

    # Кэшировать тайлы карты агрессивно
    location /tiles/ {
        proxy_pass http://127.0.0.1:8123;
        proxy_set_header Host $host;
        proxy_cache_valid 200 10m;
        expires 10m;
        add_header Cache-Control "public";
    }

    # Остальные запросы - без кэша (чат, онлайн-данные)
    location / {
        proxy_pass http://127.0.0.1:8123;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_read_timeout 86400;
    }
}

Активируйте конфиг:

ln -s /etc/nginx/sites-available/dynmap.example.com /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

Если сервер на хостинге с панелью Pterodactyl

В этом случае прямой доступ к /etc/nginx/ недоступен. Вариантов два:

  1. Открыть порт 8123 через файрвол панели (раздел “Сеть” или “Ports”) и использовать http://IP:8123 напрямую.
  2. Попросить поддержку хостинга настроить реверс-прокси или воспользоваться Cloudflare Tunnel.

В configuration.txt убедитесь, что webserver-port совпадает с проброшенным портом.

Маркеры и слои

Dynmap поддерживает маркеры - иконки и области на карте. Ими можно обозначать города, спавны, фермы.

Управление маркерами через команды

# Добавить маркер в текущей позиции
/dmarker add name:"Спавн" icon:default set:markers

# Добавить маркер с указанием координат
/dmarker add name:"Шахта" icon:mineshaft set:markers x:100 y:64 z:-200 world:world

# Список маркеров в сете
/dmarker list set:markers

# Удалить маркер
/dmarker delete name:"Шахта" set:markers

# Создать новый сет (слой) маркеров
/dmarker addset name:"Города" label:"Города игроков"

Доступные иконки: default, world, tower, house, castle, mineshaft, portal, chest, flag и другие. Полный список - в папке plugins/dynmap/web/images/markers/.

Создание областей (регионы)

Dynmap может показывать регионы WorldGuard и Residence как слои на карте. Для этого нужен дополнительный плагин:

  • Dynmap-WorldGuard: https://dev.bukkit.org/projects/dynmap-worldguard
  • Dynmap-Residence: аналогичный плагин для Residence

Установка стандартная - JAR в папку plugins/, настройка в отдельном конфиге плагина.

Скрытие игроков и приватность

По умолчанию все игроки видны на карте. Это можно изменить несколькими способами.

Полное отключение маркеров игроков

В configuration.txt:

# Не показывать игроков совсем
dynmap:
  players:
    hideall: true

Или через секцию в configuration.txt:

hiddenplayers:
  - Steve
  - notch

Права на скрытие (LuckPerms/PermissionsEx)

Dynmap использует следующие права:

dynmap.playermarkers.hide       - скрыть себя с карты
dynmap.playermarkers.hidename   - скрыть имя, но оставить маркер
dynmap.webchat                  - писать в чат через веб-интерфейс
dynmap.render                   - запускать рендер
dynmap.fullrender               - запускать полный рендер

Пример выдачи права на скрытие через LuckPerms:

/lp user Steve permission set dynmap.playermarkers.hide true

Режим невидимки через команду

Игрок может скрыться сам командой:

/dynmap hide     - скрыть себя
/dynmap show     - показать себя снова

Производительность и предрендер

Оптимизация рендера

Рендер большого мира - тяжёлая операция. Несколько способов снизить нагрузку:

Уменьшить качество тайлов: В worlds.txt для каждого рендера можно снизить hdscale:

maps:
  - class: org.dynmap.hdmap.HDMap
    name: flat
    perspective: iso_SE_30_lowres   # lowres вместо hires
    hdscale: 1                      # 1 = стандарт, 2 = hires, 0.5 = lowres

Ограничить количество потоков:

render-concurrency: 1   # вместо дефолтного 2-4

Ограничить зону рендера: Dynmap поддерживает rworld - радиус рендеримой области. Для выживательного сервера разумно ограничить 5000-10000 блоков:

worlds:
  - name: world
    renderrange: 10000   # блоки от 0,0

Отключить лишние слои: Нет смысла рендерить пещерную карту если она никому не нужна. Уберите ненужные записи из секции maps в worlds.txt.

Предрендер мира

Если мир уже сгенерирован на большую площадь, запустите полный рендер в нерабочее время:

# В консоли сервера (можно через screen/tmux)
dynmap fullrender world
dynmap fullrender world_nether
dynmap fullrender world_the_end

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

[Dynmap] Full render of 'world' active - 4523 chunks rendered (23% complete), 2.3 chunks/sec

Время рендера зависит от:

  • Размера мира (количество сгенерированных чанков)
  • Мощности CPU
  • Параметра render-concurrency
  • Выбранного режима (hires в 4 раза медленнее lowres)

Типичные цифры: мир 5000x5000 блоков в режиме iso_SE_30_hires при render-concurrency: 2 рендерится около 30-60 минут на современном VDS.

Настройка кэширования тайлов

Dynmap хранит тайлы в plugins/dynmap/web/tiles/. Это может занять много места. Настройки:

# Сжатие тайлов (уменьшает размер на 30-50%)
usegzip: true

# Формат тайлов (jpg = меньше размер, png = лучше качество)
image-format: jpg
image-quality: 85   # для jpg, 0-100

# Удалять тайлы пустых чанков
emptyzooms: true

Интеграция с другими плагинами

Dynmap имеет открытый API, который используют десятки плагинов:

ПлагинЧто добавляет на карту
Dynmap-WorldGuardРегионы WorldGuard как цветные области
Dynmap-ResidenceПриваты Residence
Dynmap-TownyГорода и нации Towny
Dynmap-GriefPreventionУчастки GriefPrevention
Dynmap-FactionsТерритории Factions

Установка любого из них: скачать JAR, положить в plugins/, перезапустить сервер. Каждый создаёт свой конфиг в plugins/dynmap-ПЛАГИН/.

Пример настройки Dynmap-WorldGuard (plugins/dynmap-worldguard/configuration.yml):

# Показывать регионы WorldGuard
regions:
  # Цвет по умолчанию
  default:
    fillcolor: "#FF0000"
    fillopacity: 0.35
    strokecolor: "#FF0000"
    strokeopacity: 0.8
    strokeweight: 3
  # Кастомный цвет для региона "spawn"
  spawn:
    fillcolor: "#00FF00"
    fillopacity: 0.5

Авторизация и защита интерфейса

По умолчанию карта открыта для всех. Если нужна защита:

Пароль на весь сайт

В configuration.txt:

loginrequired: true

После этого потребуется создать учётные записи для веб-интерфейса:

/dynmap webregister <логин> <пароль>

Разрешить чат только авторизованным

webchat-requires-login: true

Скрыть координаты игроков

Показывать маркеры, но не координаты:

player-info-protected: true

Диагностика проблем

Карта не открывается по порту 8123:

  • Проверьте, что порт открыт в файрволе: ufw allow 8123
  • Убедитесь, что Dynmap запустился: grep -i dynmap logs/latest.log
  • Проверьте, не занят ли порт другим процессом: ss -tlnp | grep 8123

Тайлы не обновляются:

  • Проверьте место на диске: df -h
  • Убедитесь, что рендер не на паузе: /dynmap stats
  • Посмотрите ошибки в plugins/dynmap/dynmap.log

Высокое потребление CPU:

  • Уменьшите render-concurrency до 1
  • Увеличьте renderacceleratethreshold до 120-300
  • Переключитесь с hires на lowres perspective

После обновления ядра сервера карта пустая:

  • Запустите /dynmap fullrender world заново
  • Проверьте совместимость версии Dynmap с новой версией ядра

Связанные материалы

Если вы только начинаете настройку сервера - ознакомьтесь с резервным копированием мира Minecraft, чтобы не потерять данные при экспериментах с плагинами. Подборка лучших плагинов для сервера поможет выбрать инструменты для управления правами, защиты территорий и экономики - многие из них интегрируются с Dynmap. Для управления игроками и правами используйте EssentialsX, который дополняет Dynmap командами телепортации и хоумов, отображаемыми как маркеры.

Заключение

Dynmap - зрелый и стабильный инструмент, который даёт серверу красивый и функциональный веб-интерфейс без сложной настройки. Установка занимает 10 минут, первый рендер запускается одной командой, а реверс-прокси через Nginx добавляет HTTPS и кастомный домен. Для публичных серверов Dynmap стал де-факто стандартом - игроки ценят возможность смотреть на мир в браузере, не заходя в игру. Настройте приватность игроков, ограничьте зону рендера под реальные нужды и не забудьте про регулярный updaterender для поддержания карты в актуальном состоянии.

Pterohost - Minecraft-хостинг с быстрыми NVMe-дисками и круглосуточной поддержкой - идеальная основа для сервера с Dynmap. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг