Compatibilité

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.

Serveurs

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 ».

Fonctions

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.

compatible compatible, avec une réserve — indiquée sous la ligne non compatible — le protocole ne le permet pas
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.

Services

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.
Sécurité

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.
En pratique

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.