This repository has been archived on 2025-02-12. You can view files and clone it, but cannot push or open issues or pull requests.
NeoStats-NeoIRCd/doc/resv.txt
2002-08-13 14:45:13 +00:00

124 lines
3.7 KiB
Text

/*
* doc/resv.txt - Overview of the resv system
* Lee Hardy <lee@leeh.co.uk>
*
* Copyright (C) 2001 Hybrid Development Team
*
* $Id: resv.txt,v 1.2 2002/08/13 14:45:01 fishwaldo Exp $
*/
RESV
-======-
- What is resv, and why was it coded?
Resv is a method of 'juping' or 'reserving' nicks and channels, to prevent
local clients using them. It is commonly used to block channels which
are home to abusers, and which attract DoS. It can also be used to stop
people pretending to be services, on a network that doesnt support them.
It was coded to replace the method in hybrid-6 of blocking channels and
nicks, and was implemented in a much cleaner way to make it faster.
The hybrid-6 method used to have to physically create channels, and
suffered flaws, resv does not.
- How can I create a resv?
There are two types of resv. 'permanent' and 'temporary'. Temporary
resv's will be erased when a server restarts (they will stay through a
rehash). Permanent resv's will stay through a restart.
Permanent resv's are added into ircd.conf. They should have the reason
for the resv, followed by the nicks and channels being resv'd. The
following would block the channel #services, the nick 'services' and any
nick ending in 'serv' (ie: chanserv)
resv {
reason="There are no services on this network";
channel="#services";
nick="services";
nick="*serv";
};
Temporary resv's can also block nicks, channels, and wildcard nicks.
Although only an admin may create a resv with a wildcard in.
Syntax: /quote resv <#channel|nick> :<reason>
So to resv #warez:
/quote resv #warez :No warez on this network.
To resv kiddie01:
/quote resv kiddie01 :Abuse
To resv clone*:
/quote resv clone* :clones
If a non admin does this, he will see:
-irc.leeh.co.uk- You must be an admin to perform a wildcard RESV
- How do I remove a resv?
If the resv is permanent, then the resv must be removed from ircd.conf,
then a /rehash.
If the resv is temporary, then use the unresv command:
Syntax: /quote unresv <#channel|nick>
- Can I make a resv on all servers?
No. In Hybrid resv's are local only. If a channel is full of abusers,
the solution is not to just block the channel, the abusers themselves
should be removed through /kline and /dline.
- How do I list resv's?
To list all current resv's:
/stats q
Which will give a reply like:
q #warez No warez *@*
Q services No services *@*
If the first letter is a 'q', then the resv is temporary, if the first
letter is a 'Q' then the resv is permanent (in ircd.conf).
- What does a client see if they try using a channel/nick that is resv'd?
They see the numeric 437 (ERR_UNAVAILRESOURCE)
Other networks (namely IRCNet) use this numeric on a split, to indicate
the channel cannot be joined, as such it is recognised by a lot of
clients.
- Can an oper see when someone tries to use a resv'd nick/channel?
No. When there is a valid reason for this, then possibly, but I honestly
dont see why anyone needs it.
- Can I resv a local channel?
Yes. It takes the same format as creating a resv on a normal channel:
/resv &clones :no clonebots!
- Do you support wildcard channel resv's?
No. This is mainly for speed reasons. When we are searching nicks, we
cannot just check if the nick, and the item in the list of resv'd nicks
are string equal, we have to check if they match, so we have to search a
full list. With channels however, we can search a hash table to see if an
entry exists, if it doesnt, then the channel isnt resv'd. We dont have to
search through all the channels.
Besides.. its legal for a channel to be called #*warez* anyway ;)
--
EOF