# This is the sample config file of one of the servers in the kaenguru network
# 
allow_share on

# This is the eject_* handler in kaenguru.
# In short words it does the following:
# Kick all users who have less than 10 files or less than 1.5 GB of files shared
# 5 minutes after they've logged in. When being kicked the user is banned for a 
# period of 2 hours. There is a grace time of ten minutes after a server start
# to take care of the bandwidth peak after this event.
# Every file has to be at least 50 bytes large.
eject_after 300
eject_leeches 0
eject_nochannels 1
eject_when_full on
eject_limit_files 10
eject_limit_libsize 1572864
eject_also_bans 1
eject_ban_ttl 7200
eject_grace_time 600
min_file_size 50

# This one handles the kickban of exzessive users
# ( password failures, reconnects and so on )
# After getting the first error the ip address is added 
# to an internal banlist and stays there for five minutes.
ibl_ttl 300

# Those settings will affect the size of the opennap process
index_ignore_suffix on
index_path_depth 3

# How many hits may a search token have to be added to the filter 
# automatically?
file_count_threshold 5000

# Return max. 100 files per search request.
max_results 100

# Allow max 2 searches per user simultaneously.
max_searches 2

# This one handles the number of users which are allowed 
# to connect to a freshly started opennap server.
# adjust this one according to your needs ...
max_new_users_per_minute 80

# report_name 
# report_ip 
report_port 8888
stat_server_host stats.napigator.com
stat_server_port 8890
stats_port 8889

notify_mod_abuse 1
notify_mod_abuse_frequency 100
notify_user_abuse 1
notify_user_abuse_frequency 1000
evaluate_search_abuse_after_secs 120
evaluate_search_abuse_after_tags 100
max_searches_per_minute 2

# No - we don't break //WantQueue privmsgs here - yet ;-)
break_mx_queue 0

level_to_set_flags 3

# If a user ignores a mod+ he might better logged off before ...
# IOW: Ban the offending nick for 30 days...
discipline_ignorers 1
discipline_ignorers_ban_ttl 2592000

# The blocklist is directly taken from sample.block.
# Please please don't use any old block list as it was 
# quite a bit flawed.
# Users sharing files which might be Childporn will get 
# a) reported via logfile and notify_mod()
# b) kickbanned right after they finished their sharing process
discipline_block 1
discipline_block_ban_ttl 2592000
discipline_block_mod 1
notify_mod_block 1

# How many entries may the searchcache have?
# ( right now just statistical use ... )
# If you do a "/raw 10116" you might see some 
# 2000 entries and a summary line like this:
# SUM: 2000 cached  18061 total  8350.4 secs
search_max_cache_entries 2000

no_mod_annoying 0

max_tags_per_minute 2

# We are a searching network right?
# So we should cope with extraordinary data masses too ... 
max_shared 30000

auto_link on
auto_register off

# No - we don't kick any //WantQueue senders ... not even a bit.
block_winmx 0

client_queue_length 2048000

compression_level 9

flood_commands 0
flood_time 0

ghost_kill on
allow_dynamic_ghosts 1

irc_channels on
listen_addr 0.0.0.0

log_mode on
log_level 1423
log_stdout on
login_interval 15
login_timeout 30

max_browse_result 10
max_channel_length 32
max_client_string 32
max_clones 2
max_command_length 2048
max_connections 1200
max_hotlist 32
max_ignore 32
max_nick_length 32
max_reason 96
max_time_delta 5
max_topic 64
max_user_channels 5
min_read 0
nick_expire 2678400
ping_interval 600
register_interval 0
registered_only off
restrict_registration off
remote_browse on
remote_config on
search_timeout 100
server_chunk 0
server_ports 8888
server_queue_length 10240000
stat_click 300
strict_channels off
user_db_interval 1800
usermode ALL
warn_time_delta 30
who_was_time 300
# invalid_clients 
# invalid_nicks 
# protnet *
# set_server_nicks 
connection_hard_limit 2000
max_data_size 256000000
max_rss_size -1
lock_memory off

# Edit those to your hostname e.g. the-turner.kicks-ass.org ;-)
server_name YourServerName
server_alias YourServerName


# Napigator support - you should only need to set stat_server_user and
#   stat_server_pass at the minimum.  If you have used your correct DNS
#   name for server_name above, then you don't need to use any of the
#   report_* variables.  If opennap has trouble detecting the proper values
#   to send to napigator, then you should set the report_* variables
#   appropriately.
# stat_server_user YourUserName
# stat_server_pass YourNapigatorPassword
