mikaela.github.io/blog/_posts/2015-09-19-atheme-quickstart.md

150 lines
6.4 KiB
Markdown

---
layout: post
comments: true
title: "Quickstart with Atheme IRC Services (& forks) for end users"
category: [english]
tags: [english, irc, atheme]
sitemap: true
robots: noai
redirect_from:
- /nickserv.html
- /chanserv.html
- /groupserv.html
- /atheme.html
- /english/2015/09/19/atheme-quickstart.html
---
Atheme IRC Services is the most used IRC service package. However many
people have difficulties with registering a channel and then managing
it, which I attempt to help with here. I start by explaining NickServ
registration (and as a bonus HostServ) and then move to channel
management and you just cannot talk about that without mentioning
GroupServ too...
## NickServ
You won't be able to do anything unless you register your nick. This is
as easy as `/msg nickserv register PASSWORD someone@example.net`.
Depending on Atheme configuration on the IRC network you are using, you
must verify your email by checking it and copy-pasting the command which
starts with `/msg NickServ verify register` to NickServ.
In case you wish to have multiple nicks in the same account, that is also
easy, just `/nick AltNick` and `/msg nickserv group`. You can see nicks
you have by using `/msg nickserv info yournick` (other people (except IRC
operators) cannot see that part).
Now you should be successfully identified and should configure automatic
identification, I cannot help with it so much, but I can point you to
beginning:
- [liberachat's SASL instructions](https://libera.chat/guides/sasl)
- [My instructions for SASL with WeeChat]({% post_url blog/2015-03-26-weechat-sasl-simply %})
- [Searx YOURCLIENTHERE SASL](https://search.disroot.org/?q=YOURCLIENTHERE+SASL)
- IRCCloud: edit network and go to advanced settings and you will see box
for NickServ password.
- KiwiIRC: Check "I have a password" and type your passsword there. Ensure
that you specified a nick that is grouped to your account.
- Matrix: in the admin room (direct chat with the appservice-irc), say
`!storepass password` to have the password send with PASS on connect.
In case of liberachat use `!storepass nick:password` and/or see more
information at [matrix-appservice-irc wiki].
- [IRC networks with Matrix bridge]
- [Matrix bridge end-user FAQ register/identify section]
[matrix-appservice-irc wiki]: https://github.com/matrix-org/matrix-appservice-irc/wiki/
[irc networks with matrix bridge]: https://github.com/matrix-org/matrix-appservice-irc/wiki/Bridged-IRC-networks
[matrix bridge end-user faq register/identify section]: https://github.com/matrix-org/matrix-appservice-irc/wiki/End-user-FAQ#how-do-i-registeridentify-to-nickserv
## HostServ
In case the network you are on has HostServ, you can get vhosts with it.
Vhosts appear in place of your real host/cloaked host, but
[won't hide your IP](https://gist.github.com/maxteufel/1e2cf7ada079c271bd3c).
There are two ways to get a vhost, take one that is offered to everyone or
request something.
- Check `/msg hostserv offerlist` and if you see something you like, you
can enable it with e.g. `/msg hostserv take $user.irc.example.net` and
running `/msg hostserv on`.
- Use `/msg nickserv request blah` and when you receive message telling you
that your requested vhost has been approved use `/msg hostserv on`.
## ChanServ
And finally to the topic which seems to be the most difficult, channel
(access) management.
First register the channel with `/msg ChanServ register #channel` while
you are opped. Now you are free to setup the channel as you wish.
I use the following templates, so I can e.g.
`/msg chanserv flags #channel someone op` instead of
`/msg chanserv flags #channel someone +vVhHoOirtAe`. You can also use the
network defaults that you can see with `/msg chanserv template`.
_This is a bash scripts which is ran like `./cstemplate #channel` and
copy-pasted to ChanServ. It basically allows ops to do everything they
could do anyway by being opped using services and "trusted users" have
became regulars on channels I am on. If a flag doesn't exist on the network
you are on, Atheme will just silently ignore it._
**You should see my cstemplate script here, but the embedding isn't
working, to see it [please click here to go to the GitHub instance of it](https://github.com/Mikaela/gist/blob/master/irc/atheme/cstemplate).**
Another example using my templates would be `/msg ChanServ flags #channel !channel-ops op` which would give op permissions above to users in the
!channel-ops group.
## GroupServ
I mentioned groups a little earlier and now I am returning to them. They
are a way to manage flags of group of users very easily by having
all users in the group and just setting flags to the group instead of
invidual users.
_GroupServ is undervalued service and it might not be surprising if it's
missing from your network :(_
Start by creating your group `/msg groupserv register !blah` (you might
want to register a more descriptive name).
Next, as in this example this group is going to be op #somewhere we close
the group: `/msg groupserv set !group open off`.
Now there are only two tasks left, making the group op and adding ops
there:
- `/msg chanserv flags #channel !blah op`
- where `op` can still be replaced with `aop` if you are following
Atheme defaults or some other template you created or your own
set of flags.
- `/msg groupserv flags !blah user +c`
- Repeat as many times as you have ops, to remove ops you simply remove
their `-c` flag or all flags (`-*`). You will also want to read
`/msg groupserv help flags` as there is more than I said here.
## Futher reading
- [Always add opers to access list (this is the $oper in my templates)]({% post_url blog/2015-01-10-channels-hostmask-groups-a-basic-howto %})
- oops, did I just repeat previous post
- [Keep the ops opped]({% post_url blog/2015-04-01-keep-the-ops-opped %})
- especially read this if you are at liberachat or wondering why you
don't get automatically opped after registering the channel and
cycling while being identified!
- `/msg NickServ help`
- `/msg NickServ help set`
- especially worth taking a look at: `emailmemos` & `enforce`
- `/msg ChanServ help`
- `/msg ChanServ help set`
- especially worth taking a look at: `guard`, `keeptopic`,
`verbose`
- `/msg ChanServ help flags`
- what flags are available, what they do and managing them.
- `/msg ChanServ help template`
- official documentation for using templates.
- `/msg GroupServ help`
- `/msg GroupServ help flags`
- `/msg GroupServ help set`