Calais le 21 novembre 2009; Version 1.7 : Ce script est désormais sous licence GPL. Vous reporter à ce texte en ce qui concerne la copie, la distribution et la modification du présent script. Une version plus à jour du texte de licence figure probablement sur le Net à cette adresse. Merci de vous y reporter. Si vous n'êtes pas d'accord avec cette licence, merci de supprimer ce script de votre disque dur, ainsi que tous les éléments qu'il contient.

Calais le 3 aout 2009

N.B. Il est mieux de lire le baratin qui suit, vu que de toute manière je ne fais pas de support, sauf cas très exceptionnels. J'arrêterai tout support si je m'aperçois que vous n'avez pas pris connaissance de ce texte.

Avant de commencer, en relisant mon texte je m'aperçois que j'utilise souvent l'un pour l'autre les mots "admin" et "ircop". Cela vient du fait qu'un admin est forcément ircop, mais attention: le contraire n'est pas vrai. Pour être administrateur d'un serveur, il "suffit" d'être ircop, mais avec le flag "admin". En revanche, pour être admin d'un serveur muni de services, il faut être doublement admin, et remplir ces 3 conditions:

1) Etre ircop (muni du flag services-admin au minimum),

2) Etre enregistré et identifié sur NickServ,

3) Etre déclaré root sur Anope, ou ajouté à la base d'Anope ("addé") en tant qu'administrateur de service par un root.




Tout d'abord les remerciements: en général on les met à la fin, mais comme vous aurez la flemme de lire ce document je les mets au début:

1) Merci à Lesny et à Lola qui ont amplement bêta-testé ce script et m'ont fait part de leurs critiques constructives. Je les remercie aussi pour leur idée de mettre de l'aide pour les newbies dans ce script (Option "aider machin"). Merci à Lesny, en particulier, pour le splash screen de la fenêtre status, ainsi que pour la rubrique d'aide en channel assez fournie.

2) Merci à Jappy pour m'avoir laissé mettre des bouts de son script dans celui-ci (notamment la reconnaissance de pseudos à la connexion et les fun-topics de channels)

3) Merci à FiberOPtics, et en général au site scriptsb.org, pour le code permettant de retrouver le dossier Roaming du compte utilisateur.

4) Merci à l'illustre inconnu à qui j'ai emprunté le code permettant la gestion des fonctions ircop en dialog.

5) Sans être trop démago, merci à toi, très cher ami d'utiliser ce script ;)




Bienvenue sur mon script Anope/Admin. Si tu as ce script entre les mains, c'est probablement parce que tu as un serveur irc, et que tu aimerais l'administrer.

Avis: ce script est laid: il ressemble à un mirc normal. Ce script n'est pas fun non plus: ce n'est pas son but. Cependant, ce script est tellement pratique que je n'utilise plus que celui-ci sur mon serveur; ceci est mon meilleur "testimonials" (j'ai pensé en parler à Monica Bellucci mais elle était partie faire des courses quand je lui ai téléphoné). Contrairement à son numéro de version, il a évolué un très grand nombre de fois, suite aux remarques constructives des deux admins de mon serveur qui s'en servent quotidiennement.

Pour du fun, je recommande l'utilisation d'un autre script utilisé comme clone, permettant l'animation d'un channel (par exemple le Snow Extrem, ou un ou plusieurs bot des jeu, etc.)

Prérequis:

1) tu dois avoir au moins une fois dans ta vie installé mirc sur ton disque dur. Il te suffit de copier l'exécutable mirc.exe dans ce dossier, et c'est tout. Je rappelle que tu dois avoir enregistré ta copie de mirc si tu as dépassé la date limite d'utilisation fixée à 30 jours.

2) Ce script n'est prévu pour ne fonctionner correctement QUE sur un serveur de type unrealircd de version récente, couplé à un Anope de version récente aussi et configuré par défaut en langue française (language = 2).

Il est de bon ton de posséder un serveur irc sur lequel tu as un accès minimum "service admin", et root c'est encore mieux. Dans le cas où tu es root, tu as probablement spécifié ton pseudo dans le fichier de configuration du serveur, mais je pars du principe que ton serveur est vide et que tu n'es pas encore enregistré. Il faut savoir que pour bénéficier des privilèges d'administrateur de service, tu dois impérativement:

a) avoir ton pseudo enregistré, et que ce pseudo corresponde à celui d'un root ou d'un service admin (c'est le root qui crée les accès service admin)

b) être ircop avec les privilèges minimum d'un administrateur de services (flag services-admin).

Dans le seul cas du root, l'enregistrement se fait postérieurement à la déclaration du pseudo root (qui a été faite dans le fichier de configuration). En revanche, tu ne peux être service admin que si ton pseudo est déja enregistré, et que le root du serveur t'a déclaré admin sur Anope.

Prérequis de configuration:

Il est très important que ta o-line comporte le flag can_override pour que le script puisse marcher sans anicroche. Par la suite, ta configuration doit comporter le flag "services-admin"; je reproduis ci-après un exemple de config d'oper qui marche:
 oper login {
	class           clients;
	from {
		userhost *@*;
	};
        password "password";
	flags
	{
		services-admin;
		get_host;
		get_umodew;
		can_override;

	};
};
Bien entendu, tu remplaces "login" et "password" par le login et le password correspondants à ceux de ta o-line (attention: ces identifiants sont sensibles à la casse).

Le script est prévu pour fonctionner SANS anope, mais c'est sans intérêt. Il est important que tu aies configuré un service dont le nom est services.blabla.tld (blabla.tld étant le host de ton serveur). Par suite, vérifie que ton fichier de configuration contienne les lignes suivantes:
 alias "ns" {
		target "nickserv";
		type services;
}; 
 alias "cs" {
		target "chanserv";
		type services;
}; 
 alias "bs" {
		target "botserv";
		type services;
}; 
 alias "os" {
		target "operserv";
		type services;
}; 
 alias "hs" {
		target "hostserv";
		type services;
}; 
Ces aliases définissent des commandes (/ns, /cs, /bs etc.) qui correspondent à /msg nickserv, /msg chanserv, /msg botserv, etc.). Je n'utilise que les aliases dans mon script, donc il faut qu'ils aient été définis.

3) Démarrer correctement avec ce script

3a) préambule

Lorque tu démarres ce script, tu as droit à un popup qui te demande de préciser le serveur concerné et tes identifiants nickserv et admin/ircop sur ce serveur. Comme tu n'as pas encore d'identiant nickserv (je suppose que c'est toi le root), tu laisses les champs correspondants en blanc, et tu mets tes identifiants admin/ircop (ceux que tu as définis dans le fichier de configuration). Si tu es admin mais pas root, tu as théoriquement tous les éléments pour renseigner le popup.

Une fois toutes ces informations rentrées, n'oublie pas de presser "Ajouter" pour que le serveur, ainsi que tous les paramètres y afférant, soit pris en compte. Le serveur et le port apparaissent dans la liste à droite. Tu peux à tout moment modifier de données relatives à ce serveur (même le host et/ou le port du serveur); ne pas oublier de presser "Modifier" à la fin de ladite modification.


/!\ Attention: si ton serveur tourne sur ton pc, définis-le par son ip "127.0.0.1" et non pas par le host "localhost". Si son port d'accès est 6667, tu peux ne rien préciser. En revanche, si le port est une autre valeur que celle-ci, alors rajoute deux points après le host (":") suivi du port (sans espace) . Exemple: irc.mircscripts.fr:7000 /!\
Il est important que tu saches que ces identifiants ne sont en aucun cas stockés dans le dossier du script: ils sont stockés sous ton compte, celui correspondant à ta session windows, dans un fichier appelé "mon mirc.ini" . Chez moi, le chemin d'accès de ce fichier est:
"C:\Users\compaq\AppData\Roaming\mon mirc.ini"
Chez toi, le mot "Compaq" sera vraisemblablement remplacé par le nom de ton pc (ou de son utilisateur principal).

Un intérêt de ce système est, que si ton petit frère utilise aussi ce script sous son compte sur le même pc, il aura ses propres identifiants, différents des tiens. L'autre intérêt, c'est que tu pourras facilement échanger le script avec tes amis sans leur fournir tes identifiants.

3b) Démarrage sur le serveur

"Au commencement, Dieu créa le ciel et la terre. Or la terre était vide et vague, les ténèbres couvraient l'abîme et un vent de Dieu agitait la surface des eaux" (Bible de Jérusalem)

Tu es fin prêt(e) pour la connexion. Sélectionne ton serveur dans la liste, et tu n'as plus qu'à presser le bouton "Connecter" du dialog de configuration. A noter que si tu as pressé OK par erreur, cela ferme le dialog mais n'enregistre rien (ce bouton équivaut souvent à "Annuler" dans un logiciel microsoft). Il te suffit simplement de rappeler ledit dialog par le menu commandes "COMPTES / SERVEURS", de re-sélectionner ton serveur dans la liste s'il ne l'est pas déjà et de presser "Connecter".

Une fois connecté, et si tout va bien, tu devrais lire dans la fenêtre de mirc quelque chose comme:

"mIRC - Unreal/Anope Admin - v2.0 Tu es opérateur IRC"
Si ce n'est pas le cas, c'est que tu as mal renseigné les informations du popup de démarrage. Dans ce cas là, sélectionne "COMPTES / SERVEURS" dans le menu Commands , remplis bien les champs "login IRCOP" et "passe IRCOP", presse OK puis sélectionne dans le même menu "Je veux être ircop".

Si tu es sur un channel (par exemple le chan #opers) tu vois qu'en cliquant le bouton droit de la souris, tu as accès à un certain nombre de commandes. Ces commandes ne concernent que le channel. De la même manière, les commandes de nicklist ne concernent QUE la nicklist; le reste des commandes étant consignées dans le menu Commands.

N.B. Un point d'exclamation devant une commande signifie qu'il faut être admin pour pouvoir l'exécuter (ou au minimum ircop pour certaines).

3c) Enregistrer son pseudo

C'est la première chose à faire, si tu es root. Tu dois d'abord prendre ton pseudo de root (tape /nick pseudo ou va dans Commands/Commandes classique et sélectionne "Change nick"). Ensuite, sélectionne "Enregistrer mon pseudo": cela ouvre un popup qui te demande un mot de passe (tu devras rentrer 2 fois le même) et ton adresse email. A l'issue, tu devras avoir un message du genre:
[12:31] -NickServ- Le pseudo <ton pseudo> est maintenant enregistré sous votre masque: *truc@*.bla.bla.fr
[12:31] -NickServ- Votre mot de passe est <passe>- notez le pour une utilisation ultérieure.
[12:31] -NickServ- Votre langue est maintenant le Français.
[12:31] -NickServ- 1 pseudos dans le groupe.
[12:31] -BotServ- Il n'y a aucun bot disponible actuellement.
[12:31] -BotServ- Demandez à un administrateur des services d'en créer un!
Le titre de la fenêtre de mirc doit avoir changé, et afficher maintenant:

mIRC - Unreal/Anope ADmin - v2.0 Tu es identifié et opérateur IRC
Si tu déroules maintenant le menu Commands, il doit contenir beaucoup plus de choses. Pareil pour les menus channel, et nicklist.

Si tu quittes maintenant mirc, et que tu le relances, le popup de démarrage contient maintenant les informations que tu as fournies pour enregistrer ton pseudo. Tu n'auras jamais besoin de les refournir, vu que le script les retient (fichier "mon mirc.ini" dans le dossier roaming de ton compte, pour rappel).

3d) Créer des bots

Première chose à faire pour vérifier si ton accès administrateur ou root fonctionne bien: créer un bot.

Sélectionne !BOTSERV dans le menu Commands, et "créer un bot". Remplis par exemple avec ces paramètres ci:

Pseudo: Patate
Ident: legume
Host: pomme.de.terre
Real Name: Miam c'est bon!
Puis presse OK. Ton bot est créé, le système affiche alors:
[12:45] -BotServ- Patate!legume@pomme.de.terre (Miam c'est bon!) ajouté à la liste des bots.
[12:45] -BotServ- 1 bots disponibles.
Noter le pluriel à bots et à disponibles, alors qu'il n'y a qu'un bot ;)

3e) Enregistrer un channel

Pour exemple, si le channel #opers est ouvert, on va l'enregistrer. Sinon, join n'importe quel channel pour test.

Clic droit dans la fenêtre du chan, puis sélectionne "Enregistrer #channel". Le script demande une phrase de description obligatoire (par exemple, si le channel est #opers, ce sera "Channel des opérateurs irc"). A l'issue, le channel prend le flag +r et l'information suivante s'affiche:
[12:49] * ChanServ sets mode: +r
[12:49] * ChanServ sets mode: +q Averell
3f) Le faire garder par le bot

Clic droit dans la fenêtre du chan, puis sélectionne "Faire garder le chan par un bot". Un popup s'affiche alors, avec une liste ne contenant que le nom de Patate. Mets une phrase d'accueil si tu veux, que le bot prononcera en notice à chaque nouvel arrivant (par exemple: "Salut à toi!"). Laisse les 3 cases à droite cochées. Clique sur "Sélectionner" et c'est bon: le bot joint le chan.
[12:52] -BotServ- Le bot Patate a été attribué à #opers.
[12:52] -ChanServ- Le message d'entrée de #opers a été changé.
[12:52] -BotServ- La fantaisie est maintenant activée sur le canal #opers.
[12:52] -BotServ- La symbiose est maintenant activée sur le canal #opers.
[12:52] -BotServ- Le message d'accueil est maintenant activé sur le canal #opers.
Voila, tu sais déjà démarrer avec le script. La suite de ce texte se présente sous la forme d'une Foire Aux Questions.