
Advanced Backups — Minecraft Java Edition 1.7.10 – 1.21.4
Dependencias: · Cargador: Forge, NeoForge, Fabric, Quilt, Spigot, Paper · Versión de Minecraft: 1.7.10 - 1.21.4 · Versión del mod: 3.7.1 El…
Dependencias: · Cargador: Forge, NeoForge, Fabric, Quilt, Spigot, Paper · Versión de Minecraft: 1.7.10 - 1.21.4 · Versión del mod: 3.7.1 El mecanismo estándar de copias de seguridad en Minecraft Java Edition tiene limit
Dependencias:
· Cargador: Forge, NeoForge, Fabric, Quilt, Spigot, Paper
· Versión de Minecraft: 1.7.10 - 1.21.4
· Versión del mod: 3.7.1
El mecanismo estándar de copias de seguridad en Minecraft Java Edition tiene limitaciones serias. En el juego vanilla, la creación de copias de seguridad se realiza manualmente a través de un menú o requiere detener el servidor para copiar los archivos. Estas operaciones se ejecutan en el hilo principal del juego, lo que provoca el bloqueo de la jugabilidad, lags o la indisponibilidad temporal del servidor mientras se escriben gigabytes de datos en el disco. Además, el método estándar solo crea copias completas del mundo, llenando rápidamente el dispositivo de almacenamiento con datos duplicados. La modificación Advanced Backups resuelve estos problemas ofreciendo copias de seguridad asíncronas y programadas con soporte para modelos de compresión diferencial e incremental, una limpieza flexible de los archivos obsoletos y una utilidad integrada para la restauración de datos.
Mecanismos de copia de seguridad: Zip, Differential e Incremental
La utilidad ofrece tres modos de procesamiento de los archivos del mundo, que determinan el equilibrio entre la velocidad de ejecución, el volumen de espacio en disco utilizado y la fiabilidad de la restauración:
· Zip (copias completas): El principio de funcionamiento consiste en archivar toda la carpeta del mundo en un único archivo .zip. Este método es el más exigente en recursos y requiere la mayor cantidad de espacio libre en el almacenamiento, ya que cada copia de seguridad contiene todos los archivos independientemente de si se modificaron o no. Su ventaja es la sencillez de la restauración: basta con descomprimir el archivo necesario.
· Differential (copia diferencial): Se basa en la creación de un único archivo base completo ("full") y de los archivos parciales posteriores ("partial"). Los archivos parciales registran únicamente aquellos archivos que han sufrido cambios desde la creación del archivo base completo. El volumen de las copias intermedias se reduce considerablemente. Para restaurar el estado del mundo en un momento determinado solo se necesitan dos archivos: el archivo base completo y el último archivo parcial anterior a esa fecha.
· Incremental (copia incremental): También utiliza el concepto de archivos completos y parciales. Sin embargo, cada archivo parcial contiene únicamente los cambios ocurridos desde la creación del último archivo parcial anterior. Esto minimiza la carga sobre el subsistema de disco y ahorra la máxima cantidad de espacio libre. Su inconveniente es un mayor riesgo de pérdida de datos: si se daña aunque sea un solo archivo de la cadena de copias incrementales, será imposible restaurar las copias posteriores hasta la creación de una nueva copia completa. El proceso de restauración también es el más lento, ya que requiere la fusión secuencial de toda la cadena de archivos.
La creación de nuevas cadenas se regula mediante los parámetros config.advancedbackups.chains.length y config.advancedbackups.chains.maxpercent. El primer parámetro define la cantidad máxima de copias parciales en una cadena antes de la creación forzosa de un nuevo archivo completo. El segundo parámetro realiza una comprobación de tamaño: si el volumen de cambios acumulados en un archivo parcial supera el porcentaje establecido respecto al tamaño del archivo completo, el sistema reinicia automáticamente la cadena y crea una nueva copia completa.
Sistema de limpieza automática (Purging) y trabajo con cadenas
Para evitar el desbordamiento del disco, en la modificación se han implementado tres criterios de eliminación automática de datos obsoletos:
· Por número de días de conservación (config.advancedbackups.purge.days).
· Por volumen total de la carpeta de copias de seguridad en gigabytes (config.advancedbackups.purge.size).
· Por número total de archivos de copia (config.advancedbackups.purge.count).
Al utilizar copias diferenciales o incrementales, no es posible eliminar archivos individuales de una cadena, ya que esto rompería la integridad de los datos. El mod opera con cadenas completas (chains). Una cadena se considera obsoleta y se elimina únicamente cuando todos sus componentes (incluida la copia de seguridad base completa y todos los archivos parciales asociados) cumplen los criterios de limpieza. Mediante el parámetro config.advancedbackups.purge.incrementalchains se puede establecer la cantidad mínima de cadenas completas que el sistema está obligado a conservar independientemente de otras restricciones de limpieza. Asimismo, el usuario puede crear "snapshots" (instantáneas): son copias estáticas del mundo que están protegidas frente a la eliminación automática.
Configuración del archivo AdvancedBackups.properties
Los parámetros de funcionamiento del sistema de copias de seguridad se almacenan en el archivo AdvancedBackups.properties, que se crea en el directorio config durante el primer inicio. Las principales claves de configuración:
Parámetro | Valor predeterminado | Descripción |
| true | Permite activar (true) o desactivar (false) por completo la creación automática de copias de seguridad. |
| true | Determina si es necesario guardar forzosamente el mundo en el disco antes de realizar la copia. |
| true | Desactiva el guardado automático estándar durante la creación de la copia y lo vuelve a activar tras finalizar el proceso. |
| 1048576 | Tamaño del búfer de entrada/salida en bytes. Un valor superior al límite de memoria RAM puede provocar un fallo OutOfMemoryError. |
| false | Vaciado forzoso de la caché de escritura del disco. No se utiliza en versiones de Minecraft anteriores a la 1.16. |
| true | Comprobación de la actividad de los jugadores. Si no ha habido jugadores en el servidor desde la última copia de seguridad, se omite la creación de la copia. |
| differential | Tipo de copias de seguridad. Valores posibles: zip (copias completas), differential (copia diferencial), incremental (copia incremental). |
| session.lock,*_old | Lista de exclusiones separadas por comas para los archivos de la carpeta del mundo que no se añaden al archivo (se permiten máscaras como *). |
| ./backups | Ruta al directorio donde se guardan las copias de seguridad finalizadas (relativa o absoluta). |
| 0.25 | Intervalo mínimo permitido entre copias de seguridad en horas. Evita la duplicación. 0: desactivado. |
| 24.0 | Intervalo máximo en horas tras el cual la copia de seguridad se ejecuta de forma forzosa si no ha habido otras copias correctas. |
| true | Base del planificador: cálculo del tiempo de funcionamiento del servidor (true) o tiempo astronómico real del sistema operativo (false). |
| 1:00 | Lista de intervalos de creación de copias (por ejemplo, 1:00 para una copia de seguridad cada hora, o la hora real exacta 04:00,16:00). |
| false | Creación forzosa de una copia de seguridad del mundo al detener o apagar el servidor. Respeta el límite frequency.min. |
| false | Creación de una copia de seguridad del mundo al iniciar el servidor. Respeta el límite frequency.min. |
| 30 | Retardo del inicio de la copia de seguridad de arranque en segundos tras encender el servidor. El valor mínimo es de 5 segundos. |
| ops | Categoría de destinatarios de las notificaciones toast sobre el proceso de archivado en el juego (ops: operadores, all: todos, none: nadie). |
| 500 | Frecuencia de envío de los paquetes de progreso a los jugadores en milisegundos. Los valores más bajos aumentan la carga de red. |
| true | Permiso para mostrar el progreso porcentual detallado del archivado en la consola del sistema del servidor. |
| 5000 | Intervalo de registro del avance de la copia de seguridad en la consola en milisegundos. |
| 50.0 | Límite del volumen total de la carpeta de copias en gigabytes. Las copias más antiguas se eliminan al superarlo. 0: desactivado. |
| 0 | Plazo de conservación de las copias de seguridad en días. Las más antiguas se eliminan. 0: desactivado. |
| 0 | Cantidad máxima permitida de copias en el disco. Las más antiguas se eliminan. 0: desactivado. |
| true | Permiso para eliminar cadenas incrementales en caso de limpieza por volumen. Si es false, las copias incrementales nunca se limpian. |
| 1 | Cantidad mínima de cadenas incrementales que la limpieza está obligada a dejar en el disco en cualquier caso. |
| 4 | Nivel de compresión de los archivos ZIP (de 1 a 9). Los valores más altos ahorran espacio, pero cargan la CPU. |
| 50 | Cantidad máxima de copias de seguridad parciales (diferenciales/incrementales) antes de la creación de un nuevo archivo completo. |
| true | Permiso para comprimir las copias base completas y las copias intermedias posteriores dentro de las cadenas. |
| true | Reinicio inteligente de la cadena. Si se han modificado todos los archivos del mundo, la copia pasa a ser completa automáticamente. |
| 50.0 | Límite del tamaño de la copia de seguridad parcial en porcentaje respecto a la completa. Si se supera, se crea una copia de seguridad completa. |
Comandos de gestión de las copias de seguridad
La gestión de la modificación se realiza mediante comandos de consola que requieren el nivel de acceso de operador (las opciones de los comandos se actualizaron en la versión 3.7 para una mejor compatibilidad con los bloques de comandos, reduciendo el requisito de nivel de permisos al valor 2):
· /backup start — inicia el proceso de copia de seguridad en modo asíncrono. El comando tiene en cuenta todas las configuraciones de programación, los intervalos mínimos y la actividad de los jugadores.
· /backup force — inicia de forma forzosa el proceso de copia, ignorando las comprobaciones de actividad de los jugadores y los límites de tiempo frequency.min.
· /backup snapshot <name> — crea una copia de seguridad completa (instantánea) con el nombre indicado en la subcarpeta snapshots. Este archivo no se tiene en cuenta durante la limpieza automática de copias de seguridad obsoletas y el sistema nunca lo elimina automáticamente.
· /backup reload-config — realiza la recarga de los parámetros desde el archivo AdvancedBackups.properties sin necesidad de reiniciar el servidor o el cliente del juego. En las versiones del mod anteriores a la 2.2, para ello se utiliza el comando alternativo /advancedbackups reload.
· /backup check — analiza el estado actual del planificador y muestra información sobre cuánto tiempo queda hasta la siguiente copia de seguridad programada según el calendario.
· /backup reset — reinicia el contador de la cadena actual de copias incrementales o diferenciales. La siguiente copia de seguridad programada o iniciada manualmente se creará de forma forzosa como un archivo completo ("full").
La reducción del nivel de permiso de los comandos al valor 2 permite automatizar la creación de copias mediante Command Blocks y plugins de planificación de terceros que invocan comandos de consola en nombre del servidor.
Utilidad de restauración por consola (Command Line Restoration)
Dado que las copias de seguridad diferenciales e incrementales se componen de una gran cantidad de archivos de cambios interrelacionados, su restauración manual es un proceso complejo. Para resolver esta tarea, en el archivo JAR de la modificación se ha integrado una utilidad de consola especial.
Durante la primera creación de copias, la modificación genera automáticamente scripts auxiliares en el directorio con las copias de seguridad:
· restore-bootstrap.bat para el sistema operativo Windows.
· restore-bootstrap.sh para los sistemas operativos Linux y macOS.
Estos scripts inician el asistente de restauración integrado en el archivo JAR. Para iniciar la interfaz de restauración manualmente a través del terminal se utiliza el comando:
|
(el nombre del archivo JAR debe coincidir exactamente con la versión del mod instalado).
La interfaz de consola de la utilidad funciona en modo interactivo:
1. Inicio del escaneo de la carpeta de copias de seguridad para analizar las cadenas e instantáneas disponibles.
2. Visualización de la lista de puntos de restauración disponibles con indicación de la fecha, la hora y el tipo de copia (Full, Diff, Inc).
3. Comprobación de la integridad de la cadena del archivo seleccionado. Si se trata de una copia incremental, la utilidad comprueba automáticamente si están presentes todas las partes intermedias desde la copia de seguridad base completa hasta el punto seleccionado.
4. Solicitud de la carpeta de destino para la descompresión. La utilidad realizará la fusión secuencial y la sustitución de los archivos, reconstruyendo el estado exacto del mundo en el momento de la creación de la copia seleccionada.
Antes de comenzar la restauración es necesario detener por completo el servidor de Minecraft. Intentar restaurar archivos en un servidor en funcionamiento provocará daños en la base de datos del mundo y en los archivos de región (.mca).
Particularidades de funcionamiento en distintas plataformas y optimización
La modificación presenta diferencias arquitectónicas según la plataforma de instalación elegida:
· Notificaciones toast del lado del cliente: Las notificaciones emergentes visuales sobre el inicio y la finalización de la creación de la copia de seguridad están implementadas mediante el sistema de toasts vanilla. Para que se muestren en el lado del cliente, debe haber instalado un mod compatible (Forge, NeoForge o Fabric). Al usar el mod en servidores Spigot o Paper, los clientes sin el mod instalado no verán notificaciones visuales, sino que recibirán únicamente mensajes de texto normales en el chat, si así lo permiten las configuraciones de registro.
· Versión 1.7.10: Debido a las limitaciones técnicas de las versiones antiguas del motor del juego, la versión del mod para Minecraft 1.7.10 no admite el sistema de notificaciones toast gráficas. En su lugar, el progreso de la copia se muestra directamente sobre la pantalla del juego en forma de una sencilla superposición de texto.
· Control de la asignación de memoria RAM: La operación de compresión asíncrona requiere la asignación de búferes de memoria en la JVM. Si en un servidor con una cantidad limitada de RAM (por ejemplo, 2-4 GB) se establece un tamaño demasiado grande para el parámetro config.advancedbackups.buffer (más de 10-20 MB) y un nivel de compresión alto config.advancedbackups.zips.compression (nivel 8-9), esto puede provocar un desbordamiento del montón (JVM Heap) y la caída del servidor con el error OutOfMemoryError. Para un funcionamiento estable en servidores con recursos limitados se recomienda mantener el tamaño estándar del búfer de 1 MB y un nivel de compresión no superior a 4.
Conclusión
Advanced Backups es una solución de herramientas integral para garantizar la conservación de los mundos de juego en Minecraft Java Edition. A diferencia de alternativas sencillas como Simple Backups o las herramientas vanilla, este mod permite desplegar una estrategia de copias de seguridad completa con un consumo mínimo de espacio en disco gracias al uso de cadenas incrementales. La principal limitación de la modificación es la ausencia de proveedores de nube integrados para la carga automática de los archivos en almacenamientos externos (por ejemplo, Google Drive o servidores FTP directamente desde el mod), lo que requiere configurar scripts externos de sincronización de la carpeta ./backups. La modificación se recomienda para su instalación en servidores públicos y privados de tamaño medio, donde es de vital importancia garantizar la protección frente a la pérdida de datos sin detener la jugabilidad.
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.








