Aviso para dueños de servidores
Lee esta página antes de empezar a editar cualquier cosa en config/dragonminez o en la carpeta de guardado dragonminez/ de un mundo en un servidor en funcionamiento. Explica de qué hace copia de seguridad DragonMineZ por ti y de qué no, cómo tratan tus archivos las actualizaciones y qué tener en cuenta en un servidor multijugador.
Haz una copia de seguridad antes de tocar nada
DMZ guarda por su cuenta una copia de los archivos que modifica:
- Los archivos de configuración que actualiza tras una actualización de DMZ se mueven a
config/dragonminez/oldBackup/<same path>antes de escribir el archivo nuevo (consulta Cómo usar JSON). - Los archivos predeterminados de misiones, sagas y misiones secundarias que actualiza se copian primero a
<world>/dragonminez/oldBackup/<same path>(consulta Recargar y actualizar cambios). - Los archivos que no puede leer nunca se sobrescriben: DMZ usa los valores predeterminados durante esa sesión y no toca tu archivo.
Esa red de seguridad no cubre:
- Tus propias ediciones entre dos versiones de DMZ.
oldBackup/solo guarda la versión de justo antes de una actualización. /dmzrestoreupdate, que borra las carpetaswishes,sagasyquestsdel mundo (incluidos tus archivos personalizados) y regenera los valores predeterminados.- Los datos de los jugadores:
playerdata_json/<uuid>.jsonsi usas el almacenamientoJSON, tu base de datos si usas el almacenamientoDATABASE, y los archivos.datvanilla de los jugadores. - Los datos guardados del mundo en
<world>/data/(posiciones de las Esferas del Dragón, grupos, incursiones, jefes de mundo y más).
Para quién son estas páginas
Las páginas de configuración y de contenido propio de esta wiki están escritas para personas que se sienten cómodas editando JSON, usando un entorno de desarrollo o creando un addon de Forge. A propósito, no explican el lore ni la historia, ni el alojamiento o la administración de servidores fuera del propio DMZ (puertos, proxies, etc.). Para jugar el mod, empieza por la Guía para empezar.
Nunca confíes en datos del cliente para la progresión
Si estás escribiendo un addon o un mixin para DMZ: las estadísticas, los desbloqueos, los permisos, las misiones y los deseos se validan en el servidor por diseño. No crees funciones de addons que confíen en un valor informado por el cliente para nada relacionado con la progresión; lee el estado desde StatsCapability / StatsProvider en el servidor en lugar de una caché del cliente.
Los archivos de configuración se actualizan con las actualizaciones de DMZ
Cada archivo de configuración lleva un configVersion. Cuando instalas una versión más nueva de DMZ, los archivos desactualizados se regeneran con los nuevos valores predeterminados y los valores que cambiaste se vuelven a combinar (los valores que nunca tocaste adoptan los nuevos predeterminados). Es el comportamiento esperado, no un bug: consulta Cómo usar JSON para ver exactamente cómo funciona la combinación, y compara con la copia de oldBackup/ si un valor parece incorrecto tras una actualización.
Un archivo con un error de sintaxis no se regenera: DMZ usa los valores predeterminados de ese archivo hasta que lo arregles y ejecutes /dmzreload. Cada jugador ve en el chat, al conectarse, un breve informe de los archivos rotos (puedes desactivarlo con developer.reportJsonProblemsInChat en Configuración del servidor).
El contenido personalizado y de la comunidad sobrevive a las actualizaciones
- Las razas personalizadas conservan todos sus valores entre actualizaciones; los archivos de formas personalizadas conservan su contenido; los archivos extra de incursiones y torneos, y las misiones y sagas personalizadas que crees, se cargan tal como están.
- Los archivos de configuración e historia predeterminados de DMZ se actualizan cuando DMZ los cambia, pero se conservan los valores que editaste. Si quieres que un cambio sea totalmente independiente de los valores predeterminados de DMZ, cópialo a tu propia raza, forma o saga personalizada en lugar de editar los archivos de DMZ (consulta Razas personalizadas, Formas personalizadas y Misiones personalizadas).
- Pon
autoUpdateQuestsenfalseen Configuración del servidor si nunca quieres que DMZ toque los archivos de misiones predeterminados de un mundo una vez que existan.
Consideraciones para multijugador y servidores grandes
- El servidor envía sus archivos de configuración a cada jugador al conectarse. Después de editar un archivo de configuración, ejecuta siempre
/dmzreload config: hasta que lo hagas, el servidor mantiene los valores viejos mientras que los jugadores que se conectan reciben el archivo editado. La recarga vuelve a enviar todos los archivos a cada jugador conectado, así que espera un breve tirón en servidores grandes. - Las ediciones de misiones, sagas y diálogos solo surten efecto en un mundo después de
/dmzreload story(o de un reinicio). - No cambies de backend de almacenamiento (
NBT,JSON,DATABASE) con jugadores conectados: hazlo con el servidor vacío y haz una copia de seguridad antes. El guardado vanilla.datdel jugador siempre se escribe también, así que sigue siendo un respaldo si no se puede acceder a la base de datos.
Cómo obtener ayuda
- Pregunta en el Discord de DragonMineZ.
- Reporta bugs a nivel del motor o pide funciones en el tablero de progreso de GitHub.