BlueMap vs Dynmap vs squaremap: какую карту сервера выбрать в 2026
Веб-карта сервера - это не только красиво. Игроки видят, где они находятся, куда идти за ресурсами, где стоят базы друзей. Админ смотрит, как развивается мир, где активность, где пусто. А еще карта помогает в продвижении: скриншот живой карты вашего сервера - сильный контент для соцсетей и топ-листов.
В 2026 году есть три серьезных варианта: BlueMap, Dynmap и squaremap. Они решают одну задачу, но делают это очень по-разному. Ниже разбираем каждый, сравниваем по нагрузке, фичам и сценариям, и даем готовые рецепты установки.
Зачем серверу веб-карта
Короткий список причин, чтобы не распыляться:
- Навигация для игроков: ссылка в Discord, открыл карту, нашел нужный биом или базу друга
- Маркеры точек интереса: спавн, магазины, варпы, арены, события
- Отслеживание игроков в реальном времени (опционально, выключается по желанию)
- Скриншоты и промо-материалы: свежий вид вашего мира для паблишинга
- Модерация: админ видит активные зоны, аномальные постройки, кейв-клеймы
- Бекап-визуализация: карта показывает, что было до большого события или падения
Карта не заменяет админ-инструменты вроде CoreProtect или Plan, но работает рядом с ними.
Три игрока на рынке
| Плагин | Основан | Стиль | Платформа | Характер |
|---|---|---|---|---|
| BlueMap | 2020 | 3D HTML5 (three.js) | Paper, Spigot, Fabric, Forge, Sponge | Визуальный, современный, тяжелый на первом рендере |
| Dynmap | 2011 | 2D плюс 3D изометрия | Paper, Spigot, Forge, Fabric | Классика с максимумом фич, UI старой школы |
| squaremap | 2022 | 2D top-down | Paper, 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к.
Сравнение по ключевым метрикам
Нагрузка на сервер
| Метрика | BlueMap | Dynmap | squaremap |
|---|---|---|---|
| CPU при live-рендере | Средняя | Высокая | Низкая |
| CPU при fullrender | Высокая | Высокая | Средняя |
| RAM в покое | 150-300 MB | 200-500 MB | 80-150 MB |
| Блокировка главного потока | Нет | Частичная | Нет |
| Влияние на TPS | Слабое | Заметное | Минимальное |
На слабом сервере с 2-4 ядрами и 4 GB RAM squaremap будет самым щадящим. BlueMap тянет, но при большом мире первый рендер ощущается. Dynmap - самый требовательный, особенно с несколькими карт-перспективами.
Диск
| Размер мира | BlueMap | Dynmap | squaremap |
|---|---|---|---|
| 5k x 5k блоков | 2-4 GB | 1-3 GB | 500-800 MB |
| 10k x 10k блоков | 8-15 GB | 5-10 GB | 2-4 GB |
| 30k x 30k блоков | 60-100 GB | 40-80 GB | 15-25 GB |
BlueMap хранит больше данных на тайл, потому что 3D требует геометрии и текстур. Dynmap с несколькими перспективами тоже много занимает. squaremap экономичен.
Фичи
| Фича | BlueMap | Dynmap | squaremap |
|---|---|---|---|
| Маркеры | Да, 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 и показывает игрокам то, что вы хотите показать.
Sunucunuzu DDoS Saldırılarından Koruyun
5 dakikada kurulumla ücretsiz koruma. 1 TB bant genişliği dahil.
Ücretsiz Deneyinİlgili Makaleler
Лучшие плагины безопасности для Minecraft 2026: честный обзор
Разбираем плагины безопасности для Minecraft серверов: авторизация, античит, защита от ботов, права доступа, логирование. Честные плюсы и минусы каждого решения с советами по настройке.
Как выбрать защиту от DDoS для Minecraft сервера в 2026 году
Полный гайд покупателя: что искать в DDoS-защите для Minecraft, какие подходы существуют, какие красные флаги не пропустить и почему MC-специализированная защита побеждает универсальные решения.
SYN-флуд: самая частая DDoS-атака на Minecraft серверы
Разбираем механику SYN-флуда: как атакующие эксплуатируют TCP-хендшейк, почему Minecraft серверы особенно уязвимы и какие методы защиты реально работают. Конкретные команды, конфиги sysctl и правила iptables.