##
##  server.conf -- Ratbox IRC Server Configuration
##  (see @l_prefix@/share/ratbox/etc/server.conf.sample for more)
##

serverinfo {
    name                       = "irc.example.com";
    use_ts6                    = yes;
    sid                        = "42X";
    description                = "Example IRC Services";
    network_name               = "ExNet";
    network_desc               = "Example IRC Network";
    hub                        = no;
    vhost                      = "127.0.0.1";
    ssl_private_key            = "@l_prefix@/etc/x509/example-server.key.pem";
    ssl_cert                   = "@l_prefix@/etc/x509/example-server.crt.pem";
    ssl_dh_params              = "@l_prefix@/etc/x509/example-server.dhp.pem";
    ssld_count                 = 1;
    bandb                      = "@l_prefix@/var/ratbox/server-ban.db";
};

admin {
    name                       = "irc-admin";
    description                = "Example IRC Server Administrator";
    email                      = "<irc-admin@example.com>";
};

class "users" {
    number_per_ident           = 2;
    number_per_ip              = 4;
    number_per_ip_global       = 8;
    max_number                 = 100;
    sendq                      = 100 kbytes;
};

class "opers" {
    number_per_ident           = 2;
    number_per_ip              = 4;
    number_per_ip_global       = 8;
    max_number                 = 10;
    sendq                      = 100 kbytes;
};

class "server" {
    ping_time                  = 5 minutes;
    connectfreq                = 5 minutes;
    max_number                 = 1;
    sendq                      = 2 megabytes;
};

listen {
    host                       = "127.0.0.1";
    port                       = 6667;
    sslport                    = 9999;
};

auth {
    user                       = "foo@*";
    password                   = "bar";
    spoof                      = "foo@example.com";
    flags                      = no_tilde;
    class                      = "opers";
};

auth {
    user                       = "*@*";
    flags                      = no_tilde;
    class                      = "users";
};

operator "god" {
    user                       = "*@127.0.0.1";
    password                   = "bar";
    flags                      = global_kill, remote, kline, unkline, gline,
                                 die, rehash, admin, xline, operwall;
};

service {
    name                       = "irc-services.example.com";
};

connect "irc-services.example.com" {
    host                       = "127.0.0.1";
    send_password              = "services-secret";
    accept_password            = "services-secret";
    port                       = 6666;
    class                      = "server";
    hub_mask                   = "*";
};

cluster {
    name                       = "*";
    flags                      = all;
};

channel {
    use_invex                  = yes;
    use_except                 = yes;
    use_knock                  = yes;
    invite_ops_only            = yes;
    knock_delay                = 5 minutes;
    knock_delay_channel        = 1 minute;
    max_chans_per_user         = 15;
    quiet_on_ban               = yes;
    max_bans                   = 25;
    default_split_user_count   = 0;
    default_split_server_count = 0;
    no_create_on_split         = no;
    no_join_on_split           = no;
    burst_topicwho             = yes;
};

serverhide {
    flatten_links              = no;
    links_delay                = 5 minutes;
    hidden                     = no;
    disable_hidden             = no;
};

general {
    hide_error_messages        = no;
    default_invisible          = no;
    default_operstring         = "is IRC Service Operator";
    default_adminstring        = "is IRC Server Administrator";
    disable_fake_channels      = yes;
    tkline_expire_notices      = no;
    default_floodcount         = 10;
    failed_oper_notice         = yes;
    dots_in_ident              = 2;
    dot_in_ip6_addr            = no;
    min_nonwildcard            = 4;
    min_nonwildcard_simple     = 3;
    max_accept                 = 20;
    anti_nick_flood            = yes;
    max_nick_time              = 20 seconds;
    max_nick_changes           = 5;
    anti_spam_exit_message_time = 5 minutes;
    ts_warn_delta              = 30 seconds;
    ts_max_delta               = 5 minutes;
    client_exit                = yes;
    kline_delay                = 0 seconds;
    kline_with_reason          = yes;
    kline_reason               = "Connection closed";
    non_redundant_klines       = yes;
    warn_no_nline              = yes;
    stats_e_disabled           = no;
    stats_c_oper_only          = no;
    stats_h_oper_only          = no;
    stats_y_oper_only          = no;
    stats_o_oper_only          = yes;
    stats_P_oper_only          = no;
    stats_i_oper_only          = masked;
    stats_k_oper_only          = masked;
    map_oper_only              = no;
    operspy_admin_only         = no;
    caller_id_wait             = 1 minute;
    pace_wait_simple           = 1 second;
    pace_wait                  = 10 seconds;
    short_motd                 = no;
    ping_cookie                = no;
    connect_timeout            = 30 seconds;
    disable_auth               = no;
    no_oper_flood              = yes;
    glines                     = yes;
    gline_time                 = 1 day;
    gline_min_cidr             = 16;
    idletime                   = 0;
    max_targets                = 4;
    client_flood               = 20;
    use_whois_actually         = yes;
    oper_only_umodes           = bots, cconn, debug, full, skill, nchange,
                                 rej, spy, external, operwall, locops, unauth;
    oper_umodes                = locops, servnotice, operwall, wallop;
    servlink_path              = "@l_prefix@/bin/ratbox-servlink";
    compression_level          = 6;
    burst_away                 = yes;
    reject_ban_time            = 1 minute;
    reject_after_count         = 3;
    reject_duration            = 5 minutes;
    max_unknown_ip             = 2;
};

modules {
    path                       = "@l_prefix@/libexec/ratbox";
    path                       = "@l_prefix@/libexec/ratbox/autoload";
    #module                    = "some_module.so";
};

