{
  "server": {
    "name": "TechIRCd",
    "network": "TechNet",
    "description": "A modern IRC server written in Go",
    "version": "1.0.0",
    "admin_info": "admin@example.com",
    "listen": {
      "host": "localhost",
      "port": 6667,
      "ssl_port": 6697,
      "enable_ssl": false
    },
    "ssl": {
      "cert_file": "server.crt",
      "key_file": "server.key",
      "require_ssl": false
    }
  },
  "limits": {
    "max_clients": 1000,
    "max_channels": 100,
    "max_channel_users": 500,
    "max_nick_length": 30,
    "max_channel_length": 50,
    "max_topic_length": 307,
    "max_kick_length": 307,
    "max_away_length": 307,
    "ping_timeout": 300,
    "registration_timeout": 60,
    "flood_lines": 20,
    "flood_seconds": 10
  },
  "features": {
    "enable_oper": true,
    "enable_services": false,
    "enable_modes": true,
    "enable_ctcp": true,
    "enable_dcc": false,
    "case_mapping": "rfc1459"
  },
  "nick_change_notification": {
    "to_everyone": true,
    "to_opers": true,
    "to_self": true
  },
  "channels": {
    "default_modes": "+nt",
    "auto_join": [
      "#general"
    ],
    "admin_channels": [
      "#admin"
    ],
    "founder_mode": "o",
    "allowed_modes": {
      "voice": true,
      "halfop": true,
      "operator": true,
      "admin": true,
      "owner": true
    },
    "modes": {
      "ban_list_size": 100,
      "except_list_size": 100,
      "invite_list_size": 100
    }
  },
  "opers": [
    {
      "name": "admin",
      "password": "changeme",
      "host": "*@localhost",
      "class": "admin",
      "flags": [
        "global_kill",
        "remote",
        "connect",
        "squit"
      ]
    }
  ],
  "linking": {
    "enable": true,
    "server_port": 6697,
    "password": "linkpassword123",
    "hub": false,
    "auto_connect": false,
    "links": [
      {
        "name": "hub.technet.org",
        "host": "127.0.0.1",
        "port": 6697,
        "password": "linkpassword123",
        "auto_connect": false,
        "hub": true,
        "description": "TechNet Hub Server"
      }
    ]
  },
  "whois_features": {
    "show_user_modes": {
      "to_everyone": false,
      "to_opers": true,
      "to_self": true
    },
    "show_ssl_status": {
      "to_everyone": true,
      "to_opers": true,
      "to_self": true
    },
    "show_idle_time": {
      "to_everyone": false,
      "to_opers": true,
      "to_self": true
    },
    "show_signon_time": {
      "to_everyone": false,
      "to_opers": true,
      "to_self": true
    },
    "show_real_host": {
      "to_everyone": false,
      "to_opers": true,
      "to_self": true
    },
    "show_channels": {
      "to_everyone": true,
      "to_opers": true,
      "to_self": true,
      "hide_secret_channels": true,
      "hide_private_channels": false,
      "show_membership_levels": true
    },
    "show_oper_class": {
      "to_everyone": false,
      "to_opers": true,
      "to_self": true
    },
    "show_client_info": {
      "to_everyone": false,
      "to_opers": true,
      "to_self": false
    },
    "show_account_name": {
      "to_everyone": true,
      "to_opers": true,
      "to_self": true
    }
  },
  "motd": [
    "Welcome to TechIRCd!",
    "A modern IRC server written in Go",
    "Enjoy your stay on TechNet!"
  ],
  "logging": {
    "level": "info",
    "file": "techircd.log",
    "max_size": 100,
    "max_backups": 3,
    "max_age": 28
  }
}