Cygnus -- Frequently Asked Questions
-----

If your question is not answered below, feel free to jump on
irc.habber.net, join #Services, and ask.

Q: I MLocked +O, but it never gets set.
Q: What do the letters at the end of the VERSION reply mean?
Q: I removed a realname AKill, but it's still AKilled on the server.
Q: I'm changing a Trigger in my conf, but it's not changing!
Q: I set an Exception or Trigger for a host, but it keeps being killed!
Q: Why dont you encrypt the dbs? It's so insecure!
Q: What happened to GHOST and RELEASE?
Q: I get file permission errors when using web integration.
Q: When are you going to add *Serv (BotServ, HostServ, blahblah)
Q: You say these services are from scratch. You lie!

--

Q: I MLocked +O, but it never gets set.

A: Some IRCds (including Bahamut up to at least 1.4.32) ignore +O mode
   changes from clients who aren't opered, even if they're ULined. You
   can check if your IRCd has fixed this bug, or add o to your ChanServ's
   modes in cygnus.conf.

--

Q: What do the letters at the end of the VERSION reply mean?

A: There are 7 letters that are on the end of a VERSION reply (a /quote
   version server.* reply, not a CTCP VERSION reply). Depending on how you
   have Cygnus configured, a combination of these 7 letters will appear:

   R: RootServ is enabled
   N: NickServ is enabled
   C: ChanServ is enabled
   M: MemoServ is enabled
   g: The GlobalNoticer is enabled
   W: You're running the Windows version
   d: Debug mode is enabled

--

Q: I removed a realname AKill, but it's still AKilled on the server.

A: Cygnus has no way of knowing which hosts it's AKilled that matched a
   realname, since it only stores the original realname. Rehash your IRCd
   to remove the AKills. Cygnus will replace any AKills that are removed
   via rehash when needed. Note, Bahamut, and possibly other IRCds, don't
   remove AKills with a rehash. You will need to type /rehash akills.

--

Q: I'm changing a Trigger in my conf, but it's not changing!

A: Once you have a Trigger in the conf, it's saved to the rootserv.db.
   After that, the value in the DB overrides the value in the conf. Thus,
   if it was originally 50 in the conf, it's now 50 in the DB. If you
   change it to 25 in the conf, the DB's value of 50 overrides it, and it
   stays as 50. If you need to change Trigger limits, do so by re-adding
   the trigger through RootServ.

--

Q: I set an Exception or Trigger for a host, but it keeps being killed!

A: If the host in question is already AKilled, Triggers and Exceptions
   have no effect. Triggers and Exceptions only affect clone detection,
   not AKills.

--

Q: Why dont you encrypt the dbs? It's so insecure!

A: The DB format is much more compact than other services (WreckedNet,
   for example). After conversion, the dbs are usually about half the
   size of the originals. But it IS plain text, easily readable by anyone
   with a text editor. But, so are the old dbs. Although you can't just
   open up pico or vi and read them, if you can access them, you can copy
   them, download the source for services, and getpass away. So it's not
   the DB security you should be concerned about, it's the security of your
   machine :P

--

Q: What happened to GHOST and RELEASE?

A: GHOST, RELEASE and RECOVER all do the same basic thing: Get your nickname
   back from someone else who has it. Thus, GHOST and RELEASE were left out
   in favor of RECOVER. RECOVER will allow you to get your nickname back from
   another user, or from services itself.

--

Q: I get file permission errors when using web integration.

A: In order for web integration to work, the web scripts must be able to
   read and write to and from the services directory. The permissions you
   want to have set on this directory are 755 (ie, chmod 755 services).
   Cygnus writes databases with permissions that only allow them to be read
   by the owner, ie you, so you don't have to worry about your databases
   being read from a website. You may wish to chmod 600 cygnus.conf, though.

--

Q: When are you going to add *Serv (BotServ, HostServ, blahblah)

A: I have no intention of ever adding: BotServ, AdminServ, CommServ,
   FileServ, WebServ, AbuseServ, MassServ, HostServ, HelpServ, InfoServ,
   NewsServ, X, W, or anything else you can think of. I MAY add a VoteServ
   when I have time.

   Why? Well:

   BotServ: is pointless. ChanServ does NOT need to be in channels to function,
   and BotServ just introduces ChanServ clones. If you're talking about the
   OTHER BotServ, which sets modes and such for bots, I may add such a feature
   to NickServ if enough people ask for it (I can't remember ever being asked
   about this, but at least one person must have or I wouldn't know about it.)

   AdminServ: What the hell do you think RootServ is?

   CommServ: Cygnus doesn't have 'committees'. It doesn't need them. It has
   four levels of access: User, IRCOp, CSOp, SRA. If you want committees, use
   a mailing list.

   FileServ: Cygnus has nothing to do with file transfers, and allowing users
   to use Services to pass files back and forth leads to a lot of bandwidth
   and disk usage, not to mention people sending viruses around, just like
   email attachments.

   WebServ: NickServ has flags and options which allow you to have it PRIVMSG
   everybody, or only certain users, which is what WebTV users need. ChanServ
   will also have the full array of commands, such as BAN, UNBAN, INVITE, KICK,
   blah blah. If theres something ELSE WebServ is supposed to do, let me know.
   Needless to say, it doesn't need it's own friggin service to do it.

   AbuseServ: Abuse! Abuse! Abuse of services pseudo clients! Ever heard of
   /kill? Or maybe of not giving olines to people you don't know? Or maybe of
   not letting everyone who asks link to your network?

   MassServ: What the hell is this? A global noticer?

   HostServ: Feh. Maybe, someday, I'll allow users to set a vhost in NickServ,
   which NickServ will then apply to that user, but not today. Like WebServ,
   this 'feature' isn't deserving of AN ENTIRE SERVICE.

   HelpServ: HelpServ is long since dead. Let it rest in peace.

   InfoServ: InfoServ, HelpServ's offspring, was killed in the train wreck
   known as WreckedNet services. Let it rest in peace, too.

   NewsServ: Hey, what do you know? MemoServ handles news! I guess we don't
   need a NewsServ.

   X & W: Better known as *ChanServ*. Move along...

   Now, things I ALREADY HAVE or am planning to add:

   StatServ: Cygnus DOES NOT and WILL NOT replace OperStats. If you want
   StatServ, run it.

   OperServ: See above. FYI, RootServ is IDENTICAL to the OperServ on OperStats,
   except that it has a different nickname so they don't collide, a few functions
   added that OperStats doesnt need, and a few functions removed that Cygnus
   doesn't need. They're the *same damn thing*.

   VoteServ: I MAY add a VoteServ sometime in the future. Why add VoteServ,
   when I just shot down every other services coders attempt to add a new
   service? Because unlike every other service I just mentioned, VoteServ is
   large enough to WARRANT being its own service. It'll probably be twice as
   big and twice as complex as MemoServ when it's done, and since the votes
   would span ANY topic, they don't really belong in MemoServ, NickServ or
   ChanServ. So NEENER.

   If you have an idea for a feature for services which WASN'T just shot down
   above, let me know. PLEASE DO NOT ASK ME TO ADD *SERV. I *hate* it when
   people come up to me and go 'can you add <insert lame ass name>serv',
   ASSUMING that I obviously know what it's supposed to do. :P

--

Q: You say these services are from scratch. You lie!

A: In the CREDITS file, I freely acknowledge that various code has been
   borrowed from other sources, mostly from Andrew Church's IRCServices. The
   server, user and channel handling code is largely from those services,
   however I've made fairly extensive modifications to all the borrowed code.

   From the point of view of your users, everything is new. Each service bot
   has been written entirely from the ground up. This is where 'from scratch'
   comes in. Although some things may look similar, they're actually entirely
   new. So although the entire program hasn't been written from entirely new,
   unborrowed code, it's essentially from scratch. This is the case with many
   programs, and I doubt even Andrew Church's services don't have at least some
   borrowed code in them.

--

If your question was not answered above, feel free to ask in #Services on
irc.habber.net.

