<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.anope.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.anope.org/index.php?action=history&amp;feed=atom&amp;title=2.0%2FModules%2Fos_session</id>
		<title>2.0/Modules/os session - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.anope.org/index.php?action=history&amp;feed=atom&amp;title=2.0%2FModules%2Fos_session"/>
		<link rel="alternate" type="text/html" href="https://wiki.anope.org/index.php?title=2.0/Modules/os_session&amp;action=history"/>
		<updated>2026-05-29T18:35:46Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.4</generator>

	<entry>
		<id>//wiki.anope.org/index.php?title=2.0/Modules/os_session&amp;diff=809&amp;oldid=prev</id>
		<title>Azander: Created page with &quot;{{Language|2.0/Modules/os_session}} {{Syntax|os_session|OperServ|Anope}}  == &lt;div class=&quot;moduleheader&quot;&gt;Description&lt;/div&gt; == Allows Services Operators to view the session list....&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.anope.org/index.php?title=2.0/Modules/os_session&amp;diff=809&amp;oldid=prev"/>
				<updated>2014-05-08T22:39:02Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Language|2.0/Modules/os_session}} {{Syntax|os_session|OperServ|Anope}}  == &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Description&amp;lt;/div&amp;gt; == Allows Services Operators to view the session list....&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Language|2.0/Modules/os_session}}&lt;br /&gt;
{{Syntax|os_session|OperServ|Anope}}&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Description&amp;lt;/div&amp;gt; ==&lt;br /&gt;
Allows Services Operators to view the session list.&lt;br /&gt;
;SESSION LIST :lists hosts with at least threshold sessions. The threshold must be a number greater than 1. This is to prevent accidental listing of the large &lt;br /&gt;
number of single session hosts.&lt;br /&gt;
;SESSION VIEW :displays detailed information about a specific host - including the current session count and session limit. The host value may not include wildcards.&lt;br /&gt;
&lt;br /&gt;
See the EXCEPTION help for more information about session limiting and how to set session limits specific to certain hosts and groups thereof.&lt;br /&gt;
&lt;br /&gt;
*'''NOTE''': Access to this command requires the permission operserv/session to be present in your ''opertype''.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Commands&amp;lt;/div&amp;gt; == &lt;br /&gt;
;session LIST threshold&lt;br /&gt;
;session VIEW host&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Examples&amp;lt;/div&amp;gt; ==&lt;br /&gt;
/msg OperServ SESSION LIST 2&lt;br /&gt;
&lt;br /&gt;
/msg OperServ SESSION VIEW localhost&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Default Configuration&amp;lt;/div&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * os_session&lt;br /&gt;
 *&lt;br /&gt;
 * Provides the commands operserv/exception and operserv/session.&lt;br /&gt;
 *&lt;br /&gt;
 * This module enables session limiting. Session limiting prevents users from connecting more than a certain&lt;br /&gt;
 * number of times from the same IP at the same time - thus preventing most types of cloning.&lt;br /&gt;
 * Once a host reaches it's session limit, all clients attempting to connect from that host will&lt;br /&gt;
 * be killed. Exceptions to the default session limit can be defined via the exception list.&lt;br /&gt;
 *&lt;br /&gt;
 * Used to manage the session limit exception list, and view currently active sessions.&lt;br /&gt;
 */&lt;br /&gt;
module&lt;br /&gt;
{&lt;br /&gt;
        name = &amp;quot;os_session&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * Default session limit per host. Once a host reaches its session limit, all clients attempting&lt;br /&gt;
         * to connect from that host will be killed.&lt;br /&gt;
         *&lt;br /&gt;
         * This directive is required if os_session is loaded.&lt;br /&gt;
         */&lt;br /&gt;
        defaultsessionlimit = 3&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * The maximum session limit that may be set for a host in an exception.&lt;br /&gt;
         *&lt;br /&gt;
         * This directive is required if os_session is loaded.&lt;br /&gt;
         */&lt;br /&gt;
        maxsessionlimit = 100&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * Sets the default expiry time for session exceptions.&lt;br /&gt;
         *&lt;br /&gt;
         * This directive is required if os_session is loaded.&lt;br /&gt;
         */&lt;br /&gt;
        exceptionexpiry = 1d&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * The message that will be NOTICE'd to a user just before they are removed from the network because&lt;br /&gt;
         * their host's session limit has been exceeded. It may be used to give a slightly more descriptive&lt;br /&gt;
         * reason for the impending kill as opposed to simply &amp;quot;Session limit exceeded&amp;quot;.&lt;br /&gt;
         *&lt;br /&gt;
         * This directive is optional, if not set, nothing will be sent.&lt;br /&gt;
         */&lt;br /&gt;
        sessionlimitexceeded = &amp;quot;The session limit for your IP %IP% has been exceeded.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * Same as above, but should be used to provide a website address where users can find out more&lt;br /&gt;
         * about session limits and how to go about applying for an exception.&lt;br /&gt;
         *&lt;br /&gt;
         * Note: This directive has been intentionally commented out in an effort to remind you to change&lt;br /&gt;
         * the URL it contains. It is recommended that you supply an address/URL where people can get help&lt;br /&gt;
         * regarding session limits.&lt;br /&gt;
         *&lt;br /&gt;
         * This directive is optional, if not set, nothing will be sent.&lt;br /&gt;
         */&lt;br /&gt;
        #sessionlimitdetailsloc = &amp;quot;Please visit http://your.website.url/ for more information about session limits.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills&lt;br /&gt;
         * for the same host exceeds this value, preventing the network from experiencing KILL floods.&lt;br /&gt;
         *&lt;br /&gt;
         * This directive is optional.&lt;br /&gt;
         */&lt;br /&gt;
        maxsessionkill = 15&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.&lt;br /&gt;
         *&lt;br /&gt;
         * This directive is optional, if not set, defaults to 30 minutes.&lt;br /&gt;
         */&lt;br /&gt;
        sessionautokillexpiry = 30m&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * Sets the CIDR value used to determine which IP addresses represent the same person.&lt;br /&gt;
         * By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.&lt;br /&gt;
         * If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to&lt;br /&gt;
         * 64 or 48.&lt;br /&gt;
         */&lt;br /&gt;
        session_ipv4_cidr = 32&lt;br /&gt;
        session_ipv6_cidr = 128&lt;br /&gt;
}&lt;br /&gt;
command { service = &amp;quot;OperServ&amp;quot;; name = &amp;quot;EXCEPTION&amp;quot;; command = &amp;quot;operserv/exception&amp;quot;; permission = &amp;quot;operserv/exception&amp;quot;; }&lt;br /&gt;
command { service = &amp;quot;OperServ&amp;quot;; name = &amp;quot;SESSION&amp;quot;; command = &amp;quot;operserv/session&amp;quot;; permission = &amp;quot;operserv/session&amp;quot;; }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Azander</name></author>	</entry>

	</feed>