Es porque AzerothCore los utiliza como "fallback" para las configuraciones que no tienes en el archivo .conf copiado (por ejemplo si hemos actualizado la dist o has eliminado una conf)
Todos los archivos de configuraci贸n cargan sus propiedades bajo 2 grupos de macros (debe tener uno de ellos en la cabecera de su archivo de configuraci贸n):
[authserver] -> para las configuraciones del servidor de autenticaci贸n
[worldserver] -> para las configuraciones de los servidores de mundo
Una propiedad est谩 compuesta por un nombre y un valor que se cargar谩 dentro de un objeto al iniciar el servidor / recargar la configuraci贸n.
Al iniciar el servidor leemos primero los archivos .dist y cargamos todas las propiedades bajo el objeto sConfig. El archivo .conf ser谩 cargado justo despu茅s: todas las nuevas propiedades ser谩n a帽adidas al objeto sConfig, en cambio las propiedades con el mismo nombre sobreescriben las antiguas del .dist
Esto le permite crear un peque帽o archivo .conf que NO REQUIERE tener todas las propiedades de .conf.dist dentro ya que han sido cargadas anteriormente.
Por ejemplo, si quieres mantener toda la conf por defecto pero tienes que cambiar s贸lo las propiedades de la base de datos, puedes crear un archivo worldserver.conf con s贸lo:
[worldserver]
LoginDatabaseInfo = "127.0.0.1;3306;root;root;azerothcore_test_auth"
WorldDatabaseInfo = "127.0.0.1;3306;root;root;azerothcore_test_world"
CharacterDatabaseInfo = "127.0.0.1;3306;root;root;azerothcore_test_chars"
Despu茅s de cargar los archivos normales .conf
y .conf.dist
, puede cargar un n煤mero infinito de archivos de configuraci贸n utilizando la API de scripts/m贸dulos. Tendr谩n el mismo comportamiento que el descrito anteriormente.
Nota: No recomendamos sobrescribir las propiedades de configuraci贸n del servidor ya que puede tener problemas de concurrencia con otros m贸dulos que tambi茅n las utilizan. En su lugar, crea nuevas propiedades con nombres espaciados.
Por ejemplo, si quieres modificar la funcionalidad de "desactivar la respiraci贸n de agua" en tu m贸dulo. En lugar de utilizar la propiedad existente de worldserver.conf.dist
:
DisableWaterBreath = x
Utiliza un espacio de nombres como:
MyModuleName.DisableWaterBreath = x
Y trabajar con eso.
S铆, pero no es recomendable. Cada ruta es relativa al directorio desde el que lanzaste el authserver/worldserver, tanto si lo lanzaste manualmente como a trav茅s de un script. As铆 que si haces esto (ejemplo de linux):
cd /tmp/test
./path/to/worldserver
Y tienes rutas relativas en el worldserver.conf como LogsDir = "../logs/worldserver/"
. Esto crear谩 los registros dentro de /logs/worldserver
.
Los archivos de configuraci贸n se cargar谩n siguiendo este flujo:
authserver.conf.dist
authserver.conf (overwrite properties from authserver.conf.dist)
worldserver.conf.dist
worldserver.conf (overwrite properties from worldserver.conf.dist)
modules *.conf.dist
modules *.conf (overwrite properties from each module's .conf.dist)