# ================================================================
#                          Gameserver setting
# ================================================================

# Bind ip of the gameserver, use * to bind on all available IPs
GameserverHostname = *
GameserverPort = 7777

# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname
# If this ip is resolvable by Login just leave *
ExternalHostname = 127.0.0.1

# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname
# If this ip is resolvable by Login just leave *
InternalHostname = 127.0.0.1

# The Loginserver host and port
LoginPort = 9014
LoginHost = 127.0.0.1

# This is the server id that the gameserver will request (i.e. 1 is Bartz)
RequestServerID = 1

# If set to true, the login will give an other id to the server (if the requested id is already reserved)
AcceptAlternateID = True

# ================================================================
#                        Database informations
# ================================================================

Driver = com.mysql.jdbc.Driver
#Driver = org.hsqldb.jdbcDriver
#Driver = com.microsoft.sqlserver.jdbc.SQLServerDriver

URL = jdbc:mysql://localhost/acis
#URL = jdbc:hsqldb:hsql://localhost/acis
#URL = jdbc:sqlserver://localhost/database=acis/user=sa/password=

Login = 
Password = 

# Maximum database connections (minimum 2, basically 10 if number under 10, default 100)
MaximumDbConnections = 100

# Idle connections expiration time (0 = never expire, default)
MaximumDbIdleTime = 0

# ================================================================
#                             serverList
# ================================================================

# Displays [] in front of server name
ServerListBrackets = False

# Displays a clock next to the server name
ServerListClock = False

# If true, the server will be set as GM only
ServerGMOnly = False

# if True, the server will be a test server (listed by testserver clients only)
TestServer = False

# ================================================================
#                      Clients related options
# ================================================================

# Allow delete chars after D days, 0 = feature disabled
DeleteCharAfterDays = 7

# Define how many players are allowed to play simultaneously on your server.
MaximumOnlineUsers = 100

# Minimum and maximum protocol revision that server allow to connect.
# You must keep MinProtocolRevision <= MaxProtocolRevision.
# Default: 730
MinProtocolRevision = 730

# Default: 746
MaxProtocolRevision = 746

#=============================================================
#                       Jail & Punishements
#=============================================================

# Jail is a PvP zone
JailIsPvp = False

# Player punishment for illegal actions
#   1 - broadcast warning to gms only
#   2 - kick player(default)
#   3 - kick & ban player
#   4 - jail player (define minutes of jail with param: 0 = infinite)
DefaultPunish = 2
DefaultPunishParam = 0

# ================================================================
#                          Automatic options
# ================================================================

# AutoLoot, don't lead herbs behavior. False by default.
AutoLoot = False

# AutoLoot from raid boss. False by default.
AutoLootRaid = False

# If False herbs will drop on ground even if AutoLoot is enabled. False by default.
AutoLootHerbs = False

# =================================================================
#                          Items Management
# =================================================================

# Allow players to drop items on the ground
AllowDiscardItem = True

# allows creating multiple nonstackable items at one time 
MultipleItemDrop = True

# delete from world dropped reward items after n seconds. 0 - disabled
AutoDestroyDroppedItemAfter = 0

# Time in secs after wich droped herb will be autodestroyed (default: 15 seconds)
AutoDestroyHerbTime = 15

# List of items that will not be destroyed (seperated by ",")
# NOTE: Make sure the lists do NOT CONTAIN trailing spaces or spaces between the numbers!
# items on this list will be protected regardless below options
ListOfProtectedItems = 57,5575,6673

# also delete from world misc. items dropped by players (all except equipable items)
# NOTE: work only if AutoDestroyDroppedItemAfter >0
DestroyPlayerDroppedItem = False

# Destroy also equipable items (armor, weapon, jewelry)
# NOTE: Work only if DestroyPlayerDroppedItem = true
DestroyEquipableItem = False

# save into DB droppped items for restoring after reboot
SaveDroppedItem = False

# Empty table after items are loaded into memory - safety setting
# if server crash before saving items, on next start old items will be restored 
# and players may already picked up some of them - so this will prevent duplicates
EmptyDroppedItemTableAfterLoad = False

# Time interval in minutes to save in DB items on ground, 0 to disable
# NOTE: If SaveDroppedItemInterval is disabled items will be saved into DB only at server shutdown
SaveDroppedItemInterval = 0

# delete all saved items form DB On next start
# NOTE: Work only if SaveDroppedItem = false
ClearDroppedItemTable = False

# =================================================================
#                               RATES
# =================================================================

# Rate control, float values
RateXp = 1.
RateSp = 1.
RatePartyXp = 1.
RatePartySp = 1.
RateDropAdena = 1.
RateConsumableCost = 1.
RateDropItems = 1.
RateRaidDropItems = 1.
RateDropSpoil = 1.
RateDropManor = 1

# Quest configuration settings
RateQuestDrop = 1.
RateQuestReward = 1.
RateQuestRewardXP = 1.
RateQuestRewardSP = 1.
RateQuestRewardAdena = 1.

RateKarmaExpLost = 1
RateSiegeGuardsPrice = 1

# Player Drop Rate control, percent (%) values
PlayerDropLimit = 0
PlayerRateDrop = 0
PlayerRateDropItem = 0
PlayerRateDropEquip = 0
PlayerRateDropEquipWeapon = 0

# Karma Drop Rate control, percent (%) values
KarmaDropLimit = 10
KarmaRateDrop = 40
KarmaRateDropItem = 50
KarmaRateDropEquip = 40
KarmaRateDropEquipWeapon = 10

# Pet rate control (float values except for "PetFoodRate", default 1./1/1.)
PetXpRate = 1.
PetFoodRate = 1
SinEaterXpRate = 1.

# Common herbs (default)
RateCommonHerbs = 1.
# Herb of Life (categorie 1)
RateHpHerbs = 1.
# Herb of Mana (categorie 2)
RateMpHerbs = 1.
# Special herbs (categorie 3)
RateSpecialHerbs = 1.

# =================================================================
#                        Allowed features
# =================================================================

AllowFreight = True
AllowWarehouse = True

# If True player can try on weapon and armor in shop
# Each Item tried cost WearPrice adena
AllowWear = True
WearDelay = 5
WearPrice = 10

# "Allow" types - Read variable name for info about ;p.
AllowLottery = True
AllowRace = True
AllowWater = True
AllowCursedWeapons = True
AllowManor = True
AllowBoat = True

# Those "Allow" types are set to False by default :
#  - Fishing will "bug" without geodata (if you activate w/o geodata, fishing is possible everywhere).
AllowFishing = False

# Allow characters to receive damage from falling. CoordSynchronize = 2 is recommended.
# True - enabled.
# False - disabled.
# Auto - True if geodata enabled and False if disabled.
# Default: Auto
EnableFallingDamage = Auto

# ================================================================
#                      Debug, Dev & Test config
# ================================================================

# Don't load quests
NoQuests = False

# Don't load spawntable
NoSpawns = False

# Debug messages (by default False, easily "flood" your GS logs)
Debug = False
Developer = False
PacketHandlerDebug = False

# ================================================================
#         Dead Lock Detector (thread detecting deadlocks)
# ================================================================

# Activate the feature (by default: False)
DeadLockDetector = False

# Check interval in seconds (by default: 20)
DeadLockCheckInterval = 20

# Automatic restart if deadlock case is found (by default: False)
RestartOnDeadlock = False

# =================================================================
#                         Logging features
# =================================================================

# Logging ChatWindow
LogChat = False

# Logging Item handling NOTE: This can be very space consuming.
LogItems = False

# Log GM actions
GMAudit = False

# =================================================================
#                    Community board configuration
# =================================================================

# Activate or no the community board.
EnableCommunityBoard = False

# Show this community board section when you open it.
BBSDefault = _bbshome

# =================================================================
#                        Geodata & ValidatePosition
# =================================================================

# GeoData options: 
# 0 = GeoData and PathFinding OFF (default)
# 1 = GeoData used to check Line Of Sight (LOS) targeting and L2Playable movement. You need to download
#     files for data/geodata folder. Monsters can pass walls but not aggro through them.
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode files) and all
#     character moves go through geodata checks (if a mob passes a wall, pathing is wrong).
GeoData = 0

#[True]Loads GeoData buffer's content into physical memory.
#[False] Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
ForceGeodata = True

# Player coordinates synchronization
#   1 - partial synchronization Client --> Server ; don't use it with geodata
#   2 - partial synchronization Server --> Client ; use this setting with geodata
#  -1 - Old system: will synchronize Z only ; default
CoordSynchronize = -1

# =================================================================
# Those next options are for another type of pathfinding, named CellPathFinding. It won't load
# pathnodes from the folder, but make calculs "on the fly", producing more accurate routes but is 
# (maybe 10x) heavier to calculate. Recommended for small servers at least.

# If False, pathnode files (GeoPathFinding method) are used. 
# If True, CellPathFinding method is used, and next options are available to configure it.
# Default: False
CellPathFinding = False

# Pathfinding array buffers configuration
PathFindBuffers = 100x6;128x6;192x6;256x4;320x4;384x4;500x2

# Weight for nodes without obstacles far from walls
LowWeight = 0.5

# Weight for nodes near walls
MediumWeight = 2

# Weight for nodes with obstacles
HighWeight = 3

# Angle paths will be more "smart", but in cost of higher CPU utilization
AdvancedDiagonalStrategy = True

# Weight for diagonal movement. Used only with AdvancedDiagonalStrategy = True
# Default: LowWeight * sqrt(2) 
DiagonalWeight = 0.707

# Maximum number of LOS postfilter passes, 0 will disable postfilter.
# Default: 3
MaxPostfilterPasses = 3

# Path debug function.
# Nodes known to pathfinder will be displayed as adena, constructed path as antidots.
# Number of the items show node cost * 10
# Potions display path after first stage filter
# Red potions - actual waypoints. Green potions - nodes removed by LOS postfilter
# This function is FOR DEBUG PURPOSES ONLY !
DebugPath = False

# =================================================================
#                                Misc
# =================================================================

# Basic protection against L2Walker
L2WalkerProtection = False

# Enforces gameguard query on character login
GameGuardEnforce = False

# delete invalid quest from player
AutoDeleteInvalidQuestData = False

# Zone Setting
#   0 = Peace All the Time
#   1 = PVP During Siege for siege participants
#   2 = PVP All the Time
ZoneTown = 0

# Show "data/html/servnews.htm" when a character enters world.
ShowServerNews = False

# Disable tutorial on new player game entrance.
# Default: False
DisableTutorial = False