Dynmap: Reseña del plugin de mapa 3D online para Minecraft
Revisión detallada del plugin Dynmap para servidores de Minecraft. Renderizado de mapas 3D isométricos, configuración del servidor web…
Revisión detallada del plugin Dynmap para servidores de Minecraft. Renderizado de mapas 3D isométricos, configuración del servidor web integrado, compatibili...
Dependencias:
Cargador: Paper / Spigot / Fabric / Forge
Versión de Minecraft: 1.20.x – 1.21.x
En las partidas multijugador de Minecraft, coordinarse entre jugadores, buscar zonas libres para la construcción y rastrear la actividad en grandes territorios a menudo presenta dificultades. Las herramientas básicas solo ofrecen mapas de papel locales que no cubren todo el mundo y no se actualizan en tiempo real. La utilidad Dynmap resuelve este problema al crear un mapa interactivo del mundo del juego, accesible a través de un navegador web normal. Funciona bajo el principio de los servicios de información geográfica como Google Maps, mostrando el terreno detallado, la ubicación de los jugadores, los bordes de las regiones protegidas y los mensajes del chat del juego.
Funcionamiento del motor de renderizado y guardado de teselas
En el núcleo del funcionamiento de Dynmap se encuentra su propia línea de procesamiento (pipeline) de renderizado, que convierte los datos tridimensionales de los chunks de Minecraft en un conjunto de archivos gráficos bidimensionales (teselas o mosaicos).
Tipos de renderizado y proyecciones
El plugin soporta tres opciones principales de visualización del mundo:
Vista plana (Flat): Un mapa 2D clásico con vista desde arriba. Es el que menos espacio en disco y recursos de procesador consume durante la generación.
Vista 3D isométrica (Surface): Una proyección tridimensional volumétrica en ángulo, que permite evaluar los cambios de elevación del paisaje, la arquitectura de los edificios y la profundidad del agua.
Vista de cuevas (Cave): Renderiza cavidades subterráneas y minas, mostrando la estructura de las cuevas por debajo del nivel de la superficie.
Guardado de archivos y carga en disco
Todos los mosaicos del mapa generados se guardan como imágenes estándar en formato PNG o JPG en la carpeta plugins/dynmap/web/tiles/. Con cada cambio en los bloques por parte de los jugadores (construcción, destrucción, explosiones), Dynmap inicia un proceso de actualización incremental: solo se redibujan aquellas teselas que cayeron directamente en la zona del chunk actualizado.
El subsistema de disco del servidor experimenta una carga significativa (operaciones de E/S) durante el renderizado inicial del mundo. Con resoluciones altas, la carpeta de mosaicos de un mapa grande puede alcanzar decenas o incluso cientos de gigabytes, lo que requiere usar discos SSD rápidos y establecer límites en el mundo (WorldBorder).
alt: [Interfaz del mapa web de Dynmap en el navegador mostrando una vista isométrica 3D del punto de aparición]
Infraestructura del servidor web: Jetty contra Nginx
Dynmap ofrece dos esquemas de implementación para la interfaz web, dependiendo de la escala del servidor y la carga esperada.
Servidor web Jetty integrado
De forma predeterminada tras su instalación, el plugin inicia automáticamente el servidor web integrado Jetty en el puerto 8123. Esta opción no requiere configuraciones adicionales: basta con que el administrador abra el puerto 8123 en el proveedor de alojamiento, tras lo cual el mapa será accesible en http://IP_del_servidor:8123/.

Integración con un servidor externo (Nginx o Apache)
Para los servidores públicos con gran afluencia de jugadores, el servidor Jetty integrado crea una carga adicional en el proceso del juego Java, ya que cada usuario de la web consume tráfico directamente a través del servidor de juego. Para optimizarlo, se recomienda configurar la entrega de mosaicos a través de un servidor web independiente Nginx o Apache.
Con esta configuración, Nginx se programa para funcionar directamente con la carpeta web/tiles/, evitando el motor de juego de Minecraft. Esto tiene varias ventajas importantes:
Protección del flujo del juego: Las solicitudes de los navegadores son manejadas por un servidor web independiente, lo que elimina los microcortes (caídas de TPS) en el juego.
Cifrado HTTPS: La posibilidad de configurar fácilmente certificados SSL Let's Encrypt gratuitos para una conexión segura.
Disponibilidad sin conexión: El mapa web del paisaje permanece accesible para su visualización incluso durante el reinicio o apagado del servidor del juego de Minecraft.
Ajustes de configuración y gestión del renderizado
Los parámetros principales del plugin se editan en el archivo plugins/dynmap/configuration.txt.

Configuraciones generales de renderizado y guardado
Parámetro | Valor por defecto | Descripción |
|---|---|---|
|
| Define la calidad de las plantillas de renderizado por defecto ( |
|
| Elección del almacenamiento de los mosaicos (teselas) del mapa. Opciones disponibles: |
|
| Intervalo (en segundos) de comprobación y renderizado de los mosaicos en la cola de actualización. |
|
| El número de teselas en la cola de actualización a partir del cual se acelera el intervalo de renderizado. |
|
| Intervalo de renderizado acelerado (en segundos) cuando la cola supera el umbral. |
|
| Número de mosaicos renderizados al mismo tiempo (se recomienda ajustar a la mitad de núcleos del procesador). |
|
| Prioridad de los procesos de renderizado. Si es |
|
| Guarda la cola de tareas de renderizado incompletas al apagar o reiniciar el servidor. |
|
| Retraso (en segundos) antes de comenzar a renderizar bloques modificados. Previene el redibujado constante de mosaicos debido a automatizaciones (redstone, pistones, etc.). |
|
| Habilita la comprobación hash de las teselas. Si la imagen del mosaico no ha cambiado después de ser renderizada, el archivo en el disco no se sobrescribe, ahorrando vida útil del disco duro. |
|
| Cálculo de una iluminación suave (como en el juego) durante la generación del mapa. |
|
| Formato y calidad de las imágenes de los mosaicos (el predeterminado es JPG a un 90% de calidad). Se puede cambiar a |
|
| Usa las texturas generadas por el juego (coincidiendo con el paquete de recursos del cliente) en lugar de las estáticas. |
|
| Soporte de la Conexión de Texturas (Connected Texture Mod) de los paquetes de recursos. |
|
| Soporte de colores personalizados de biomas y vegetación procedentes de paquetes de recursos. |
|
| Una lista de eventos del juego (colocación/destrucción de bloques, crecimiento de árboles, explosiones) que inician la cola de renderizado de mosaicos. |
Infraestructura web y rutas de archivos
Parámetro | Valor por defecto | Descripción |
|---|---|---|
|
| La ruta en el directorio del plugin donde se guardarán los archivos gráficos (mosaicos) del mapa. |
|
| La ruta hacia los archivos web estáticos del mapa (HTML, JS, CSS). |
|
| Actualización automática de los archivos estáticos al arrancar el plugin (establecer en |
|
| El puerto TCP en el cual operará el servidor web integrado Jetty. |
|
| Desactiva el servidor web integrado (útil cuando se configura la transmisión de teselas mediante un servidor externo Nginx o Apache). |
|
| Número máximo de sesiones simultáneas en el servidor web integrado para conservar recursos. |
|
| Permite al servidor web seguir los enlaces simbólicos. |
|
| Habilita el sistema de autenticación de usuarios para visualizar el mapa o hablar por el chat. |
|
| Requiere obligatoriamente iniciar sesión con una cuenta para poder ver el mapa web. |
|
| Una lista de servidores proxy de confianza para determinar con exactitud las direcciones IP reales de los jugadores a través de la cabecera |
Configuración de los componentes de la interfaz web (Chat web, Marcadores, Jugadores)
Parámetro / Clase | Valor por defecto | Descripción |
|---|---|---|
| Clase de componente | Se encarga de transmitir los datos del estado de los jugadores, el chat y las actualizaciones del mapa. Nota: Cuando se use un servidor web externo (Nginx), esta clase debe cambiarse a |
|
| Muestra los indicadores de salud de los jugadores en el mapa. |
|
| Muestra la ubicación exacta de los jugadores en el mapa. |
|
| Permite enviar mensajes desde la interfaz web al chat interno del juego Minecraft. |
|
| Retraso (en segundos) entre los mensajes en el chat web (protección contra spam). |
|
| Oculta del mapa a los jugadores que se están agachando (en sigilo). |
|
| Oculta del mapa a los jugadores que se encuentran en el modo espectador. |
|
| Oculta del mapa a los jugadores que están bajo el efecto de una poción de invisibilidad. |
| Clase de componente | Gestiona las capas de marcadores en el mapa. Permite mostrar el punto de aparición ( |
|
| Muestra los rostros (apariencia/skins) de los jugadores sobre los marcadores del mapa. |
|
| Muestra una barra de salud justo encima del icono del jugador en el mapa. |
Optimización y límites de rendimiento de la CPU (TPS/MSPT)
Parámetro | Valor por defecto | Descripción |
|---|---|---|
|
| Intervalo (en segundos) de pausas durante la ejecución de un renderizado completo ( |
|
| El número máximo de chunks que Dynmap puede cargar en la memoria durante un solo tick del juego (1/20 de segundo). Disminuir este parámetro reduce los parones en el servidor. |
|
| Límite de tiempo objetivo por tick para el subproceso de renderizado (en milisegundos). |
|
| Si la tasa TPS del servidor desciende por debajo de este valor, Dynmap pausará automáticamente el renderizado de las actualizaciones regulares de teselas. |
|
| Si la tasa TPS del servidor cae por debajo de este valor, Dynmap detiene la ejecución del renderizado completo del mundo ( |
|
| La tasa TPS mínima requerida para permitir el cálculo de niveles de mapa alejados (zoom-out). |
|
| Número de chunks guardados en el caché de la topografía. |
|
| El uso de referencias ligeras (Soft References) para el caché de chunks. Permite a la JVM limpiar el caché del mapa en caso de un inminente error OutOfMemory. |
Parámetros de optimización en configuration.txt
Para conservar el rendimiento del servidor, presta atención a las siguientes variables del archivo de configuración:
deftemplatesuffix— sufijo de calidad de renderizado. Valores comovlowres(calidad muy baja) olowres(calidad baja) permiten una generación de mapas sustancialmente más rápida y reducen el tamaño de los archivos entre 4 y 8 veces en comparación con el estándarhires.tilespath— permite desviar los guardados del mapa hacia otro disco duro en el servidor, protegiendo así a la unidad principal contra el sobrellenado.webserver-port— el puerto para establecer conexión con el mapa (en lugar del predeterminado8123).
Comandos de gestión del renderizado
La generación del mapa es gestionada desde la consola del servidor por un operador de nivel 4:
/dynmap fullrender <mundo>— da inicio al renderizado completo del mundo que se especifique. Se recomienda emplearlo únicamente una vez terminada la generación previa completa de los chunks (chunk pre-generation) y en épocas con menor afluencia de usuarios en línea./dynmap radiusrender <radio>— actualiza el mapa tan solo en un radio determinado alrededor del jugador, lo que resulta sumamente útil luego de haber erigido grandes urbes./dynmap cancelrender— finaliza los procesos de renderizado en curso si ocurre una sobrecarga en el procesador./dynmap pause all— interrumpe todos los cálculos del mapa temporalmente, lo que ayuda a liberar recursos para estabilizar los TPS.
Conclusión
El plugin Dynmap resulta ser un instrumento potente para representar visualmente el mundo y favorecer la interacción de los jugadores en servidores de Minecraft de gran envergadura. Merced a la creación de modelos isométricos en 3D y su conexión a través de la interfaz en la web, hace que el mapa acabe transformándose en un portal informativo de primer orden dentro del proyecto.
A diferencia de otras opciones alternativas, como pueden ser BlueMap (que hace uso intensivo del formato WebGL para un visionado íntegramente tridimensional) o Squaremap (centrado en aportar tan solo un ligerísimo mapa bidimensional sin volúmenes tridimensionales de por medio), Dynmap aporta el contrapeso funcional más conveniente. En todo caso, requerirá de amplios espacios en el disco y entrañará una notable ocupación persistente en las entradas/salidas (I/O) del sistema, lo que exigirá de los gestores que presten extremo cuidado con respecto a la fijación de las fronteras de los mundos y con respecto a una selección de la definición y resolución atinada. Este complemento constituye una extraordinaria elección en vastos dominios en modalidad de supervivencia, anárquicos o de juego de rol (RP).
Instalación
Una instalación típica lleva unos 5 minutos. El proceso es el mismo; solo cambian el loader y el build correspondiente.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











