Anope IRC Services

Please login or register.

Login with username, password and session length
Advanced search  

News:

Pages: [1]   Go Down

Author Topic: How-To make the most of Unreal.  (Read 14009 times)

0 Members and 1 Guest are viewing this topic.

katsklaw

  • Guest
How-To make the most of Unreal.
« on: March 26, 2008, 03:00:55 PM »

Over the course of the last several years I've heard and seen a lot of stuff. One thing that keeps occurring is hearing some people bashing Unreal IRCd. I then either ask why or it's explained and a lot of times people hate Unreal IRCd simply because they see a feature in Unreal that they don't like. Whether it's oper overrides or SAJOIN/SAPART or some other command that  they think is immoral or just plain stupid. So they voice their disgruntlement which is many cases is done ignorantly.

I say ignorantly because in most cases when a person is complaining about commands or overrides or the like, they do not know or understand that you *can* disable most of the commands. So if you don't like SAJOIN/SAPART, then remove them and carry on with the ircd. You can still use the other features you *do* like.

Below is a few trips and tricks that most admins don't know about Unreal IRCd and it just might turn you from a basher to a lover by the end of this tutorial.

First the simple stuff:

1> If you want to disable the +qa symbols in Unreal, type: ./Config In ./Config answer "no" to the following question.

Code: [Select]
Do you want to enable prefixes for chanadmin and chanowner?
This will give +a the & prefix and ~ for +q (just like +o is @)
Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient,
PJIRC, irssi, CGI:IRC, etc.)
This feature should be enabled/disabled network-wide.
[No] ->

2> Make Unreal hold more than 1024 connections. In ./Config

Code: [Select]
How many file descriptors (or sockets) can the IRCd use?
[3348] ->

Please note that you need to type: ulimit -n in your shell account and see what the max file descriptors allowed is. This number may be 1024 or less and if it is, you'll likely be stuck with that number of connections.

3> Make is so channel modes are *not* displayed in /list

Code: [Select]
Do you want to show the modes a channel has set in the /list output?
[No] ->

Now for some tricks you probably didn't know. For this it requires you to add a switch to the ./Config script called -advanced. ./Config -advanced is not a well known feature in Unreal and if I recall, it's not even documented. This is where a lot of Unreal bashers lose their credibility.

1> Turn off channel modes being displayed in the /list output.

Code: [Select]
Do you want to show the modes a channel has set in the /list output?
[No] ->

2> Turn off oper Overrides completely regardless of oper flags issued.

Code: [Select]
Do you want to disable oper override?
[Yes] ->

NOTE: Oper Overrides creates a compile flag and as such a network can insure no server links with operrides enabled, which I will discuss later.

3> Turn off IRCOPS ability to use /set* and /chg* commands. This does NOT disable the commands for Services so you can still use vHosts! This only stops IRCops from being able to change their own or someone elses nick, host and user name.

Code: [Select]
Do you want to disable /setname, /sethost, and /setident /chgname, /chghost, and /chgident?
[Yes] ->

4> Since IRCops can see hidden channels (+s and +p), you can require them to invite themselves to prevent then from accidently joining a channel that the ChanOps clearly do not want them in.

Code: [Select]
Do you want to require opers to /invite themselves into a +s or +p channel?
[Yes] ->

Ok now that we have covered the ./Config options. Lets move onto unrealircd.conf based options.

1> Since we've discussed blocking oper overrides above, lets start with blocking ircds that try to link to our network that have overrides enabled. To do this we need a deny version block as discussed HERE and a list of valid compile flags are HERE

To find your version number, on IRC type: /quote version it will reply to something like: Unreal3.2.7. my-irc.server.com FhiXeOoZE3 [*=2309]

The Red section shows what version, in this case 3.2.7
The Green section shows the name of the server you are connected to
The Purple section shows the flags this specific server has compiled
The Blue section is the UnrealProtocol, this number is what you use in the deny version block if you wish to restrict the version of the ircd connecting. For example if you only wanted 3.2.7 and no other version to connect you'll use version 2309;

2> HUH?! What's that? I haven't said anything about disabling commands?! Quite right ... lets do that now! :)

As we know, we can load modules in the config file, what some don't know is what exactly the default modules do:

This is where all the default commands are loaded and the primary source of many Unreal bashers concern is lurking.
loadmodule "src/modules/commands.so";

This is the cloaking module required by Unreal since cloaking is NOT optional, it's manditory.
loadmodule "src/modules/cloak.so";

There is a replacement for commands.so however. commands.so loads a default set of modules true enough, but you can also load modules individually! For example you can use m_sajoin.so and so on. Now I know you don't want to have a line for every single command .. that would be tedious. Never fear! you can use m_*.so, which will load all modules that match that wildcard! :) With that said you are free to go into the modules directory and delete m_sajoin.so, m_sapart.so and any other module you wish!

BECAREFUL!! You can accidentally delete requires modules like m_names.so .. so you MUST be very careful and not delete modules that you need! When in doubt, do NOT delete the module until you are 100000% sure you don't need it!!!

3> Unreal is not complete without it's vanity features. This is most evident in the oper block with all of the oper levels. Well if you dislike such vanity you can make it your network policies to not use oper flags such as services-admin, admin, coadmin, or netadmin. With these flags comes more potentially abusive commands such as netadmins are unbannable in users channels can bypass bans and other limits. To prevent this, simply make it a rule that server admins can not assign these flags. If you limit the usage to local or global, then you can assign other abilities without the abusiveness. For example: global + can_dccdeny + can_addline would make a good alternative to the netadmin flag as this combination can do what is really needed without the "God Powers" that bashers hate.

Surely by now you can see that our Unreal IRCd is getting a bit thin. There is no oper overrides, no /set* or /chg* commands for opers, no /sa* commands ... etc .. This is starting to look more like a lighter weight ircd. The benefits to this now we can get a non-abusive ircd working that still has all the wonderful features Unreal has like remote includes, channel flood protection and so forth.

In closing I really help this helps you and you make the most of it. If you have something constructive to add, please feel free. If you wish to add negativity please re-route it to /dev/null

ciao,
« Last Edit: October 04, 2008, 11:11:25 AM by katsklaw »
Logged

WilliamWikked

  • Anope User
  • Offline Offline
  • Gender: Male
  • Posts: 10
    • WikkedWire IRC Network
(No subject)
« Reply #1 on: March 27, 2008, 03:48:03 PM »

I assume the changes in the ./Config are only implemented after a  server restart? I'd love to do these but I just now upgraded all 6 of my servers to 3.2.7 :/
Logged
WikkedWire IRC Network
Proud Anope Donator.

katsklaw

  • Guest
(No subject)
« Reply #2 on: March 27, 2008, 08:24:19 PM »

Yes the config options listed in this tutorial other than the deny version block requires the ircd to be restarted.
Logged

katsklaw

  • Guest
Re:
« Reply #3 on: August 24, 2008, 03:43:07 PM »

I assume the changes in the ./Config are only implemented after a  server restart? I'd love to do these but I just now upgraded all 6 of my servers to 3.2.7 :/

Sorry, I just noticed you asked about "./Config" .. not ircd configuration file changes. ./Config changes require you to recompile the ircd and restart, not just restart.
Logged

SpaceDoG

  • Anope User
  • Offline Offline
  • Posts: 183
    • http://www.hypermutt.net
Re: How-To make the most of Unreal.
« Reply #4 on: August 24, 2008, 04:12:31 PM »

LoL I was gonna mention it Katsklaw but you saw it before I did :-P
Logged

Master

  • Anope User
  • Offline Offline
  • Posts: 56
Re: How-To make the most of Unreal.
« Reply #5 on: August 27, 2008, 01:48:00 AM »

I noticed that if you recompile the IRCd sometimes the existing process gets killed...I had that happen when I had 70 or so users on it...wasn't a fun time for me :P

Probably just the shell's fault, though.
Logged
Always believe Murphy's Law. If you don't, watch what happens.

katsklaw

  • Guest
Re: How-To make the most of Unreal.
« Reply #6 on: October 04, 2008, 11:09:57 AM »

I noticed that if you recompile the IRCd sometimes the existing process gets killed...I had that happen when I had 70 or so users on it...wasn't a fun time for me :P

Probably just the shell's fault, though.

The ircd has to be restarted anyway so those 70 users wuld be dropped regardless. It's one of the hazards of upgrading an ircd.
Logged
Pages: [1]   Go Up