###################################################################################################
# Cypher BNet Server Configuration File #
###################################################################################################

###################################################################################################
# BNet SERVER SETTINGS
#
#    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.
#        Default:     "" - (Log files will be stored in the current path)

LogsDir = "./Logs"

#
#    BattlenetPort
#        Description: TCP port to reach the auth server for battle.net connections.
#        Default:     1119

BattlenetPort = 1119

#
#    LoginREST.Port
#        Description: TCP port to reach the REST login method.
#        Default:     8081
#
#    LoginREST.ExternalAddress
#        Description: IP address sent to clients connecting from outside the network where bnetserver runs
#
#    LoginREST.LocalAddress
#        Description: IP address sent to clients connecting from inside the network where bnetserver runs
#

LoginREST.Port = 8081
LoginREST.ExternalAddress=127.0.0.1
LoginREST.LocalAddress=127.0.0.1

#
#    BindIP
#        Description: Bind auth server to IP/hostname
#        Default:     "0.0.0.0" - (Bind to all IPs on the system)

BindIP = "0.0.0.0"

#
#    RealmsStateUpdateDelay
#        Description: Time (in seconds) between realm list updates.
#        Default:     10
#                     0  - (Disabled)

RealmsStateUpdateDelay = 10

#
#    WrongPass.MaxCount
#        Description: Number of login attemps with wrong password before the account or IP will be
#                     banned.
#        Default:     0  - (Disabled)
#                     1+ - (Enabled)

WrongPass.MaxCount = 0

#
#    WrongPass.BanTime
#        Description: Time (in seconds) for banning account or IP for invalid login attempts.
#        Default:     600 - (10 minutes)
#                     0   - (Permanent ban)

WrongPass.BanTime = 600

#
#    WrongPass.BanType
#        Description: Ban type for invalid login attempts.
#        Default:     0 - (Ban IP)
#                     1 - (Ban Account)

WrongPass.BanType = 0

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

###################################################################################################
# MYSQL SETTINGS
#
#    LoginDatabaseInfo
#        Description: Database connection settings for the realm 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" - (use Unix sockets on
#                                                                           Unix/Linux)
#        Default:     "127.0.0.1;3306;username;password;auth"

LoginDatabaseInfo.Host = "127.0.0.1"
LoginDatabaseInfo.Port = "3306"
LoginDatabaseInfo.Username = "username"
LoginDatabaseInfo.Password = "password"
LoginDatabaseInfo.Database = "auth"

#
#    DBQueryWorkerInterval
#        Description: Time (milliseconds) for Query Task Worker interval.
#        Default:    1000

DBQueryWorkerInterval = 1000

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

###################################################################################################
# UPDATE SETTINGS
#
#    Updates.EnableDatabases
#        Description: A mask that describes which databases shall be updated.
#
#        Following flags are available
#           DATABASE_LOGIN     = 1, // Auth database
#
#        Default:     0  - (All Disabled)
#                     1  - (All Enabled)

Updates.EnableDatabases = 0

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

Updates.SourcePath  = ""

#
#    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 a 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 - (Trace)
#                         2 - (Debug)
#                         3 - (Info)
#                         4 - (Warn)
#                         5 - (Error)
#                         6 - (Fatal)
#
#                     Flags:
#                         0 - None
#                         1 - Prefix Timestamp to the text
#                         2 - Prefix Log Level to the text
#                         4 - Prefix Log Filter type to the text
#
#                     File: Name of the file (read as optional1 if Type = File)
#                         Allows to use one "{0}" to create dynamic files
#

Appender.Console=1,2,0
Appender.Bnet=2,2,0,Bnet.log

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

Logger.Server=3,Console Bnet
Logger.Realmlist=3,Console Bnet
Logger.Session=3,Console Bnet
Logger.Network=3,Console Bnet
Logger.SqlUpdates=3,Console Bnet
Logger.ServiceProtobuf=2,Console Bnet

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