##################################################
# AzerothCore Database Import configuration file #
##################################################

###################################################################################################
# SECTION INDEX
#
#    EXAMPLE CONFIG
#    DB IMPORT CONFIG
#    MYSQL SETTINGS
#    UPDATE SETTINGS
#    LOGGING SYSTEM SETTINGS
#
###################################################################################################

###################################################################################################
# EXAMPLE CONFIG
#
#    Variable
#        Description: Brief description what the variable is doing.
#        Important:   Annotation for important things about this variable.
#        Example:     "Example, i.e. if the value is a string"
#        Default:     10 - (Enabled|Comment|Variable name in case of grouped config options)
#                     0  - (Disabled|Comment|Variable name in case of grouped config options)
#
# Note to developers:
# - Copy this example to keep the formatting.
# - Line breaks should be at column 100.
###################################################################################################

###################################################################################################
# DB IMPORT CONFIG
#
#    LogsDir
#        Description: Logs directory setting.
#        Important:   LogsDir needs to be quoted, as the string might contain space characters.
#                     Logs directory must exists, or log file creation will be disabled.
#        Example:     "/home/youruser/azerothcore/logs"
#        Default:     "" - (Log files will be stored in the current path)

LogsDir = ""

#
#    SourceDirectory
#        Description: The path to your AzerothCore source directory.
#                     If the path is left empty, the built-in CMAKE_SOURCE_DIR is used.
#        Example:     "../AzerothCore"
#        Default:     ""
#

SourceDirectory = ""

#
#    MySQLExecutable
#        Description: The path to your MySQL CLI binary.
#                     If the path is left empty, built-in path from cmake is used.
#        Example:     "C:/Program Files/MySQL Server 8.4/bin/mysql.exe"
#                     "mysql.exe"
#                     "/usr/bin/mysql"
#        Default:     ""
#

MySQLExecutable = ""

#
#    TempDir
#        Description: Temp directory setting.
#        Important:   TempDir needs to be quoted, as the string might contain space characters.
#                     TempDir directory must exists, or the server can't work properly
#        Example:     "/home/youruser/azerothcore/temp"
#        Default:     "" - (Temp files will be stored in the current path)

TempDir = ""

###################################################################################################

###################################################################################################
# MYSQL SETTINGS
#
#    LoginDatabaseInfo
#    WorldDatabaseInfo
#    CharacterDatabaseInfo
#        Description: Database connection settings for the world server.
#        Example:     "hostname;port;username;password;database"
#                     ".;somenumber;username;password;database" - (Use named pipes on Windows
#                                                                 "enable-named-pipe" to [mysqld]
#                                                                 section my.ini)
#                     ".;/path/to/unix_socket;username;password;database;ssl" - (use Unix sockets on
#                                                                           Unix/Linux)
#        Default:     "127.0.0.1;3306;acore;acore;acore_auth"       - (LoginDatabaseInfo)
#                     "127.0.0.1;3306;acore;acore;acore_world"      - (WorldDatabaseInfo)
#                     "127.0.0.1;3306;acore;acore;acore_characters" - (CharacterDatabaseInfo)
#
#    The SSL option will enable TLS when connecting to the specified database. If not provided or
#    any value other than 'ssl' is set, TLS will not be used.
#

LoginDatabaseInfo     = "127.0.0.1;3306;acore;acore;acore_auth"
WorldDatabaseInfo     = "127.0.0.1;3306;acore;acore;acore_world"
CharacterDatabaseInfo = "127.0.0.1;3306;acore;acore;acore_characters"

#
#    Database.Reconnect.Seconds
#    Database.Reconnect.Attempts
#
#        Description: How many seconds between every reconnection attempt
#                     and how many attempts will be performed in total
#        Default:     20 attempts every 15 seconds
#

Database.Reconnect.Seconds = 5
Database.Reconnect.Attempts = 5

#
#    LoginDatabase.WorkerThreads
#    WorldDatabase.WorkerThreads
#    CharacterDatabase.WorkerThreads
#        Description: The amount of worker threads spawned to handle asynchronous (delayed) MySQL
#                     statements. Each worker thread is mirrored with its own connection to the
#                     MySQL server and their own thread on the MySQL server.
#        Default:     1 - (LoginDatabase.WorkerThreads)
#                     1 - (WorldDatabase.WorkerThreads)
#                     1 - (CharacterDatabase.WorkerThreads)
#

LoginDatabase.WorkerThreads     = 1
WorldDatabase.WorkerThreads     = 1
CharacterDatabase.WorkerThreads = 1

#
#    LoginDatabase.SynchThreads
#    WorldDatabase.SynchThreads
#    CharacterDatabase.SynchThreads
#        Description: The amount of MySQL connections spawned to handle.
#        Default:     1 - (LoginDatabase.WorkerThreads)
#                     1 - (WorldDatabase.WorkerThreads)
#                     1 - (CharacterDatabase.WorkerThreads)
#

LoginDatabase.SynchThreads     = 1
WorldDatabase.SynchThreads     = 1
CharacterDatabase.SynchThreads = 1
###################################################################################################

###################################################################################################
# UPDATE SETTINGS
#
#    Updates.EnableDatabases
#        Description: A mask that describes which databases shall be updated.
#
#        Following flags are available
#           DATABASE_LOGIN     = 1, // Auth database
#           DATABASE_CHARACTER = 2, // Character database
#           DATABASE_WORLD     = 4, // World database
#
#        Default:     7  - (All enabled)
#                     4  - (Enable world only)
#                     0  - (All disabled)

Updates.EnableDatabases = 7

#
#   Updates.AllowedModules
#       Description: A list of modules that are allowed to be updated automatically by the DBImport tool.
#                    If the list is empty, no modules are allowed to automatically update. (current behavior)
#       Default:     "" - (No modules are allowed)
#
#       Example:     "mod_name,mod_name2,mod_name3" (selected modules)
#                     "all" - (All modules are allowed)
#
Updates.AllowedModules = "all"

#
#    Updates.AutoSetup
#        Description: Auto populate empty databases.
#        Default:     1 - (Enabled)
#                     0 - (Disabled)

Updates.AutoSetup = 1

#
#    Updates.Redundancy
#        Description: Perform data redundancy checks through hashing
#                     to detect changes on sql updates and reapply it.
#        Default:     1 - (Enabled)
#                     0 - (Disabled)

Updates.Redundancy = 1

#
#    Updates.ArchivedRedundancy
#        Description: Check hashes of archived updates (slows down startup).
#        Default:     0 - (Disabled)
#                     1 - (Enabled)

Updates.ArchivedRedundancy = 0

#
#    Updates.AllowRehash
#        Description: Inserts the current file hash in the database if it is left empty.
#                     Useful if you want to mark a file as applied but you don't know its hash.
#        Default:     1 - (Enabled)
#                     0 - (Disabled)

Updates.AllowRehash = 1

#
#    Updates.CleanDeadRefMaxCount
#        Description: Cleans dead/ orphaned references that occur if an update was removed or renamed and edited in one step.
#                     It only starts the clean up if the count of the missing updates is below or equal the Updates.CleanDeadRefMaxCount value.
#                     This way prevents erasing of the update history due to wrong source directory state (maybe wrong branch or bad revision).
#                     Disable this if you want to know if the database is in a possible "dirty state".
#        Default:     3 - (Enabled)
#                     0 - (Disabled)
#                    -1 - (Enabled - unlimited)

Updates.CleanDeadRefMaxCount = 3
###################################################################################################

###################################################################################################
#
#  LOGGING SYSTEM SETTINGS
#
#  Appender config values: Given an appender "name"
#    Appender.name
#        Description: Defines 'where to log'
#        Format:      Type,LogLevel,Flags,optional1,optional2,optional3
#
#                     Type
#                         0 - (None)
#                         1 - (Console)
#                         2 - (File)
#                         3 - (DB)
#
#                     LogLevel
#                         0 - (Disabled)
#                         1 - (Fatal)
#                         2 - (Error)
#                         3 - (Warning)
#                         4 - (Info)
#                         5 - (Debug)
#                         6 - (Trace)
#
#                     Flags:
#                         0 - None
#                         1 - Prefix Timestamp to the text
#                         2 - Prefix Log Level to the text
#                         4 - Prefix Log Filter type to the text
#                         8 - Append timestamp to the log file name. Format: YYYY-MM-DD_HH-MM-SS (Only used with Type = 2)
#                        16 - Make a backup of existing file before overwrite (Only used with Mode = w)
#
#                     Colors (read as optional1 if Type = Console)
#                         Format: "fatal error warn info debug trace"
#                         0 - BLACK
#                         1 - RED
#                         2 - GREEN
#                         3 - BROWN
#                         4 - BLUE
#                         5 - MAGENTA
#                         6 - CYAN
#                         7 - GREY
#                         8 - YELLOW
#                         9 - LRED
#                        10 - LGREEN
#                        11 - LBLUE
#                        12 - LMAGENTA
#                        13 - LCYAN
#                        14 - WHITE
#                         Example: "1 9 3 6 5 8"
#
#                     File: Name of the file (read as optional1 if Type = File)
#                         Allows to use one "%s" to create dynamic files
#
#                     Mode: Mode to open the file (read as optional2 if Type = File)
#                          a - (Append)
#                          w - (Overwrite)
#
#                     MaxFileSize: Maximum file size of the log file before creating a new log file
#                     (read as optional3 if Type = File)
#                         Size is measured in bytes expressed in a 64-bit unsigned integer.
#                         Maximum value is 4294967295 (4 GB). Leave blank for no limit.
#                         NOTE: Does not work with dynamic filenames.
#                         Example:  536870912 (512 MB)
#

Appender.Console=1,5,0,"1 9 3 6 5 8"
Appender.DBImport=2,5,0,DBImport.log,w

#  Logger config values: Given a logger "name"
#    Logger.name
#        Description: Defines 'What to log'
#        Format:      LogLevel,AppenderList
#
#                     LogLevel
#                         0 - (Disabled)
#                         1 - (Fatal)
#                         2 - (Error)
#                         3 - (Warning)
#                         4 - (Info)
#                         5 - (Debug)
#                         6 - (Trace)
#
#                     AppenderList: List of appenders linked to logger
#                     (Using spaces as separator).
#

Logger.root=4,Console DBImport
###################################################################################################
