Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
An IRCd written in Python 3.6. Support for lower versions has officially been dropped.

Not to be confused with the deprecated mSL version I wrote years ago.

Edit conf/ircd.example.conf and save it as conf/ircd.conf.
After you editted the confs, simply run

For anyone interested, there is a live version running on (port 6667 plain, 6697 TLS)
You can oper up with /oper github betatest. Keep in mind that the server may be off-line at any time.
It is merely a dev/test server meant as a testing environment and the occasional playground.

Note: if you want to use Anope, select "unreal40" as the protocol in Anope conf.

*** Some special features ***

* IRCv3 support for the following CAPs: account-notify, away-notify, server-time, chghost, echo-message, tls, userhost-in-names, extended-join
  (multi-prefix is hardcoded in the core)

* m_extbans for extended bans similar to UnrealIRCd.

  +b ~T text based bans, block or replace a message or word.
  Example: ~T:replace:xd:xD will replace the retarded 'xd' with 'xD'.

  +b ~t timed bans.
  Example: ~t:10:<hostmask> will ban a hostmask for 10 minutes.

  +b ~c:#Lamers
  Prevents users from #Lamers to join your channel.

  +I ~O:operclass
  Users matching <operclass> may override +i. Wildcards accepted.

  +b/e/I ~a:account
  Users matching <account> will be banned (+b), bypass bans (+e) or bypass invite (+I)

* m_trace for country and ISP management. It comes with extbans ~C (country) and ~i (ISP).

  To ban or exempt a certain country, you can use +b ~C:country or +e ~C:country.
  Country must be in full country format (Netherlands) or country code (NL).
  For example, to ban all Ziggo users, use +b ~i:Ziggo
  Wildcards are accepted.

* You can temporarily give or take channel status by appending ":minutes" after their nickname.
  For example, to give someone @ status for 1 hour, simply type: /mode #room +o nickname:60
  The status will be automatically removed after 60 minutes.

* m_callerid (/accept and usermode +g) for server-side 'ignore' system. With usermode +g, only users in your /accept list can private message you.

* Channel name casing can be changed with /chgcname <name> <newname>

* And many more, but I will not list them all here for now.


An IRCd written in Python 3.6





No releases published


No packages published