# =========================================================================
# QUICKSTART: server configuration (see reference.conf for details)
# =========================================================================

/* server name and administration info */
global {
    name    chat1.cpf.navy.smil.mil;         # IRC name of the server
    info    "PACnet IRC HUB";     # A short info line
    admin {
        "Pearl Harbor HI USA";   # Three information lines sent
        "CPF CHAT MANAGER <chatman@cpf.navy.smil.mil>"; # in reply to ADMIN command
        "(808)/DSN 471-8710";
    };
    dpass cpfdiepass;  # Password for DIE command
    rpass cpfrestartpass; # Password for RESTART command

};

/* server options */
options {
    network_name    PACnet IRC;   # A name is needed even if not linked
    local_kline     chatman@cpf.navy.smil.mil;   # Contact email for server bans
    show_links;                     # Show servers in LINKS
    allow_split_ops;                # Give ops in empty channels

    // use these options when services is on the network
    services_name   services.cpf.navy.smil.mil;  # Name of services (NS/CS/MS/RS) server
    stats_name      services.cpf.navy.smil.mil;     # Name of stats (OS/SS/HS) server
    network_kline   chatman@cpf.navy.smil.mil;      # Contact email for network bans
    nshelpurl       "http://help";  # Nick registration help page
    local_clones    100:254;
    global_clones   100:254;
    // if you need to link more than 1 server, uncomment the following line
    # servtype        hub;
};

/* where to listen for connections */
port {
    port    6667;         # Port to listen on
    bind    0.0.0.0;    # IP address to listen on
    flags   in;  # S allow SSL connections, n no DNS lookups, i no ident checks

};

/* more listening ports */
port { port 6666; bind 127.0.0.1; };
port { port 6668; bind 127.0.0.1; };
port { port 6669; bind 127.0.0.1; };
port { port 7000; bind 127.0.0.1; };

/* allow clients to connect */
allow {
    host    *@*;    # Allow anyone
    class   users;  # Place them in the users class
    flags   mCFT;    # Special flags for this connection
};

/* connection class for users */
class {
    name        users;      # Class name
    maxusers    4000;        # Maximum connections
    pingfreq    90;         # Check idle connections every N seconds
    maxsendq    100000;     # 100KB send buffer limit
};

/* connection class for server operators */
class {
    name        opers;
    pingfreq    90;
    maxusers    25;         # Maximum connections
    maxsendq    500000;     # 500KB limit for opers
    maxclones   25:254;    # Maximum IP:site clones
};

/* the server administrator */
oper {
    name    hunterbe;          # Username
    passwd  MyPass02!;         # Password
    access  Aan;          # Server Administrator
    host    *@198.55.2.191;  # Must be connecting from here
    host    *@192.168.251.*;   # Or from here
    host    *@192.168.0.*; # Or from here
    // insert other other hostmasks here
    class   opers;          # Belongs in the opers class
};

/* for services */
super {
    "services.cpf.navy.smil.mil";
    // insert any other special servers here
};

/* reserved nicknames */
restrict { type nick; mask "NickServ"; reason "reserved for services"; };
restrict { type nick; mask "ChanServ"; reason "reserved for services"; };
restrict { type nick; mask "MemoServ"; reason "reserved for services"; };
restrict { type nick; mask "RootServ"; reason "reserved for services"; };
restrict { type nick; mask "OperServ"; reason "reserved for services"; };
restrict { type nick; mask "StatServ"; reason "reserved for services"; };
restrict { type nick; mask "HelpServ"; reason "reserved for services"; };
restrict { type nick; mask "services"; reason "reserved for services"; };

restrict { type nick; mask "God";reason "forbidden nickname"; };
restrict { type nick; mask "Anonymous";reason "forbidden nickname"; };
restrict { type nick; mask "nobody";reason "forbidden nickname"; };


/* === these next two blocks are for linking to a hub === */
/* === these next two blocks are for linking to services === */

/* class for services */
class {
    name        services;
    pingfreq    60;         # Idle check every minute
    maxsendq    5000000;    # 5MB backlog buffer
};

/* our services */
connect {
    name        services.cpf.navy.smil.mil;  # Services' IRC name
    host        127.0.0.1;      # IP address services connects from
    apasswd     fnsM!6667;         # Password services sends
    cpasswd     fnsM!6667;         # Same password
    class       services;
};
