BlueMap vs Dynmap vs squaremap: какую карту сервера выбрать в 2026

BlueMap vs Dynmap vs squaremap: какую карту сервера выбрать в 2026

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

В 2026 году есть три серьезных варианта: BlueMap, Dynmap и squaremap. Они решают одну задачу, но делают это очень по-разному. Ниже разбираем каждый, сравниваем по нагрузке, фичам и сценариям, и даем готовые рецепты установки.

Зачем серверу веб-карта

Короткий список причин, чтобы не распыляться:

  • Навигация для игроков: ссылка в Discord, открыл карту, нашел нужный биом или базу друга
  • Маркеры точек интереса: спавн, магазины, варпы, арены, события
  • Отслеживание игроков в реальном времени (опционально, выключается по желанию)
  • Скриншоты и промо-материалы: свежий вид вашего мира для паблишинга
  • Модерация: админ видит активные зоны, аномальные постройки, кейв-клеймы
  • Бекап-визуализация: карта показывает, что было до большого события или падения

Карта не заменяет админ-инструменты вроде CoreProtect или Plan, но работает рядом с ними.

Три игрока на рынке

ПлагинОснованСтильПлатформаХарактер
BlueMap20203D HTML5 (three.js)Paper, Spigot, Fabric, Forge, SpongeВизуальный, современный, тяжелый на первом рендере
Dynmap20112D плюс 3D изометрияPaper, Spigot, Forge, FabricКлассика с максимумом фич, UI старой школы
squaremap20222D top-downPaper, FoliaМинимум, скорость, никакого legacy

Каждый имеет свое назначение. Не бывает объективно лучшего - бывает подходящий под задачу.

BlueMap: 3D карта с полным обзором мира

BlueMap рендерит мир в трехмерную модель и показывает ее в браузере через three.js. Игрок крутит камеру, приближает, отдаляет, переходит от поверхности в пещеры - это похоже на просмотр Google Earth вашего сервера.

Плюсы

  • Настоящий 3D взгляд, не плоская картинка
  • Современный UI с плавной навигацией
  • WebSocket для realtime позиции игроков
  • Работает на Paper, Fabric, Forge, Sponge
  • Хорошая документация и активное сообщество
  • Поддержка маркеров через API и конфиги
  • Красивое освещение и тени с shaders

Минусы

  • Рендер тяжелый по CPU, особенно первый проход для большого мира
  • Тайлы занимают много диска (в 3-5 раз больше, чем у squaremap для того же региона)
  • Требует WebGL в браузере игрока (на слабых устройствах тормозит)
  • Чувствителен к нестандартным блокам и модам (некоторые текстуры могут не отрендериться)

Установка на Paper

# 1. Качаем последний релиз для Paper
cd /your/server/plugins
wget https://github.com/BlueMap-Minecraft/BlueMap/releases/latest/download/BlueMap-5.X-paper.jar

# 2. Запускаем сервер, плагин создаст конфиг и остановится
# 3. Принимаем лицензию в config/core.conf
nano config/core.conf
# accept-download: true

# 4. Запускаем снова - начнется рендер

Ключевые настройки

Файл plugins/BlueMap/core.conf:

accept-download: true
metrics: false
data: "bluemap"
render-thread-count: 2

render-thread-count - сколько потоков выделить на рендер. На слабых серверах ставьте 1-2, на мощных 4-6. Не ставьте все ядра - сервер перестанет тянуть TPS.

Файл plugins/BlueMap/webserver.conf:

enabled: true
ip: "0.0.0.0"
port: 8100
webroot: "bluemap/web"

Pre-render мира

Большой мир (скажем, 10к блоков в каждую сторону от спавна) рендерится часами. Проще запустить pre-render через команду:

/bluemap freeze <world>       # остановить живой рендер
/bluemap fullrender <world>    # запустить полный рендер
/bluemap unfreeze <world>

Пока идет fullrender, TPS может просесть. Делайте это ночью или во время тех-работ.

Dynmap: классика и максимум фич

Dynmap появился в 2011 году. За это время он оброс функциями, плагинами-мостами и комьюнити-аддонами. Если вам нужны вещи типа "показывать на карте регионы WorldGuard", "вывести игровой чат", "сделать дисплей для GriefPrevention" - скорее всего, это только Dynmap.

Плюсы

  • Живой более 13 лет, обкатан на тысячах серверов
  • Поддерживает 2D flat, 3D isometric, surface, cave режимы
  • Интеграции: WorldGuard, Towny, Factions, GriefPrevention, Essentials
  • Встроенный веб-чат: игроки в мире и на карте общаются в одном чате
  • Dynamic Labels, полноценный API для сторонних плагинов
  • Работает на Paper, Spigot, Forge, Fabric

Минусы

  • UI выглядит устаревшим - Leaflet 2015 года
  • Рендер монопотоковый на одну карту, поэтому медленный
  • Обновляется нерегулярно, поддержка новых версий Minecraft с задержкой
  • Не поддерживает Folia (регион-поточная модель Paper)
  • Конфиг громоздкий, много YAML для простых задач

Установка на Paper

cd /your/server/plugins
wget https://dev.bukkit.org/projects/dynmap/files/latest -O Dynmap.jar

Перезапускаете сервер, Dynmap создаст папку plugins/dynmap/ с конфигами.

Настройка web-порта

Файл plugins/dynmap/configuration.txt:

webserver-bindaddress: 0.0.0.0
webserver-port: 8123
allow-symlinks: true

Дефолтный порт 8123, можно открыть на любой. Помните, что порт должен быть доступен извне или через reverse proxy.

Рендер типов

worlds:
  - name: world
    title: "Main World"
    maps:
      - class: org.dynmap.hdmap.HDMap
        name: flat
        prefix: flat
        perspective: iso_S_60_lowres
      - class: org.dynmap.hdmap.HDMap
        name: surface
        prefix: surface
        perspective: iso_SE_30_lowres
      - class: org.dynmap.hdmap.HDMap
        name: cave
        prefix: cave
        perspective: cave

Три карты одновременно - flat top-down, изометрия 60 градусов и cave-режим для подземелий. Каждая ест свои тайлы и свой рендер-бюджет.

Полный рендер

/dynmap fullrender world
/dynmap pause all
/dynmap pause none

Fullrender нагружает CPU сильно. Перед запуском оцените свободные ядра.

squaremap: легковесная 2D карта для Paper

squaremap - это форк Pl3xMap, который сфокусировался на одной задаче: быстрая 2D top-down карта без лишнего. Автор (jpenilla) также разработчик Paper, поэтому код написан грамотно и дружит с новыми версиями сразу после релиза.

Плюсы

  • Минимальная нагрузка на CPU - рендер на отдельных потоках, без блокировки сервера
  • Тайлы занимают мало места, только нужное
  • Чистый современный код, никакого 2011 года
  • Поддержка Folia из коробки
  • Обновляется быстро под новые версии Paper
  • API для маркеров простой и понятный
  • Веб-клиент на современном JavaScript

Минусы

  • Только Paper и форки (Purpur, Folia), нет Fabric и Forge
  • Только 2D, без изометрии и 3D
  • Меньше готовых интеграций, чем у Dynmap
  • Минималистичный UI - кому-то это плюс, кому-то нет

Установка

cd /your/server/plugins
wget https://github.com/jpenilla/squaremap/releases/latest/download/squaremap-paper-mc1.21.X.jar

Перезапуск сервера, конфиг появится в plugins/squaremap/config.yml.

Ключевые настройки

settings:
  web-address: "auto"
  language-file: en_US.yml
  locale: en_US

  internal-webserver:
    enabled: true
    bind: 0.0.0.0
    port: 8080

world-settings:
  default:
    enabled: true
    background-render:
      enabled: true
      max-rate-per-second: 32

    render:
      max-render-threads: -1
      biome-blend: 3

max-rate-per-second: 32 - сколько чанков в секунду рендерить в фоне. 32 это консервативно, для мощного сервера можно 128 или больше.

Pre-render

/squaremap fullrender world
/squaremap cancelrender world
/squaremap radiusrender world 5000

radiusrender рендерит только область вокруг спавна - удобно, если у вас мир на 30к блоков, а активная зона 3к.

Сравнение по ключевым метрикам

Нагрузка на сервер

МетрикаBlueMapDynmapsquaremap
CPU при live-рендереСредняяВысокаяНизкая
CPU при fullrenderВысокаяВысокаяСредняя
RAM в покое150-300 MB200-500 MB80-150 MB
Блокировка главного потокаНетЧастичнаяНет
Влияние на TPSСлабоеЗаметноеМинимальное

На слабом сервере с 2-4 ядрами и 4 GB RAM squaremap будет самым щадящим. BlueMap тянет, но при большом мире первый рендер ощущается. Dynmap - самый требовательный, особенно с несколькими карт-перспективами.

Диск

Размер мираBlueMapDynmapsquaremap
5k x 5k блоков2-4 GB1-3 GB500-800 MB
10k x 10k блоков8-15 GB5-10 GB2-4 GB
30k x 30k блоков60-100 GB40-80 GB15-25 GB

BlueMap хранит больше данных на тайл, потому что 3D требует геометрии и текстур. Dynmap с несколькими перспективами тоже много занимает. squaremap экономичен.

Фичи

ФичаBlueMapDynmapsquaremap
МаркерыДа, API плюс конфигДа, API плюс конфигДа, API
Области (зоны, регионы)ДаДаДа через addon
Отслеживание игроковДа, WebSocketДаДа
Веб-чатНетДаНет
Webhook на событияНет встроенноДаНет
3D режимДаЧастично (isometric)Нет
Подземелья и пещерыДа (через навигацию)Да (cave perspective)Нет
Интеграция с WorldGuardЧерез addonНативноЧерез addon

Если ваш сервер завязан на WorldGuard или Towny и вы хотите видеть регионы на карте автоматически - Dynmap проще всего. Если нужен эффектный 3D вид - BlueMap. Если просто карта - squaremap.

Скорость обновления

  • BlueMap: перестройка тайла через 5-30 секунд после изменения чанка
  • Dynmap: 10-60 секунд в зависимости от настройки updaterate
  • squaremap: 5-15 секунд на изменение

Все три поддерживают live-обновление. Пауза нужна только если вы отключили background-render или fullrender в процессе.

Внешний веб-сервер и reverse proxy

Все три плагина поднимают свой встроенный веб-сервер. Это работает, но есть минусы: нет HTTPS, нет кэширования, нет rate-limiting. На продакшене лучше поставить nginx перед плагином.

Пример nginx конфига для BlueMap

server {
    listen 80;
    listen [::]:80;
    server_name map.example.com;

    # HTTPS redirect
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    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;

    # WebSocket support for BlueMap live updates
    location / {
        proxy_pass http://127.0.0.1:8100;
        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_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 3600s;
    }

    # Static tile caching
    location ~* \.(png|webp|json)$ {
        proxy_pass http://127.0.0.1:8100;
        proxy_cache_valid 200 1h;
        expires 1h;
        add_header Cache-Control "public, no-transform";
    }
}

Для Dynmap и squaremap конфиг похожий, только без WebSocket upgrade (они используют обычный HTTP polling).

Получение сертификата

sudo certbot --nginx -d map.example.com

После этого ваша карта доступна по HTTPS, TLS 1.3, работает в iframe и на мобильных.

Маркеры: автоматические и ручные

Маркеры - это точки на карте. Спавн, магазин, дом игрока, ивент.

Статические маркеры через конфиг

BlueMap - файл plugins/BlueMap/marker-sets.conf:

"server-landmarks" {
    label: "Server Landmarks"
    toggleable: true
    default-hidden: false

    markers: {
        "spawn" {
            type: "poi"
            position: { x: 0, y: 64, z: 0 }
            label: "Spawn"
            icon: "assets/poi.svg"
        }
        "shop" {
            type: "poi"
            position: { x: 100, y: 65, z: 50 }
            label: "Server Shop"
        }
    }
}

Dynmap - команды в игре:

/dmarker add id:spawn "Spawn" icon:redflag
/dmarker addset id:landmarks "Landmarks"
/dmarker add id:shop set:landmarks "Shop" icon:bighouse

squaremap - через addon squaremap-region-visualizer или самописный плагин через API.

Автоматические маркеры

Dynmap умеет автоматически показывать регионы WorldGuard, города Towny, фракции Factions - подключил мост-плагин и готово. BlueMap и squaremap требуют addon:

  • BlueMapMarkerManager - GUI редактор маркеров для BlueMap
  • BlueMapWorldGuard - автоматическая отрисовка регионов WG
  • BlueMapFloodgate - показывает Bedrock игроков с префиксом
  • squaremap-region-visualizer - регионы из WG для squaremap

Безопасность веб-карты

Карта - это публичный эндпоинт, который смотрит на ваш сервер. Подумайте, что показывать.

Что стоит скрыть

  • Координаты спавна и админ-баз (оффсет на карте или скрытие зоны)
  • Приватные регионы игроков, если они этого хотят
  • Админ-варпы и секретные локации
  • Игроков под vanish (все три плагина поддерживают это при правильной настройке)

Скрыть игроков под vanish

BlueMap - само работает, если у вас Essentials или SuperVanish.

Dynmap:

# configuration.txt
player-info-protocol: hidden
hide-ops: true

squaremap настраивается через player-tracker.yml:

player-tracker:
  enabled: true
  hidden-players: []
  nameplate:
    enabled: true
    show-head: true

Плюс плагин Essentials/CMI автоматически прячет vanished игроков.

Whitelist IP на административный доступ

Если у вас карта открыта для игроков, но панель Dynmap с dangerous командами защитите:

location /up/sendmessage {
    allow 192.168.1.0/24;
    allow your.admin.ip/32;
    deny all;
    proxy_pass http://127.0.0.1:8123;
}

Или полностью отключите webchat, если он не нужен:

# Dynmap configuration.txt
allowwebchat: false
webchat-interval: 5
webchat-requires-login: true

Rate limit от парсинга

Парсер может загрузить все тайлы и перегрузить ваш сервер. В nginx:

limit_req_zone $binary_remote_addr zone=mapzone:10m rate=30r/s;

server {
    location / {
        limit_req zone=mapzone burst=50 nodelay;
        proxy_pass http://127.0.0.1:8100;
    }
}

30 запросов в секунду - нормально для интерактивной карты, но остановит агрессивный парсинг.

Когда что выбрать

Берите BlueMap, если:

  • Важен красивый 3D вид, карта как маркетинговый инструмент
  • У вас есть мощный сервер (4+ ядра, 8+ GB RAM) и свободный диск
  • Сервер на Paper, Fabric, Forge или Sponge
  • Нужна впечатляющая визуализация для скриншотов и видео
  • Вам не критичны расширенные веб-функции типа чата

Берите Dynmap, если:

  • Вы на WorldGuard, Towny, Factions и хотите автоматическую отрисовку регионов
  • Нужен веб-чат между сайтом и сервером
  • Сервер на Forge или Fabric и других вариантов мало
  • У вас есть CPU и диск для максимальной фичастости
  • Не критичен устаревший UI

Берите squaremap, если:

  • Нужна простая, быстрая 2D карта
  • Сервер на Paper или Folia
  • Мало CPU или вы на слабом хостинге
  • Не хотите возиться с конфигами и перспективами
  • Важен чистый современный стек

Можно ставить два

Никто не запрещает поставить squaremap для легкой 2D навигации и BlueMap для 3D скриншотов. Просто развели их на разные порты:

# squaremap
port: 8080

# BlueMap
port: 8100

И на разные поддомены в nginx. Нагрузка немного выше, но для большого сервера это не проблема.

Интеграция с Discord

Карты часто показывают через Discord. Варианты:

  • Ссылка в Webhook: отправляете обновления с ссылкой на карту при важных событиях
  • Embed со скриншотом: скрипт делает скриншот карты и кидает в канал
  • Iframe на сайте сервера: игроки открывают карту в разделе "World Map"

DiscordSRV (популярный мост Minecraft-Discord) может репостить сообщения с карты Dynmap в канал и обратно. Это настраивается в DiscordSRV config, раздел DynmapHook.

Производительность: советы из практики

Не рендерьте все

Если у вас мир 60k x 60k, но игроки тусят в 5k от спавна, нет смысла рендерить все. Используйте radiusrender или границы в конфиге:

# squaremap world-settings
world-settings:
  world:
    zoom:
      max-out: 3
      max-in: 5
    render:
      visible-areas:
        - center: [0, 0]
          radius: 5000

Ночной fullrender

Рендер TPS-чувствительная операция. Запускайте fullrender через cron в 4 утра, когда онлайн минимальный:

# crontab
0 4 * * * rcon -H localhost -p 25575 -P yourpass "bluemap fullrender world"

SSD для тайлов

Тайлы постоянно читаются и пишутся. HDD превращает карту в слайдшоу. SSD обязателен для активной карты.

Отдельный поток для render workers

На многоядерном процессоре выделите 2-4 ядра под рендер, остальное - игре. В BlueMap:

render-thread-count: 4

В Dynmap:

render-triggers:
  - chunkloaded
  - blockupdate
render-max-threads: 2

В squaremap:

render:
  max-render-threads: 4

Частые проблемы

BlueMap: белая страница

Обычно значит, что browser не может загрузить WebGL ресурсы. Проверьте:

  • HTTPS вместо HTTP (некоторые WebGL фичи работают только на secure origin)
  • Консоль браузера (F12) на ошибки загрузки тайлов
  • CORS: если карта на другом домене, в webserver.conf поставьте allow-origins: "*"

Dynmap: карта не обновляется

Проверьте лог на ошибки "Render queue full". Значит, сервер не успевает рендерить изменения. Уменьшите количество активных карт или увеличьте renderinterval:

timesliceinterval: 0.5
maxchunkspertick: 200
parallelrendercnt: 2

squaremap: 404 на картах

Webserver запущен, но тайлы не появляются. Проверьте, что world enabled в plugins/squaremap/config.yml и что у вас есть /squaremap fullrender world выполненный хоть раз.

Высокая нагрузка после включения

Первый полный рендер всегда тяжелый. После него обновление идет инкрементально и легко. Не отключайте плагин на полпути - при следующем включении рендер начнется с нуля.

Небольшое замечание про DDoS

Веб-карта на вашем сервере - это публичный HTTP/HTTPS эндпоинт. Его можно атаковать отдельно от игрового порта - не Layer 4 UDP-флудом, а Layer 7 HTTP flood: тысячи запросов к тайлам в секунду положат и nginx, и плагин.

Решается это Cloudflare перед nginx (бесплатно, базовый WAF) или отдельным защищенным прокси. MineGuard защищает игровой порт Minecraft, но для веб-карты нужна HTTP-защита. Держите это в голове, если карта станет целью атаки или просто сильно популярной.

Итог

  • Нужна визуально красивая 3D карта для промо - BlueMap
  • Нужен максимум функций и интеграций - Dynmap
  • Нужна быстрая минималистичная 2D карта на Paper - squaremap

Все три бесплатны, активны, имеют большое комьюнити. Ставьте тот, что подходит под задачу, не гонитесь за "самым модным". Хорошая карта сервера - это та, которая работает, не тормозит TPS и показывает игрокам то, что вы хотите показать.


Protege tu servidor contra ataques DDoS

Protección gratuita con configuración en 5 minutos. 1 TB de tráfico incluido.

Probar gratis


Artículos relacionados