diff options
Diffstat (limited to 'conf/common')
-rw-r--r-- | conf/common/inter-server.conf | 128 | ||||
-rw-r--r-- | conf/common/map-index.conf | 34 | ||||
-rw-r--r-- | conf/common/socket.conf | 106 |
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" |