Class block

From UnrealIRCd documentation wiki
Jump to navigation Jump to search

Class blocks are classes in which connections will be placed, for example clients from allow blocks and servers from link blocks. You generally have multiple class blocks: one for servers, one for regular clients and one for IRCOps (the latter is optional).

Syntax:

class <name> {
	pingfreq <ping-frequency>;
	connfreq <connect-frequency>;
	maxclients <maximum-clients>;
	sendq <send-queue>;
	recvq <recv-queue>;
	//options { nofakelag; };
};

name is the descriptive name, like "clients" or "servers", this name is used for referring to this class from allow/link/oper/etc blocks

pingfreq is the number of seconds between PINGs from the server (something between 90 and 180 is recommended).

connfreq is used only for servers and is the number of seconds between connection attempts if autoconnect is enabled

maxclients specifies the maximum (total) number of clients/servers which can be in this class

sendq specifies the amount of data which can be in the send queue (very high for servers with low bandwidth, medium for clients)

recvq specifies the amount of data which can be in the receive queue and is used for flood control (this only applies to normal users, try experimenting with values 3000-8000, 8000 is the default).

options::nofakelag allows this particular class to bypass the fake lag protection. Read the FAQ on fake lag first before you try using this!

Examples:

class clients
{
	pingfreq 90;
	maxclients 1000;
	sendq 200k;
	recvq 8000;
};
class servers
{
	pingfreq 60;
	connfreq 15;     /* try to connect every 15 seconds */
	maxclients 10;   /* max servers */
	sendq 20M;
};
class opers
{
	pingfreq 90;
	maxclients 50;
	sendq 1M;
	recvq 8000;
};