Server Commands/GLINE
Syntax: GLINE [[!][+|-][$<type>]<mask> [[<target>] <expiration> :<reason>]]
G-lines are fairly complicated; therefore, we'll attempt to explain how they work in addition on how to use the command itself.
A G-line can be active or inactive, either locally or globally. It can be a purely local G-line, or global. It can be based on an IP address, hostname or even gcos. In short, there are many variations on the basic G-line. Worse, there is also the concept of a "bad channel", or BADCHAN, that has been tacked onto the G-line subsyetem, when it should have been a separate command in the first place.
! - The "!" prefix is used to forcefully place G-lines that would otherwise be denied by the server for being "too wide" (e.g. affect too many users). The ability to use this prefix has been disabled on DareNET.
[+|-] - Optional. Specifies whether the G-line is to be activated or deactivated.
<$type> - The type argument can be used to G-line user realnames (gcos) by using $R.
<mask> - This may take several forms depending on the type of G-line being placed; user@host for hostnames, #channel for badchannels, and *phrase* for gcos. If not given, or if its not prefixed by "+" or "-", a list of G-lines will be returned. If the "+" or "-" prefixes are used, then the <expiration> and <reason> parameters must also be given, even if the G-line already exists.
<target> - specifies what server(s) the G-line is to be activated/deactivated on. It may be either a server name or * for global. This is rarely used on DareNET due to the fact that O must be used to place global G-lines.
<expiration> - The expiration can be specified either in seconds or as a formatted time (e.g. 2d5m3s).
<reason> - The reason specifies why the user is being G-lined. It will be broadcasted to all IRC operators who have the appropriate SNOMASK and to user(s) being G-lined.
If the G-line currently exists, a prefix of "+" will cause an inactive G-line to be activated, whereas a prefix of "-" will cause an active G-line to be deactivated. If an attempt is made to modify a G-line set by a U-lined service, such as O, the change will be forced to be local.