summaryrefslogtreecommitdiff
path: root/conf/common
diff options
context:
space:
mode:
Diffstat (limited to 'conf/common')
-rw-r--r--conf/common/inter-server.conf128
-rw-r--r--conf/common/map-index.conf34
-rw-r--r--conf/common/socket.conf106
3 files changed, 268 insertions, 0 deletions
diff --git a/conf/common/inter-server.conf b/conf/common/inter-server.conf
new file mode 100644
index 00000000..6db189a7
--- /dev/null
+++ b/conf/common/inter-server.conf
@@ -0,0 +1,128 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 Hercules Dev Team
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Hercules Inter Server configuration file.
+//=========================================================================
+// Settings that are shared by more than one of the main servers
+//=========================================================================
+
+inter_configuration: {
+ // Level range for sharing within a party
+ party_share_level: 15 // FIXME: Split RE and pre-RE
+
+ // Log configuration
+ log: {
+ // Log Inter Connections, etc.?
+ log_inter: true
+
+ // Inter Log Filename
+ inter_log_filename: "log/inter.log"
+
+ // Log database SQL connection
+ @include "conf/import/sql_connection.conf"
+ }
+
+ mysql_reconnect: {
+ // == MySQL Reconnect Settings
+ // ===========================
+ // - mysql_reconnect_type
+ // - 1: when mysql disconnects during runtime, the server tries to reconnect mysql_reconnect_count times and,
+ // -- if unsuccessful, the server is shut down
+ // - 2: when mysql disconnects during runtime it tries to reconnect indefinitely
+ type: 2
+
+ // - mysql_reconnect_count
+ // - number of reconnect attempts the server should do when the database disconnects during runtime
+ // - only used when mysql_reconnect_type is 1
+ count: 1
+ }
+
+ // ALL MySQL Database Table names
+ // DO NOT CHANGE ANYTHING BEYOND THIS LINE UNLESS YOU KNOW YOUR DATABASE DAMN WELL
+ // this is meant for people who KNOW their stuff, and for some reason want to change their
+ // database layout. [CLOWNISIUS]
+ database_names: {
+ account_db: "login"
+ login_db: "loginlog"
+ ipban_table: "ipbanlist"
+ char_db: "char"
+ interlog_db: "interlog"
+ ragsrvinfo_db: "ragsrvinfo"
+ registry: {
+ acc_reg_num_db: "acc_reg_num_db"
+ acc_reg_str_db: "acc_reg_str_db"
+ char_reg_str_db: "char_reg_str_db"
+ char_reg_num_db: "char_reg_num_db"
+ global_acc_reg_num_db: "global_acc_reg_num_db"
+ global_acc_reg_str_db: "global_acc_reg_str_db"
+ map_reg_num_db: "map_reg_num_db"
+ map_reg_str_db: "map_reg_str_db"
+ }
+ pc: {
+ hotkey_db: "hotkey"
+ scdata_db: "sc_data"
+ cart_db: "cart_inventory"
+ achievement_db: "char_achievements"
+ inventory_db: "inventory"
+ charlog_db: "charlog"
+ storage_db: "storage"
+ skill_db: "skill"
+ memo_db: "memo"
+ party_db: "party"
+ pet_db: "pet"
+ friend_db: "friends"
+ mail_db: "mail"
+ auction_db: "auction"
+ quest_db: "quest"
+ homunculus_db: "homunculus"
+ skill_homunculus_db: "skill_homunculus"
+ mercenary_db: "mercenary"
+ mercenary_owner_db: "mercenary_owner"
+ elemental_db: "elemental"
+ account_data_db: "account_data"
+ }
+ guild: {
+ main_db: "guild"
+ alliance_db: "guild_alliance"
+ castle_db: "guild_castle"
+ expulsion_db: "guild_expulsion"
+ member_db: "guild_member"
+ skill_db: "guild_skill"
+ position_db: "guild_position"
+ storage_db: "guild_storage"
+ }
+ autotrade_merchants_db: "autotrade_merchants"
+ autotrade_data_db: "autotrade_data"
+ npc_market_data_db: "npc_market_data"
+ npc_barter_data_db: "npc_barter_data"
+ npc_expanded_barter_data_db: "npc_expanded_barter_data"
+ }
+
+ // Show warning in console if some string translation missing for selected language
+}
+warn_missing_translation: false
+
+import: "conf/import/inter-server.conf"
diff --git a/conf/common/map-index.conf b/conf/common/map-index.conf
new file mode 100644
index 00000000..b3a1b4e8
--- /dev/null
+++ b/conf/common/map-index.conf
@@ -0,0 +1,34 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 Hercules Dev Team
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Map Index configuration file.
+//=========================================================================
+
+mapindex_configuration: {
+ // Full path to the map_index.txt file
+ // Default: db/map_index.txt
+ file_path: "db/map_index.txt"
+}
diff --git a/conf/common/socket.conf b/conf/common/socket.conf
new file mode 100644
index 00000000..eb7d494b
--- /dev/null
+++ b/conf/common/socket.conf
@@ -0,0 +1,106 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 Hercules Dev Team
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Hercules Sockets configuration file
+//=========================================================================
+
+socket_configuration: {
+ // How long can a socket stall before closing the connection (in seconds)?
+ stall_time: 60
+
+ // Display debug reports (When something goes wrong during the report, the report is saved.)
+ debug: false
+
+ // Linux/Epoll: Maxmimum Events per cycle
+ // Default Value:
+ // (Maxmimum Supported Connections)/2
+ // NOTE: this controls the maximum collected socket-events per-cycle (call to epoll_wait())
+ // for example settings this to 32 will allow up to 32 events (incomming data/new connections
+ // per server-cycle.
+ // NOTE: Recommended Settings is at least half the maxmimum supported connections
+ // Settings this to a lower value, may cause lags/delays
+ // Depending on available CPU Time
+ // NOTE: This Setting is only available on Linux when build using EPoll as event dispatcher!
+ //
+ //epoll_maxevents: 1024
+
+ // Maximum allowed size for clients packets in bytes.
+ // Default Values:
+ // 24576 (Clients < 20131223)
+ // 65535 (Clients >= 20131223)
+ // NOTE: To reduce the size of reported packets, lower the values of defines, which
+ // have been customized, such as MAX_STORAGE, MAX_GUILD_STORAGE or MAX_CART.
+ // NOTE: Do not modify this setting, unless the client has been modified to support
+ // larger packets. The client will crash, when it receives larger packets.
+ //socket_max_client_packet: 65535
+
+ //----- IP Rules Settings -----
+ ip_rules: {
+ // If IP's are checked when connecting.
+ // This also enables DDoS protection.
+ enable: true
+
+ // Order of the checks
+ // deny,allow : Checks deny rules, then allow rules. Allows if no rules match.
+ // allow,deny : Checks allow rules, then deny rules. Allows if no rules match.
+ // mutual-failure : Allows only if an allow rule matches and no deny rules match.
+ // (default is deny,allow)
+ order: "deny,allow"
+
+ // IP rules
+ // allow : Accepts connections from the ip range (even if flagged as DDoS)
+ // deny : Rejects connections from the ip range
+ // The rules are processed in order, the first matching rule of each list (allow and deny) is used
+ allow_list: (
+ //"127.0.0.1",
+ //"192.168.0.0/16",
+ //"10.0.0.0/255.0.0.0",
+ //"all",
+ )
+ deny_list: (
+ //"127.0.0.1",
+ )
+ }
+
+ //---- DDoS Protection Settings ----
+ // If ddos.count connection request are made within ddos.interval ms, it assumes it's a DDoS attack
+ ddos: {
+ // Consecutive attempts interval (msec)
+ // (default is 3000 msecs, 3 seconds)
+ interval: 3000 //ddos_interval
+
+ // Consecutive attempts trigger
+ // (default is 5 attemps)
+ count: 5 //ddos_count
+
+ // The time interval after which the threat of DDoS is assumed to be gone (ms)
+ // After this amount of time, the DDoS restrictions are lifted.
+ // (default is 600000ms, 10min)
+ autoreset: 600000 //ddos_autoreset
+ }
+}
+
+import: "conf/import/socket.conf"