1535 lines
44 KiB
Plaintext
1535 lines
44 KiB
Plaintext
|
include
|
||
|
{
|
||
|
type = "file"
|
||
|
name = "/etc/anope/include.conf"
|
||
|
}
|
||
|
|
||
|
module { name = "inspircd" }
|
||
|
|
||
|
options
|
||
|
{
|
||
|
user = "anope"
|
||
|
group = "anope"
|
||
|
casemap = "ascii"
|
||
|
badpasslimit = 5
|
||
|
badpasstimeout = 1m
|
||
|
updatetimeout = 2m
|
||
|
expiretimeout = 30m
|
||
|
readtimeout = 5s
|
||
|
timeoutcheck = 3s
|
||
|
servicealias = yes
|
||
|
hidestatso = no
|
||
|
retrywait = 60s
|
||
|
hideprivilegedcommands = yes
|
||
|
hideregisteredcommands = yes
|
||
|
didyoumeandifference = 4
|
||
|
regexengine = "regex/stdlib"
|
||
|
languages = "de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 tr_TR.UTF-8"
|
||
|
defaultlanguage = "en_US.UTF-8"
|
||
|
}
|
||
|
|
||
|
log
|
||
|
{
|
||
|
target = "/var/log/anope/services.log #services"
|
||
|
bot = "GLOBAL"
|
||
|
logage = 7
|
||
|
admin = "*"
|
||
|
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
|
||
|
commands = "~operserv/* *"
|
||
|
servers = "*"
|
||
|
channels = "~mode *"
|
||
|
users = "connect disconnect nick"
|
||
|
other = "*"
|
||
|
rawio = no
|
||
|
debug = no
|
||
|
}
|
||
|
|
||
|
log
|
||
|
{
|
||
|
bot = "GLOBAL"
|
||
|
target = "globops"
|
||
|
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
|
||
|
servers = "squit"
|
||
|
users = "oper"
|
||
|
other = "expire/* bados akill/*"
|
||
|
}
|
||
|
|
||
|
opertype
|
||
|
{
|
||
|
name = "Helper"
|
||
|
commands = "hostserv/*"
|
||
|
}
|
||
|
|
||
|
opertype
|
||
|
{
|
||
|
name = "Services Operator"
|
||
|
inherits = "Helper, Another Helper"
|
||
|
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
|
||
|
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
|
||
|
}
|
||
|
|
||
|
opertype
|
||
|
{
|
||
|
name = "Services Administrator"
|
||
|
inherits = "Services Operator"
|
||
|
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/noop operserv/forbid global/*"
|
||
|
privs = "*"
|
||
|
}
|
||
|
|
||
|
opertype
|
||
|
{
|
||
|
name = "Services Root"
|
||
|
commands = "*"
|
||
|
privs = "*"
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "enc_sha2"
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "enc_argon2"
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "enc_bcrypt"
|
||
|
}
|
||
|
|
||
|
module { name = "enc_posix" }
|
||
|
|
||
|
module { name = "help" }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
ip = 127.53.127.53
|
||
|
port = 53
|
||
|
name = "dns"
|
||
|
nameserver = "/etc/resolv.conf"
|
||
|
timeout = 2
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "dnsbl"
|
||
|
check_on_connect = yes
|
||
|
check_on_netburst = yes
|
||
|
add_to_akill = yes
|
||
|
|
||
|
blacklist
|
||
|
{
|
||
|
name = "rbl.efnetrbl.org"
|
||
|
time = 4h
|
||
|
reason = "You are listed in the EFnet RBL, visit https://rbl.efnetrbl.org/?i=%i for info"
|
||
|
|
||
|
reply
|
||
|
{
|
||
|
code = 1
|
||
|
reason = "Open Proxy"
|
||
|
}
|
||
|
|
||
|
reply
|
||
|
{
|
||
|
code = 2
|
||
|
reason = "spamtrap666"
|
||
|
}
|
||
|
|
||
|
reply
|
||
|
{
|
||
|
code = 3
|
||
|
reason = "spamtrap50"
|
||
|
}
|
||
|
|
||
|
reply
|
||
|
{
|
||
|
code = 4
|
||
|
reason = "TOR"
|
||
|
allow_account = yes
|
||
|
}
|
||
|
|
||
|
reply
|
||
|
{
|
||
|
code = 5
|
||
|
reason = "Drones / Flooding"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
blacklist
|
||
|
{
|
||
|
name = "dnsbl.dronebl.org"
|
||
|
time = 4h
|
||
|
reason = "You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=%i&network=%N"
|
||
|
}
|
||
|
|
||
|
exempt { ip = "127.0.0.0/8" }
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "helpchan"
|
||
|
helpchannel = "#help"
|
||
|
}
|
||
|
|
||
|
module { name = "regex_posix" }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "regex_stdlib"
|
||
|
syntax = "ecmascript"
|
||
|
}
|
||
|
|
||
|
module { name = "regex_tre" }
|
||
|
|
||
|
module { name = "rewrite" }
|
||
|
|
||
|
command
|
||
|
{
|
||
|
service = "CHANSERV";
|
||
|
name = "CLEAR";
|
||
|
command = "rewrite"
|
||
|
rewrite = true
|
||
|
rewrite_source = "CLEAR $ USERS"
|
||
|
rewrite_target = "KICK $1 *"
|
||
|
rewrite_description = "Clears all users from a channel"
|
||
|
}
|
||
|
|
||
|
module { name = "sasl" }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ssl_gnutls"
|
||
|
cert = "/etc/ssl/anope/server.crt"
|
||
|
key = "/etc/ssl/anope/server.key"
|
||
|
}
|
||
|
|
||
|
service
|
||
|
{
|
||
|
nick = "BOTSERV"
|
||
|
user = "_"
|
||
|
host = "services/_"
|
||
|
gecos = "Bot Service"
|
||
|
channels = "@#services"
|
||
|
alias = "BS"
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "botserv"
|
||
|
client = "BOTSERV"
|
||
|
defaults = "greet fantasy"
|
||
|
minusers = 0
|
||
|
smartjoin = yes
|
||
|
botmodes = "ao"
|
||
|
}
|
||
|
|
||
|
command { service = "BOTSERV"; name = "HELP"; command = "generic/help"; }
|
||
|
|
||
|
module { name = "bs_assign" }
|
||
|
|
||
|
command { service = "BOTSERV"; name = "ASSIGN"; command = "botserv/assign"; }
|
||
|
command { service = "BOTSERV"; name = "UNASSIGN"; command = "botserv/unassign"; }
|
||
|
command { service = "BOTSERV"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "bs_autoassign"
|
||
|
bot = "CHANSERV"
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "bs_badwords"
|
||
|
badwordsmax = 1024
|
||
|
casesensitive = yes
|
||
|
}
|
||
|
|
||
|
command { service = "BOTSERV"; name = "BADWORDS"; command = "botserv/badwords"; }
|
||
|
|
||
|
module { name = "bs_bot" }
|
||
|
command { service = "BOTSERV"; name = "BOT"; command = "botserv/bot"; permission = "botserv/bot"; }
|
||
|
|
||
|
module { name = "bs_botlist" }
|
||
|
command { service = "BOTSERV"; name = "BOTLIST"; command = "botserv/botlist"; }
|
||
|
|
||
|
module { name = "bs_control" }
|
||
|
command { service = "BOTSERV"; name = "ACT"; command = "botserv/act"; }
|
||
|
command { service = "BOTSERV"; name = "SAY"; command = "botserv/say"; }
|
||
|
|
||
|
module { name = "bs_info" }
|
||
|
command { service = "BOTSERV"; name = "INFO"; command = "botserv/info"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "bs_kick"
|
||
|
keepdata = 10m
|
||
|
gentlebadwordreason = yes
|
||
|
}
|
||
|
|
||
|
command { service = "BOTSERV"; name = "KICK"; command = "botserv/kick"; }
|
||
|
command { service = "BOTSERV"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
|
||
|
command { service = "BOTSERV"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
|
||
|
command { service = "BOTSERV"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
|
||
|
command { service = "BOTSERV"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
|
||
|
command { service = "BOTSERV"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
|
||
|
command { service = "BOTSERV"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
|
||
|
command { service = "BOTSERV"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
|
||
|
command { service = "BOTSERV"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
|
||
|
command { service = "BOTSERV"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
|
||
|
command { service = "BOTSERV"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
|
||
|
|
||
|
command { service = "BOTSERV"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
|
||
|
command { service = "BOTSERV"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
|
||
|
|
||
|
|
||
|
module { name = "bs_set" }
|
||
|
command { service = "BOTSERV"; name = "SET"; command = "botserv/set"; }
|
||
|
command { service = "BOTSERV"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
|
||
|
command { service = "BOTSERV"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
|
||
|
|
||
|
module { name = "greet" }
|
||
|
command { service = "BOTSERV"; name = "SET GREET"; command = "botserv/set/greet"; }
|
||
|
command { service = "NICKSERV"; name = "SET GREET"; command = "nickserv/set/greet"; }
|
||
|
command { service = "NICKSERV"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "GREET"
|
||
|
desc = _("Greet message displayed on join")
|
||
|
rank = 40
|
||
|
level = 5
|
||
|
flag = "g"
|
||
|
xop = "AOP"
|
||
|
}
|
||
|
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "fantasy"
|
||
|
fantasycharacter = "?"
|
||
|
}
|
||
|
|
||
|
command { service = "BOTSERV"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
|
||
|
|
||
|
fantasy { name = "ACCESS"; command = "chanserv/access"; }
|
||
|
fantasy { name = "AKICK"; command = "chanserv/akick"; }
|
||
|
fantasy { name = "AOP"; command = "chanserv/xop"; }
|
||
|
fantasy { name = "BAN"; command = "chanserv/ban"; }
|
||
|
fantasy { name = "CLONE"; command = "chanserv/clone"; }
|
||
|
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
|
||
|
fantasy { name = "DEOP"; command = "chanserv/modes"; }
|
||
|
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
|
||
|
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
|
||
|
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
|
||
|
fantasy { name = "DOWN"; command = "chanserv/down"; }
|
||
|
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
|
||
|
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
|
||
|
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
|
||
|
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
|
||
|
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
|
||
|
fantasy { name = "HOP"; command = "chanserv/xop"; }
|
||
|
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
|
||
|
fantasy { name = "INVITE"; command = "chanserv/invite"; }
|
||
|
fantasy { name = "K"; command = "chanserv/kick"; }
|
||
|
fantasy { name = "KB"; command = "chanserv/ban"; }
|
||
|
fantasy { name = "KICK"; command = "chanserv/kick"; }
|
||
|
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
|
||
|
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
|
||
|
fantasy { name = "LOG"; command = "chanserv/log"; }
|
||
|
fantasy { name = "MODE"; command = "chanserv/mode"; }
|
||
|
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
|
||
|
fantasy { name = "OP"; command = "chanserv/modes"; }
|
||
|
fantasy { name = "OWNER"; command = "chanserv/modes"; }
|
||
|
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
|
||
|
fantasy { name = "QOP"; command = "chanserv/xop"; }
|
||
|
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
|
||
|
fantasy { name = "SOP"; command = "chanserv/xop"; }
|
||
|
fantasy { name = "STATUS"; command = "chanserv/status"; }
|
||
|
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
|
||
|
fantasy { name = "SYNC"; command = "chanserv/sync"; }
|
||
|
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
|
||
|
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
|
||
|
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
|
||
|
fantasy { name = "UP"; command = "chanserv/up"; }
|
||
|
fantasy { name = "VOICE"; command = "chanserv/modes"; }
|
||
|
fantasy { name = "VOP"; command = "chanserv/xop"; }
|
||
|
|
||
|
service
|
||
|
{
|
||
|
nick = "CHANSERV"
|
||
|
user = "_"
|
||
|
host = "services/_"
|
||
|
gecos = "Channel Registration Service"
|
||
|
channels = "@#services"
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "chanserv"
|
||
|
client = "CHANSERV"
|
||
|
defaults = "keeptopic peace securefounder signkick"
|
||
|
maxregistered = 20
|
||
|
expire = 32y
|
||
|
accessmax = 1000
|
||
|
inhabit = 1m
|
||
|
opersonly = no
|
||
|
nomlock = "P"
|
||
|
require = "r"
|
||
|
reasonmax = 200
|
||
|
signkickformat = "%m (%n)"
|
||
|
disallow_hostmask_access = false
|
||
|
disallow_channel_access = false
|
||
|
always_lower_ts = false
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "ACCESS_CHANGE"
|
||
|
desc = _("Allowed to modify the access list")
|
||
|
rank = 0
|
||
|
level = 10
|
||
|
flag = "f"
|
||
|
xop = "SOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "ACCESS_LIST"
|
||
|
desc = _("Allowed to view the access list")
|
||
|
rank = 10
|
||
|
level = 3
|
||
|
flag = "f"
|
||
|
xop = "VOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "AKICK"
|
||
|
desc = _("Allowed to use the AKICK command")
|
||
|
rank = 250
|
||
|
level = 10
|
||
|
flag = "K"
|
||
|
xop = "SOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "ASSIGN"
|
||
|
desc = _("Allowed to assign/unassign a bot")
|
||
|
rank = 270
|
||
|
level = "founder"
|
||
|
flag = "s"
|
||
|
xop = "QOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "AUTOHALFOP"
|
||
|
desc = _("Automatic halfop upon join")
|
||
|
rank = 100
|
||
|
level = 4
|
||
|
flag = "H"
|
||
|
xop = "HOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "AUTOOP"
|
||
|
desc = _("Automatic channel operator status upon join")
|
||
|
rank = 210
|
||
|
level = 5
|
||
|
flag = "O"
|
||
|
xop = "AOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "AUTOOWNER"
|
||
|
desc = _("Automatic owner upon join")
|
||
|
rank = 330
|
||
|
level = 9999
|
||
|
flag = "Q"
|
||
|
xop = "QOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "AUTOPROTECT"
|
||
|
desc = _("Automatic protect upon join")
|
||
|
rank = 240
|
||
|
level = 10
|
||
|
flag = "A"
|
||
|
xop = "SOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "AUTOVOICE"
|
||
|
desc = _("Automatic voice on join")
|
||
|
rank = 50
|
||
|
level = 3
|
||
|
flag = "V"
|
||
|
xop = "VOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "BADWORDS"
|
||
|
desc = _("Allowed to modify channel badwords list")
|
||
|
rank = 260
|
||
|
level = 10
|
||
|
flag = "K"
|
||
|
xop = "SOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "BAN"
|
||
|
desc = _("Allowed to ban users")
|
||
|
rank = 150
|
||
|
level = 4
|
||
|
flag = "b"
|
||
|
xop = "HOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "FANTASY"
|
||
|
desc = _("Allowed to use fantasy commands")
|
||
|
rank = 30
|
||
|
level = 3
|
||
|
flag = "c"
|
||
|
xop = "VOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "FOUNDER"
|
||
|
desc = _("Allowed to issue commands restricted to channel founders")
|
||
|
rank = 360
|
||
|
level = 10000
|
||
|
flag = "F"
|
||
|
xop = "QOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "GETKEY"
|
||
|
desc = _("Allowed to use GETKEY command")
|
||
|
rank = 180
|
||
|
level = 5
|
||
|
flag = "G"
|
||
|
xop = "AOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "HALFOP"
|
||
|
desc = _("Allowed to (de)halfop users")
|
||
|
rank = 120
|
||
|
level = 5
|
||
|
flag = "h"
|
||
|
xop = "AOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "HALFOPME"
|
||
|
desc = _("Allowed to (de)halfop themself")
|
||
|
rank = 110
|
||
|
level = 4
|
||
|
flag = "h"
|
||
|
xop = "HOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "INFO"
|
||
|
desc = _("Allowed to get full INFO output")
|
||
|
rank = 80
|
||
|
level = 9999
|
||
|
flag = "I"
|
||
|
xop = "QOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "INVITE"
|
||
|
desc = _("Allowed to use the INVITE command")
|
||
|
rank = 190
|
||
|
level = 5
|
||
|
flag = "i"
|
||
|
xop = "AOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "KICK"
|
||
|
desc = _("Allowed to use the KICK command")
|
||
|
rank = 130
|
||
|
level = 4
|
||
|
flag = "k"
|
||
|
xop = "HOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "MEMO"
|
||
|
desc = _("Allowed to read channel memos")
|
||
|
rank = 280
|
||
|
level = 10
|
||
|
flag = "m"
|
||
|
xop = "SOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "MODE"
|
||
|
desc = _("Allowed to use the MODE command")
|
||
|
rank = 170
|
||
|
level = 9999
|
||
|
flag = "s"
|
||
|
xop = "QOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "NOKICK"
|
||
|
desc = _("Prevents users being kicked by services")
|
||
|
rank = 20
|
||
|
level = 1
|
||
|
flag = "N"
|
||
|
xop = "VOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "OP"
|
||
|
desc = _("Allowed to (de)op users")
|
||
|
rank = 230
|
||
|
level = 5
|
||
|
flag = "o"
|
||
|
xop = "SOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "OPME"
|
||
|
desc = _("Allowed to (de)op themself")
|
||
|
rank = 220
|
||
|
level = 5
|
||
|
flag = "o"
|
||
|
xop = "AOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "OWNER"
|
||
|
desc = _("Allowed to (de)owner users")
|
||
|
rank = 350
|
||
|
level = "founder"
|
||
|
flag = "q"
|
||
|
xop = "QOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "OWNERME"
|
||
|
desc = _("Allowed to (de)owner themself")
|
||
|
rank = 340
|
||
|
level = 9999
|
||
|
flag = "q"
|
||
|
xop = "QOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "PROTECT"
|
||
|
desc = _("Allowed to (de)protect users")
|
||
|
rank = 310
|
||
|
level = 9999
|
||
|
flag = "a"
|
||
|
xop = "QOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "PROTECTME"
|
||
|
desc = _("Allowed to (de)protect themself")
|
||
|
rank = 300
|
||
|
level = 10
|
||
|
flag = "a"
|
||
|
xop = "SOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "SAY"
|
||
|
desc = _("Allowed to use SAY and ACT commands")
|
||
|
rank = 90
|
||
|
level = 5
|
||
|
flag = "B"
|
||
|
xop = "AOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "SET"
|
||
|
desc = _("Allowed to set channel settings")
|
||
|
rank = 320
|
||
|
level = 9999
|
||
|
flag = "s"
|
||
|
xop = "QOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "SIGNKICK"
|
||
|
desc = _("No signed kick when SIGNKICK LEVEL is used")
|
||
|
rank = 140
|
||
|
level = 9999
|
||
|
flag = "K"
|
||
|
xop = "QOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "TOPIC"
|
||
|
desc = _("Allowed to change channel topics")
|
||
|
rank = 160
|
||
|
level = 5
|
||
|
flag = "t"
|
||
|
xop = "AOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "UNBAN"
|
||
|
desc = _("Allowed to unban users")
|
||
|
rank = 200
|
||
|
level = 4
|
||
|
flag = "u"
|
||
|
xop = "HOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "UNBANME"
|
||
|
desc = _("Allowed to unban themself")
|
||
|
rank = 200
|
||
|
level = 4
|
||
|
flag = "U"
|
||
|
xop = "HOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "VOICE"
|
||
|
desc = _("Allowed to (de)voice users")
|
||
|
rank = 70
|
||
|
level = 4
|
||
|
flag = "v"
|
||
|
xop = "HOP"
|
||
|
}
|
||
|
|
||
|
privilege
|
||
|
{
|
||
|
name = "VOICEME"
|
||
|
desc = _("Allowed to (de)voice themself")
|
||
|
rank = 60
|
||
|
level = 3
|
||
|
flag = "v"
|
||
|
xop = "VOP"
|
||
|
}
|
||
|
|
||
|
command_group
|
||
|
{
|
||
|
name = "chanserv/access"
|
||
|
description = _("Used to manage the list of privileged users")
|
||
|
}
|
||
|
|
||
|
command_group
|
||
|
{
|
||
|
name = "chanserv/status"
|
||
|
description = _("Used to modify the channel status of you or other users")
|
||
|
}
|
||
|
|
||
|
command_group
|
||
|
{
|
||
|
name = "chanserv/management"
|
||
|
description = _("Used to manage channels")
|
||
|
}
|
||
|
|
||
|
command_group
|
||
|
{
|
||
|
name = "chanserv/admin"
|
||
|
description = _("Services Operator commands")
|
||
|
}
|
||
|
|
||
|
command { service = "CHANSERV"; name = "HELP"; command = "generic/help"; }
|
||
|
|
||
|
module { name = "cs_access" }
|
||
|
command { service = "CHANSERV"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
|
||
|
command { service = "CHANSERV"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "cs_akick"
|
||
|
autokickmax = 50
|
||
|
autokickreason = "User has been banned from the channel"
|
||
|
}
|
||
|
|
||
|
command { service = "CHANSERV"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
|
||
|
|
||
|
module { name = "cs_ban" }
|
||
|
command { service = "CHANSERV"; name = "BAN"; command = "chanserv/ban"; }
|
||
|
|
||
|
module { name = "cs_clone" }
|
||
|
command { service = "CHANSERV"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
|
||
|
|
||
|
module { name = "cs_drop" }
|
||
|
command { service = "CHANSERV"; name = "DROP"; command = "chanserv/drop"; }
|
||
|
|
||
|
|
||
|
module { name = "cs_enforce" }
|
||
|
command { service = "CHANSERV"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "cs_entrymsg"
|
||
|
maxentries = 32
|
||
|
}
|
||
|
command { service = "CHANSERV"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
|
||
|
|
||
|
module { name = "cs_flags" }
|
||
|
command { service = "CHANSERV"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
|
||
|
|
||
|
module { name = "cs_getkey" }
|
||
|
command { service = "CHANSERV"; name = "GETKEY"; command = "chanserv/getkey"; }
|
||
|
|
||
|
module { name = "cs_info" }
|
||
|
command { service = "CHANSERV"; name = "INFO"; command = "chanserv/info"; }
|
||
|
|
||
|
module { name = "cs_invite" }
|
||
|
command { service = "CHANSERV"; name = "INVITE"; command = "chanserv/invite"; }
|
||
|
|
||
|
module { name = "cs_kick" }
|
||
|
command { service = "CHANSERV"; name = "KICK"; command = "chanserv/kick"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "cs_list"
|
||
|
listmax = 50
|
||
|
}
|
||
|
|
||
|
command { service = "CHANSERV"; name = "LIST"; command = "chanserv/list"; }
|
||
|
|
||
|
command { service = "CHANSERV"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
|
||
|
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "cs_log"
|
||
|
default
|
||
|
{
|
||
|
command = "chanserv/modes"
|
||
|
method = "MESSAGE @"
|
||
|
}
|
||
|
|
||
|
default
|
||
|
{
|
||
|
service = "CHANSERV"
|
||
|
command = "ACCESS"
|
||
|
method = "MESSAGE @"
|
||
|
}
|
||
|
|
||
|
default
|
||
|
{
|
||
|
command = "chanserv/xop"
|
||
|
method = "MESSAGE @"
|
||
|
}
|
||
|
|
||
|
default
|
||
|
{
|
||
|
service = "CHANSERV"
|
||
|
command = "FLAGS"
|
||
|
method = "MESSAGE @"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
command { service = "CHANSERV"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "cs_mode"
|
||
|
mlock = "+nt"
|
||
|
max = 50
|
||
|
}
|
||
|
|
||
|
command { service = "CHANSERV"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
|
||
|
|
||
|
command { service = "CHANSERV"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
|
||
|
command { service = "CHANSERV"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
|
||
|
|
||
|
command { service = "CHANSERV"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
|
||
|
command { service = "CHANSERV"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
|
||
|
|
||
|
command { service = "CHANSERV"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
|
||
|
command { service = "CHANSERV"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
|
||
|
|
||
|
command { service = "CHANSERV"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
|
||
|
command { service = "CHANSERV"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
|
||
|
|
||
|
command { service = "CHANSERV"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
|
||
|
command { service = "CHANSERV"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
|
||
|
|
||
|
|
||
|
module { name = "cs_register" }
|
||
|
command { service = "CHANSERV"; name = "REGISTER"; command = "chanserv/register"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "cs_seen"
|
||
|
simple = false
|
||
|
purgetime = "30d"
|
||
|
}
|
||
|
|
||
|
command { service = "OPERSERV"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
|
||
|
fantasy { name = "SEEN"; command = "operserv/seen"; prepend_channel = false; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "cs_set"
|
||
|
defbantype = 2
|
||
|
persist_lower_ts = true
|
||
|
}
|
||
|
|
||
|
command { service = "CHANSERV"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
|
||
|
command { service = "CHANSERV"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
|
||
|
command { service = "CHANSERV"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
|
||
|
command { service = "CHANSERV"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
|
||
|
command { service = "CHANSERV"; name = "SET DESC"; command = "chanserv/set/description"; hide = yes; }
|
||
|
command { service = "CHANSERV"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
|
||
|
command { service = "CHANSERV"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
|
||
|
command { service = "CHANSERV"; name = "SET PEACE"; command = "chanserv/set/peace"; }
|
||
|
command { service = "CHANSERV"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
|
||
|
command { service = "CHANSERV"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
|
||
|
command { service = "CHANSERV"; name = "SET SECURE"; command = "chanserv/set/secure"; }
|
||
|
command { service = "CHANSERV"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
|
||
|
command { service = "CHANSERV"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
|
||
|
command { service = "CHANSERV"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
|
||
|
command { service = "CHANSERV"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
|
||
|
command { service = "CHANSERV"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
|
||
|
|
||
|
module { name = "cs_set_misc" }
|
||
|
command { service = "CHANSERV"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
|
||
|
command { service = "CHANSERV"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an email address with the channel"); }
|
||
|
|
||
|
module { name = "cs_status" }
|
||
|
command { service = "CHANSERV"; name = "STATUS"; command = "chanserv/status"; }
|
||
|
command { service = "CHANSERV"; name = "WHY"; command = "chanserv/status"; hide = true; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "cs_suspend"
|
||
|
suspendexpire = 90d
|
||
|
show = "suspended, by, reason, on, expires"
|
||
|
}
|
||
|
|
||
|
command { service = "CHANSERV"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
|
||
|
command { service = "CHANSERV"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
|
||
|
|
||
|
module { name = "cs_sync" }
|
||
|
command { service = "CHANSERV"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
|
||
|
|
||
|
module { name = "cs_topic" }
|
||
|
|
||
|
command { service = "CHANSERV"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
|
||
|
command { service = "CHANSERV"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
|
||
|
|
||
|
module { name = "cs_unban" }
|
||
|
command { service = "CHANSERV"; name = "UNBAN"; command = "chanserv/unban"; }
|
||
|
|
||
|
module { name = "cs_updown" }
|
||
|
command { service = "CHANSERV"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
|
||
|
command { service = "CHANSERV"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
|
||
|
|
||
|
module { name = "cs_xop" }
|
||
|
command { service = "CHANSERV"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
|
||
|
command { service = "CHANSERV"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
|
||
|
command { service = "CHANSERV"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
|
||
|
command { service = "CHANSERV"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
|
||
|
command { service = "CHANSERV"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
|
||
|
|
||
|
module { name = "cs_statusupdate" }
|
||
|
|
||
|
service
|
||
|
{
|
||
|
nick = "GLOBAL"
|
||
|
user = "_"
|
||
|
host = "services/_"
|
||
|
gecos = "Global Noticer"
|
||
|
channels = "@#services"
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "global"
|
||
|
client = "GLOBAL"
|
||
|
globaloncycledown = "Services are restarting, they will be back shortly - please be good while they're gone"
|
||
|
globaloncycleup = "Services are now back online - have a nice day"
|
||
|
anonymousglobal = no
|
||
|
}
|
||
|
|
||
|
command { service = "GLOBAL"; name = "HELP"; command = "generic/help"; }
|
||
|
|
||
|
module { name = "gl_global" }
|
||
|
command { service = "GLOBAL"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
|
||
|
fantasy { name = "GLOBAL"; command = "global/global"; prepend_channel = false; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "gl_queue"
|
||
|
maxqueue = 10
|
||
|
}
|
||
|
|
||
|
command { service = "GLOBAL"; name = "QUEUE"; command = "global/queue"; permission = "global/queue"; }
|
||
|
|
||
|
module { name = "gl_server" }
|
||
|
command { service = "GLOBAL"; name = "SERVER"; command = "global/server"; permission = "global/server"; }
|
||
|
|
||
|
service
|
||
|
{
|
||
|
nick = "HOSTSERV"
|
||
|
user = "_"
|
||
|
host = "services/_"
|
||
|
gecos = "vHost Service"
|
||
|
channels = "@#services"
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "hostserv"
|
||
|
client = "HOSTSERV"
|
||
|
activate_on_set = false
|
||
|
}
|
||
|
|
||
|
command { service = "HOSTSERV"; name = "HELP"; command = "generic/help"; }
|
||
|
|
||
|
module { name = "hs_del" }
|
||
|
command { service = "HOSTSERV"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
|
||
|
command { service = "HOSTSERV"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "hs_group"
|
||
|
syncongroup = true
|
||
|
synconset = true
|
||
|
}
|
||
|
|
||
|
command { service = "HOSTSERV"; name = "GROUP"; command = "hostserv/group"; }
|
||
|
|
||
|
module { name = "hs_list" }
|
||
|
command { service = "HOSTSERV"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
|
||
|
|
||
|
module { name = "hs_off" }
|
||
|
command { service = "HOSTSERV"; name = "OFF"; command = "hostserv/off"; }
|
||
|
|
||
|
module { name = "hs_on" }
|
||
|
command { service = "HOSTSERV"; name = "ON"; command = "hostserv/on"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "hs_request"
|
||
|
memouser = yes
|
||
|
memooper = yes
|
||
|
}
|
||
|
|
||
|
command { service = "HOSTSERV"; name = "REQUEST"; command = "hostserv/request"; }
|
||
|
command { service = "HOSTSERV"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
|
||
|
command { service = "HOSTSERV"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
|
||
|
command { service = "HOSTSERV"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
|
||
|
|
||
|
module { name = "hs_set" }
|
||
|
command { service = "HOSTSERV"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
|
||
|
command { service = "HOSTSERV"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
|
||
|
|
||
|
service
|
||
|
{
|
||
|
nick = "MEMOSERV"
|
||
|
user = "_"
|
||
|
host = "services/_"
|
||
|
gecos = "Memo Service"
|
||
|
channels = "@#services"
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "memoserv"
|
||
|
client = "MEMOSERV"
|
||
|
maxmemos = 20
|
||
|
senddelay = 30s
|
||
|
}
|
||
|
|
||
|
command { service = "MEMOSERV"; name = "HELP"; command = "generic/help"; }
|
||
|
|
||
|
module { name = "ms_cancel" }
|
||
|
command { service = "MEMOSERV"; name = "CANCEL"; command = "memoserv/cancel"; }
|
||
|
|
||
|
module { name = "ms_check" }
|
||
|
command { service = "MEMOSERV"; name = "CHECK"; command = "memoserv/check"; }
|
||
|
|
||
|
module { name = "ms_del" }
|
||
|
command { service = "MEMOSERV"; name = "DEL"; command = "memoserv/del"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ms_ignore"
|
||
|
max = 50
|
||
|
}
|
||
|
|
||
|
command { service = "MEMOSERV"; name = "IGNORE"; command = "memoserv/ignore"; }
|
||
|
|
||
|
module { name = "ms_info" }
|
||
|
command { service = "MEMOSERV"; name = "INFO"; command = "memoserv/info"; }
|
||
|
|
||
|
module { name = "ms_list" }
|
||
|
command { service = "MEMOSERV"; name = "LIST"; command = "memoserv/list"; }
|
||
|
|
||
|
module { name = "ms_read" }
|
||
|
command { service = "MEMOSERV"; name = "READ"; command = "memoserv/read"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ms_rsend"
|
||
|
operonly = false
|
||
|
}
|
||
|
|
||
|
command { service = "MEMOSERV"; name = "RSEND"; command = "memoserv/rsend"; }
|
||
|
|
||
|
module { name = "ms_send" }
|
||
|
command { service = "MEMOSERV"; name = "SEND"; command = "memoserv/send"; }
|
||
|
|
||
|
module { name = "ms_sendall" }
|
||
|
command { service = "MEMOSERV"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
|
||
|
|
||
|
module { name = "ms_set" }
|
||
|
command { service = "MEMOSERV"; name = "SET"; command = "memoserv/set"; }
|
||
|
|
||
|
module { name = "ms_staff" }
|
||
|
command { service = "MEMOSERV"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
|
||
|
|
||
|
service
|
||
|
{
|
||
|
nick = "NICKSERV"
|
||
|
user = "_"
|
||
|
host = "services/_"
|
||
|
gecos = "Nickname Registration Service"
|
||
|
channels = "@#services"
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "nickserv"
|
||
|
client = "NICKSERV"
|
||
|
forceemail = no
|
||
|
confirmemailchanges = no
|
||
|
unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ HELP REGISTER"
|
||
|
defaults = "killprotect ns_private hide_email hide_mask memo_signon memo_receive autoop"
|
||
|
regdelay = 0m
|
||
|
expire = 32y
|
||
|
secureadmins = yes
|
||
|
modeonid = yes
|
||
|
hidenetsplitquit = no
|
||
|
killquick = 20s
|
||
|
kill = 60s
|
||
|
restrictopernicks = yes
|
||
|
enforceruser = "OPERSERV"
|
||
|
enforcerhost = "services/_"
|
||
|
releasetimeout = 1m
|
||
|
guestnickprefix = "`"
|
||
|
nonicknameownership = no
|
||
|
minpasslen = 4
|
||
|
maxpasslen = 50
|
||
|
preservedisplay = no
|
||
|
}
|
||
|
|
||
|
command_group
|
||
|
{
|
||
|
name = "nickserv/admin"
|
||
|
description = _("Services Operator commands")
|
||
|
}
|
||
|
|
||
|
command { service = "NICKSERV"; name = "HELP"; command = "generic/help"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ns_ajoin"
|
||
|
ajoinmax = 10
|
||
|
}
|
||
|
|
||
|
command { service = "NICKSERV"; name = "AJOIN"; command = "nickserv/ajoin"; }
|
||
|
|
||
|
module { name = "ns_alist" }
|
||
|
command { service = "NICKSERV"; name = "ALIST"; command = "nickserv/alist"; }
|
||
|
command { service = "NICKSERV"; name = "ACCESS"; command = "nickserv/alist"; hide = true; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ns_cert"
|
||
|
automatic = yes
|
||
|
max = 5
|
||
|
}
|
||
|
|
||
|
command { service = "NICKSERV"; name = "CERT"; command = "nickserv/cert"; }
|
||
|
|
||
|
module { name = "ns_drop" }
|
||
|
command { service = "NICKSERV"; name = "DROP"; command = "nickserv/drop"; }
|
||
|
|
||
|
module { name = "ns_getemail" }
|
||
|
command { service = "NICKSERV"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ns_group"
|
||
|
maxaliases = 10
|
||
|
nogroupchange = yes
|
||
|
}
|
||
|
|
||
|
command { service = "NICKSERV"; name = "GLIST"; command = "nickserv/glist"; }
|
||
|
command { service = "NICKSERV"; name = "GROUP"; command = "nickserv/group"; }
|
||
|
command { service = "NICKSERV"; name = "UNGROUP"; command = "nickserv/ungroup"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ns_identify"
|
||
|
maxlogins = 10
|
||
|
}
|
||
|
|
||
|
command { service = "NICKSERV"; name = "ID"; command = "nickserv/identify"; hide = true; }
|
||
|
command { service = "NICKSERV"; name = "IDENTIFY"; command = "nickserv/identify"; }
|
||
|
|
||
|
module { name = "ns_info" }
|
||
|
command { service = "NICKSERV"; name = "INFO"; command = "nickserv/info"; }
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SET HIDE"; command = "nickserv/set/hide"; }
|
||
|
command { service = "NICKSERV"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
|
||
|
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ns_list"
|
||
|
listmax = 50
|
||
|
}
|
||
|
|
||
|
command { service = "NICKSERV"; name = "LIST"; command = "nickserv/list"; }
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
|
||
|
command { service = "NICKSERV"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
|
||
|
|
||
|
module { name = "ns_logout" }
|
||
|
command { service = "NICKSERV"; name = "LOGOUT"; command = "nickserv/logout"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ns_recover"
|
||
|
restoreonrecover = yes
|
||
|
}
|
||
|
|
||
|
command { service = "NICKSERV"; name = "RECOVER"; command = "nickserv/recover"; }
|
||
|
|
||
|
command { service = "NICKSERV"; name = "GHOST"; command = "nickserv/recover"; hide = true; }
|
||
|
command { service = "NICKSERV"; name = "RELEASE"; command = "nickserv/recover"; hide = true; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ns_register"
|
||
|
registration = "none"
|
||
|
resenddelay = 90s
|
||
|
nickregdelay = 15s
|
||
|
unconfirmedexpire = 8m
|
||
|
}
|
||
|
|
||
|
command { service = "NICKSERV"; name = "CONFIRM"; command = "nickserv/confirm"; }
|
||
|
command { service = "NICKSERV"; name = "REGISTER"; command = "nickserv/register"; }
|
||
|
command { service = "NICKSERV"; name = "RESEND"; command = "nickserv/resend"; }
|
||
|
|
||
|
module { name = "ns_resetpass" }
|
||
|
command { service = "NICKSERV"; name = "RESETPASS"; command = "nickserv/resetpass"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ns_set"
|
||
|
allowkillimmed = yes
|
||
|
}
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SET"; command = "nickserv/set"; }
|
||
|
command { service = "NICKSERV"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
|
||
|
command { service = "NICKSERV"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
|
||
|
command { service = "NICKSERV"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SET EMAIL"; command = "nickserv/set/email"; }
|
||
|
command { service = "NICKSERV"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
|
||
|
command { service = "NICKSERV"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SET KILL"; command = "nickserv/set/kill"; }
|
||
|
command { service = "NICKSERV"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
|
||
|
command { service = "NICKSERV"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SET NEVEROP"; command = "nickserv/set/neverop"; }
|
||
|
command { service = "NICKSERV"; name = "SASET NEVEROP"; command = "nickserv/saset/neverop"; permission = "nickserv/saset/neverop"; }
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
|
||
|
|
||
|
module { name = "ns_set_language" }
|
||
|
command { service = "NICKSERV"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
|
||
|
command { service = "NICKSERV"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
|
||
|
|
||
|
module { name = "ns_set_message" }
|
||
|
command { service = "NICKSERV"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
|
||
|
command { service = "NICKSERV"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
|
||
|
|
||
|
module { name = "ns_set_misc" }
|
||
|
command { service = "NICKSERV"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
|
||
|
command { service = "NICKSERV"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
|
||
|
command { service = "NICKSERV"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
|
||
|
command { service = "NICKSERV"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
|
||
|
command { service = "NICKSERV"; name = "SET MASTODON"; command = "nickserv/set/misc"; misc_description = _("Associate a Mastodon account with your account"); }
|
||
|
command { service = "NICKSERV"; name = "SASET MASTODON"; command = "nickserv/saset/misc"; misc_description = _("Associate a Mastodon account with this account"); permission = "nickserv/saset/mastodon"; group = "nickserv/admin"; }
|
||
|
command { service = "NICKSERV"; name = "SET TIMEZONE"; command = "nickserv/set/misc"; misc_description = _("Associate a time zone with your account"); }
|
||
|
command { service = "NICKSERV"; name = "SASET TIMEZONE"; command = "nickserv/saset/misc"; misc_description = _("Associate a time zone with this account"); permission = "nickserv/saset/timezone"; group = "nickserv/admin"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ns_suspend"
|
||
|
suspendexpire = 90d
|
||
|
show = "suspended, by, reason, on, expires"
|
||
|
}
|
||
|
|
||
|
command { service = "NICKSERV"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
|
||
|
command { service = "NICKSERV"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
|
||
|
|
||
|
module { name = "ns_update" }
|
||
|
command { service = "NICKSERV"; name = "UPDATE"; command = "nickserv/update"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "ns_maxemail"
|
||
|
maxemails = 1
|
||
|
}
|
||
|
|
||
|
service
|
||
|
{
|
||
|
nick = "OPERSERV"
|
||
|
user = "_"
|
||
|
host = "services/_"
|
||
|
gecos = "Operator Service"
|
||
|
channels = "@#services"
|
||
|
}
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "operserv"
|
||
|
client = "OPERSERV"
|
||
|
autokillexpiry = 30d
|
||
|
chankillexpiry = 30d
|
||
|
snlineexpiry = 30d
|
||
|
sqlineexpiry = 30d
|
||
|
akillonadd = yes
|
||
|
killonsnline = yes
|
||
|
killonsqline = yes
|
||
|
addakiller = yes
|
||
|
akillids = yes
|
||
|
opersonly = yes
|
||
|
}
|
||
|
|
||
|
command { service = "OPERSERV"; name = "HELP"; command = "generic/help"; }
|
||
|
|
||
|
module { name = "os_akill" }
|
||
|
command { service = "OPERSERV"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
|
||
|
fantasy { name = "AKILL"; command = "operserv/akill"; prepend_channel = false; }
|
||
|
|
||
|
module { name = "os_chankill" }
|
||
|
command { service = "OPERSERV"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "os_defcon"
|
||
|
defaultlevel = 5
|
||
|
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
|
||
|
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
|
||
|
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
|
||
|
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
|
||
|
sessionlimit = 1024
|
||
|
akillexpire = 8m
|
||
|
chanmodes = "+R"
|
||
|
timeout = 86400s
|
||
|
globalondefcon = yes
|
||
|
globalondefconmore = yes
|
||
|
message = "Server locking down"
|
||
|
offmessage = "Services are now back to normal, sorry for any inconvenience"
|
||
|
akillreason = "This network is currently not accepting connections, please try again later."
|
||
|
}
|
||
|
|
||
|
command { service = "OPERSERV"; name = "DEFCON"; command = "operserv/defcon"; permission = "operserv/defcon"; }
|
||
|
fantasy { name = "DEFCON"; command = "operserv/defcon"; prepend_channel = false; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "os_dns"
|
||
|
ttl = 1m
|
||
|
user_drop_mark = 50
|
||
|
user_drop_time = 1m
|
||
|
user_drop_readd_time = 5m
|
||
|
remove_split_servers = yes
|
||
|
readd_connected_servers = no
|
||
|
}
|
||
|
|
||
|
command { service = "OPERSERV"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
|
||
|
|
||
|
module { name = "os_config" }
|
||
|
command { service = "OPERSERV"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
|
||
|
|
||
|
module { name = "os_forbid" }
|
||
|
command { service = "OPERSERV"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
|
||
|
|
||
|
module { name = "os_ignore" }
|
||
|
command { service = "OPERSERV"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
|
||
|
|
||
|
module { name = "os_info" }
|
||
|
command { service = "OPERSERV"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
|
||
|
|
||
|
module { name = "os_jupe" }
|
||
|
command { service = "OPERSERV"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
|
||
|
fantasy { name = "JUPE"; command = "operserv/jupe"; prepend_channel = false; }
|
||
|
|
||
|
module { name = "os_kick" }
|
||
|
command { service = "OPERSERV"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
|
||
|
|
||
|
module { name = "os_kill" }
|
||
|
command { service = "OPERSERV"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
|
||
|
|
||
|
module { name = "os_list" }
|
||
|
command { service = "OPERSERV"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
|
||
|
command { service = "OPERSERV"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
|
||
|
|
||
|
module { name = "os_login" }
|
||
|
command { service = "OPERSERV"; name = "LOGIN"; command = "operserv/login"; }
|
||
|
command { service = "OPERSERV"; name = "LOGOUT"; command = "operserv/logout"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "os_logsearch"
|
||
|
logname = "/var/log/anope/services.log"
|
||
|
}
|
||
|
|
||
|
command { service = "OPERSERV"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
|
||
|
fantasy { name = "LOGSEARCH"; command = "operserv/LOGSEARCH"; prepend_channel = false; }
|
||
|
|
||
|
module { name = "os_mode" }
|
||
|
|
||
|
command { service = "OPERSERV"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
|
||
|
command { service = "OPERSERV"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
|
||
|
fantasy { name = "MODESET"; command = "operserv/mode"; prepend_channel = false; }
|
||
|
|
||
|
module { name = "os_modinfo" }
|
||
|
|
||
|
command { service = "OPERSERV"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
|
||
|
command { service = "OPERSERV"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
|
||
|
|
||
|
module { name = "os_module" }
|
||
|
|
||
|
command { service = "OPERSERV"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
|
||
|
command { service = "OPERSERV"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
|
||
|
command { service = "OPERSERV"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "os_news"
|
||
|
announcer = "GLOBAL"
|
||
|
oper_announcer = "OPERSERV"
|
||
|
newscount = 8
|
||
|
}
|
||
|
|
||
|
command { service = "OPERSERV"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
|
||
|
fantasy { name = "LOGONNEWS"; command = "operserv/logonnews"; prepend_channel = false; }
|
||
|
command { service = "OPERSERV"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
|
||
|
fantasy { name = "OPERNEWS"; command = "operserv/opernews"; prepend_channel = false; }
|
||
|
command { service = "OPERSERV"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
|
||
|
fantasy { name = "RANDOMNEWS"; command = "operserv/randomnews"; prepend_channel = false; }
|
||
|
|
||
|
module { name = "os_noop" }
|
||
|
command { service = "OPERSERV"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
|
||
|
fantasy { name = "NOOP"; command = "operserv/noop"; prepend_channel = false; }
|
||
|
|
||
|
module { name = "os_oper" }
|
||
|
command { service = "OPERSERV"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
|
||
|
|
||
|
module { name = "os_reload" }
|
||
|
command { service = "OPERSERV"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "os_session"
|
||
|
defaultsessionlimit = 5
|
||
|
maxsessionlimit = 100
|
||
|
exceptionexpiry = 1d
|
||
|
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
|
||
|
sessionlimitdetailsloc = "Contact admin about session limits."
|
||
|
maxsessionkill = 15
|
||
|
sessionautokillexpiry = 30m
|
||
|
session_ipv4_cidr = 32
|
||
|
session_ipv6_cidr = 128
|
||
|
}
|
||
|
|
||
|
command { service = "OPERSERV"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
|
||
|
fantasy { name = "EXCEPTION"; command = "operserv/exception"; prepend_channel = false; }
|
||
|
command { service = "OPERSERV"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
|
||
|
fantasy { name = "SESSION"; command = "operserv/session"; prepend_channel = false; }
|
||
|
|
||
|
module
|
||
|
{
|
||
|
name = "os_set"
|
||
|
superadmin = yes
|
||
|
}
|
||
|
|
||
|
command { service = "OPERSERV"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
|
||
|
fantasy { name = "SET"; command = "operserv/set"; prepend_channel = false; }
|
||
|
|
||
|
module { name = "os_shutdown" }
|
||
|
|
||
|
command { service = "OPERSERV"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
|
||
|
command { service = "OPERSERV"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
|
||
|
command { service = "OPERSERV"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
|
||
|
|
||
|
module { name = "os_stats" }
|
||
|
command { service = "OPERSERV"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
|
||
|
fantasy { name = "AKILL"; command = "operserv/akill"; prepend_channel = false; }
|
||
|
|
||
|
module { name = "os_svs" }
|
||
|
command { service = "OPERSERV"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
|
||
|
fantasy { name = "SVSNICK"; command = "operserv/svsnick"; prepend_channel = false; }
|
||
|
command { service = "OPERSERV"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
|
||
|
fantasy { name = "SVSJOIN"; command = "operserv/svsjoin"; prepend_channel = false; }
|
||
|
command { service = "OPERSERV"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
|
||
|
fantasy { name = "SVSPART"; command = "operserv/svspart"; prepend_channel = false; }
|
||
|
|
||
|
module { name = "os_sxline" }
|
||
|
command { service = "OPERSERV"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
|
||
|
fantasy { name = "SNLINE"; command = "operserv/snline"; prepend_channel = false; }
|
||
|
command { service = "OPERSERV"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
|
||
|
fantasy { name = "SQLINE"; command = "operserv/sqline"; prepend_channel = false; }
|
||
|
|
||
|
|
||
|
module { name = "os_update" }
|
||
|
command { service = "OPERSERV"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
|