Six serveurs,
un seul programme
Service-Overtchat s'installe en entier — services, modération, panel d'administration et site — devant six serveurs IRC différents. Chacun parle son propre langage entre serveurs ; le programme les parle tous. Ce qui change d'un serveur à l'autre, ce n'est pas ce qui s'installe, c'est ce que le serveur autorise ensuite.
Les six serveurs, et ce qui a été réellement essayé
Un serveur IRC ne se contente pas de relayer des messages : il parle aussi à ses pairs, dans un langage qui lui est propre. Ce langage — le protocole serveur-à-serveur — décide de ce qu'un service comme celui-ci peut demander. Les six familles ci-dessous ne sont pas des variantes d'un même dialecte : P10 est un autre protocole, avec ses propres identifiants et ses propres verbes.
| Serveur | Version essayée | Protocole | État |
|---|---|---|---|
| Overtchat-Hybrid Écrit pour ce réseau, en C11 | 1.x | och | en production C'est le serveur du réseau public depuis le 28/07/2026. Il parle le vocabulaire d'UnrealIRCd 6, dont il dérive. |
| UnrealIRCd unrealircd.org | 6.x | unreal | lien éprouvé Le dialecte le plus complet : c'est celui pour lequel IriX a d'abord été écrit, et rien n'y manque. |
| ircd-Hybrid ircd-hybrid.org | 8.2.47 | hybrid | lien éprouvé Lien monté et vérifié, services opérateurs du salon de service dès le premier essai. |
| InspIRCd inspircd.org | 4.11.0 | inspircd | lien éprouvé Lien monté par le bot lui-même le 31/07/2026 : sonde répondue, burst d'un salon déjà peuplé lu, cinq pseudo-clients opérateurs vus par un client témoin. Son WHOIS ne traverse pas les serveurs — la présence s'y vérifie autrement. |
| Bahamut DALnet | 2.2.4 | bahamut | lien éprouvé Lien monté par le bot lui-même le 01/08/2026. Le seul serveur de la liste sans identifiants internes : ses clients se désignent par leur pseudonyme, qui change donc quand ils se renomment. Aucune documentation de protocole n'existe — tout vient de ses sources. |
| ircu (Undernet) undernet.org | u2.10.12.19 | p10 | lien éprouvé Un autre protocole, pas un dialecte de plus : préfixes sans deux-points, verbes d'une lettre, identifiants en base64. Il fonctionne, avec les limites listées plus bas. |
« Lien éprouvé » veut dire quelque chose de précis : un lien a été monté contre ce serveur, ses cinq pseudo-clients y ont été introduits, et un client ordinaire a pu constater qu'ils étaient là — le tout en vérifiant que le contraire échouait bien lorsqu'on remettait le défaut. Ce n'est pas « ça devrait marcher ».
Ce que chaque serveur permet aux services
Ce tableau est la même table que celle qu'IriX publie pour son panel d'administration : le panel grise ce qui est marqué d'une croix, et en donne la raison plutôt que d'afficher un bouton sans effet.
| Ce que le service veut faire | Overtchat-Hybrid | UnrealIRCd | ircd-Hybrid | InspIRCd | Bahamut | ircu (Undernet) |
|---|---|---|---|---|---|---|
| Changer les modes d’un autre client | compatible | compatible | compatible | compatible | compatible | non compatible |
| ircu (Undernet) — Pas de SVSMODE : ms_mode refuse un MODE portant sur un autre client que sa source, et alerte les opérateurs. | ||||||
| Renommer d’autorité (SVSNICK) | compatible | compatible | compatible | compatible | compatible | non compatible |
| ircu (Undernet) — Aucun équivalent de SVSNICK : le seul recours est d'avertir puis de déconnecter. | ||||||
| Faire entrer quelqu’un sur un salon | compatible, avec réserve | compatible | compatible | compatible | non compatible | non compatible |
| Overtchat-Hybrid — Passe par le JOIN ordinaire : +R, +O, +b et +i s'appliquent au client qu'on fait entrer. Bahamut — Aucun SVSJOIN : include/msg.h n'en porte aucune trace. ircu (Undernet) — Aucun équivalent de SVSJOIN — irix-operjoin.tcl est inopérant en entier. | ||||||
| Faire sortir d’un salon | compatible | compatible | compatible | compatible | non compatible | non compatible |
| Bahamut — Aucun SVSPART. ircu (Undernet) — Aucun équivalent de SVSPART. | ||||||
| Marquer un compte identifié | compatible | compatible | compatible | compatible | non compatible | compatible, avec réserve |
| Bahamut — Le « servicestamp » se pose à l'introduction du client et ne se change plus. ircu (Undernet) — AC pose un compte, mais aucune opération ne le retire. | ||||||
| Masquer l’hôte (vhost) | compatible | compatible | compatible | compatible | compatible | non compatible |
| ircu (Undernet) — Hôte masqué dérivé du compte, avec +x : pas de vhost arbitraire. | ||||||
| Changer l’identifiant (ident) | compatible | compatible | non compatible | compatible | non compatible | non compatible |
| ircd-Hybrid — Aucun équivalent de CHGIDENT : ni module, ni la moindre occurrence dans les sources de la 8.2.47. Bahamut — Aucun équivalent de CHGIDENT. ircu (Undernet) — Aucun équivalent de CHGIDENT. | ||||||
| Déconnecter quelqu’un du réseau | compatible | compatible | compatible | compatible | compatible | compatible |
| Bannir du réseau entier | compatible, avec réserve | compatible | compatible, avec réserve | compatible | compatible, avec réserve | compatible, avec réserve |
| Overtchat-Hybrid — Quatre types seulement : G, K, Z et Q. ircd-Hybrid — Quatre commandes distinctes — KLINE, DLINE, XLINE, RESV — là où TKL en couvre autant à lui seul. Bahamut — AKILL, SQLINE et SGLINE, chacune avec sa forme — pas de commande unique. ircu (Undernet) — G-line seule : ni Q-line ni Z-line distinctes. | ||||||
| Avertir les opérateurs (GLOBOPS) | compatible | compatible | compatible | compatible | compatible | compatible, avec réserve |
| ircu (Undernet) — WA/WU seulement, sans le ciblage de GLOBOPS. | ||||||
| Réserver un salon aux opérateurs (+O) | compatible | compatible | compatible | non compatible | non compatible | non compatible |
| InspIRCd — Le +O vient du module operchans : compilé avec le serveur, mais non chargé par la configuration d'exemple. Bahamut — Aucun mode de salon réservé aux opérateurs. ircu (Undernet) — Aucun mode de salon réservé aux opérateurs. | ||||||
| Grades de salon étendus (+q, +a, +h) | compatible | compatible | compatible | compatible, avec réserve | compatible, avec réserve | non compatible |
| InspIRCd — Seuls +o et +v sont du cœur ; +q, +a et +h viennent du module customprefix, compilé mais non chargé par défaut. Bahamut — Seuls +o et +v ; ni +q, ni +a, ni +h. ircu (Undernet) — Ni +q, ni +a, ni +h. | ||||||
Ce tableau est lu dans la base du bot, qui le republie à chaque démarrage : il décrit l'installation qui sert cette page.
Ce qui s'ajoute au réseau
| Service | Overtchat-Hybrid | UnrealIRCd | ircd-Hybrid | InspIRCd | Bahamut | ircu (Undernet) |
|---|---|---|---|---|---|---|
| IriX — les cinq pseudo-clients Comptes, salons, bans, modération, IA, panel web | compatible | compatible | compatible | compatible | compatible | compatible |
| Le cœur du projet. Il se lie à n’importe lequel des quatre serveurs ; ce sont les fonctions du tableau précédent qui varient, pas sa présence. | ||||||
| Anope NickServ, ChanServ, OperServ… (optionnel) | compatible | compatible | compatible | compatible | non compatible | non compatible |
| Anope 2.1 embarque sept modules de protocole — hybrid, inspircd, ngircd, plexus, ratbox, solanum, unrealircd — et ni P10 ni Bahamut : ce dernier n’a de module que dans la branche 2.0. Le panel refuse la configuration au lieu de la tenter. | ||||||
| Webchat Le salon dans le navigateur, via WebSocket | compatible | compatible | compatible | compatible | compatible | compatible |
| Il parle au serveur comme un client ordinaire : le dialecte serveur-à-serveur ne le concerne pas. | ||||||
| Panel d’administration Salons, membres, modération, liens, statut | compatible | compatible | compatible | compatible | compatible | compatible |
| Il lit la table des capacités et GRISE ce que le serveur en face ne sait pas faire, avec le motif — plutôt que d’offrir un bouton sans effet. | ||||||
Ce que la sécurité gagne, et où elle bute
La colonne renforcement décrit ce que le projet ajoute au réglage par défaut du serveur. C'est là que se joue la différence entre « le serveur sait le faire » et « c'est effectivement en place ».
| Protection | Overtchat-Hybrid | UnrealIRCd | ircd-Hybrid | InspIRCd | Bahamut | ircu (Undernet) | Renforcement apporté |
|---|---|---|---|---|---|---|---|
| Connexions chiffrées (TLS) ircu 2.10.12 n’a pas de couche TLS : un réseau P10 se chiffre par un relais placé devant, ou pas du tout. | compatible | compatible | compatible | compatible | compatible | non compatible | Port 6697 dédié, certificat Let’s Encrypt renouvelé automatiquement, et un crochet qui recharge le serveur à chaque renouvellement. |
| Masquage de l’hôte des visiteurs En P10, l’hôte masqué est dérivé du compte (+x) : il n’y a pas de vhost arbitraire, donc pas de masque choisi par le service. | compatible | compatible | compatible | compatible | compatible | compatible, avec réserve | Masquage systématique à la connexion, et adresse réelle réservée aux opérateurs. |
| Salon réservé aux opérateurs Sans ce mode, un salon d’opérateurs n’est réservé que dans l’intention : le panel l’annonce, et n’importe qui y entre. Sous InspIRCd le mode existe, mais dans un module — operchans — que la configuration d’exemple ne charge pas : « non » décrit donc l’installation par défaut, et se corrige en l’activant. Ni Bahamut ni ircu (P10) n’ont de mode de salon réservé aux opérateurs — chez eux, la réservation ne tient qu’à ce que les services acceptent d’y envoyer. | compatible | compatible | compatible | non compatible | non compatible | non compatible | Le mode +O est reposé à CHAQUE reprise du lien, et non une fois pour toutes : un salon vidé de ses modes après un netsplit le retrouve seul. |
| Bannissement à l’échelle du réseau P10 n’a que la G-line : bannir un pseudonyme ou une adresse passe par le même mécanisme, sans distinction. Bahamut en a trois, chacune avec sa forme — AKILL, SQLINE, SGLINE — et aucune commande qui les couvre toutes. | compatible | compatible | compatible | compatible | compatible, avec réserve | compatible, avec réserve | Refus des masques trop larges — au moins quatre caractères significatifs —, posé côté services : le serveur, lui, n’interdit que « * » et « *@* ». |
| Pseudo-clients inexpulsables ircd-Hybrid 8.2 n’a AUCUN mode de service : les pseudo-clients y restent expulsables, et le journal le dit à chaque connexion plutôt que de le taire. InspIRCd, lui, en a un — +k, dit servprotect — qui protège du KICK et du KILL. Bahamut n’en a pas davantage, et il tend un piège : son « S » désigne une connexion TLS, pas un service. Le recopier aurait marqué les pseudo-clients « chiffrés » tout en les laissant expulsables. | compatible | compatible | non compatible | compatible | non compatible | compatible | Le mode est traduit par RÔLE et non par lettre : +S sous UnrealIRCd, +k sous ircu — recopier la lettre donnerait un mode accepté et faux. |
| Protection des pseudonymes enregistrés En P10, faute de SVSNICK, la protection se limite à avertir puis déconnecter — le module concerné le sait et ne prétend pas protéger. | compatible | compatible | compatible | compatible | compatible | non compatible | Renommage d’office de l’usurpateur, puis déconnexion s’il insiste. |
| Preuve d’identité avant modération Indépendant du dialecte : c’est le mode +o du client qui est vérifié, et tous les serveurs l’ont. | compatible | compatible | compatible | compatible | compatible | compatible | Le panel ne modère pas : il DEMANDE. Le bot n’exécute que si le pseudonyme du demandeur est connecté ET opérateur sur le réseau à cet instant — être connecté au panel ne prouve rien. |
| Adresses IPv6 des visiteurs ircu encode les IPv6 sur vingt-quatre caractères, que le décodeur ne lit pas encore : sur un réseau P10, la colonne reste vide plutôt que fausse. | compatible | compatible | compatible | compatible | compatible | non compatible | Adresse décodée et rangée telle quelle, sans abréviation, pour rester comparable d’une ligne à l’autre. |
Lequel choisir
Vous montez un réseau à partir de rien
Prenez Overtchat-Hybrid ou UnrealIRCd 6. Rien n'y manque : masquage d'hôte, réservation de salons, quatre types de bannissements, grades étendus, TLS. C'est la combinaison qui sert le réseau public, et celle sur laquelle le projet est le plus éprouvé.
Vous avez déjà un serveur en service
Gardez-le. Le programme s'installe devant ircd-Hybrid et ircu sans rien changer à votre réseau : c'est lui qui apprend votre protocole, et il vous dira franchement ce qu'il ne pourra pas faire chez vous.
Le cas d'ircu (P10)
Tout fonctionne — lien, services, modération, panel — mais six fonctions n'existent pas dans ce protocole, et deux services optionnels ne s'y installent pas. Rien n'est masqué : le panel grise ce qui n'a pas d'objet et en donne la raison, et les modules concernés ne prétendent pas protéger ce qu'ils ne peuvent pas protéger.
Et si votre serveur n'est pas dans la liste
Le programme n'a que six langages, et il refuse de se lier dans un langage qu'il ne saurait pas lire — plutôt que de monter un lien qui ne transporterait rien. C'est un refus explicite, au moment de la connexion, avec son motif.
Une chose qui ne dépend d'aucun serveur : le panel ne modère jamais lui-même, il demande. Le bot n'exécute qu'après avoir vérifié que le pseudonyme du demandeur est connecté et opérateur sur le réseau à cet instant. Être connecté au panel ne prouve rien au réseau.