Un script, cinq étapes,
rien en dehors de votre home
overtchat-setup.sh détecte votre distribution, dresse la liste
des paquets manquants, puis vous guide composant par composant. Les étapes
qui ne sont pas encore possibles restent affichées, grisées, avec la raison
du blocage.
# Récupérer l'installateur, puis le lancer curl -fL -o overtchat-setup.sh https://service-overtchat.hd.free.fr/dl/setup chmod +x overtchat-setup.sh ./overtchat-setup.sh
Quatre serveurs IRC, un seul programme. Tout ce qui est décrit ici s'installe aussi bien devant Overtchat-Hybrid, UnrealIRCd 6, ircd-Hybrid ou ircu — les quatre ont porté un lien vérifié. Ce qui change d'un serveur à l'autre n'est pas ce qui s'installe, c'est ce que le protocole autorise ensuite : la page Serveurs compatibles le donne fonction par fonction, sécurité comprise.
Récupérer le projet
Tout le code est publié sur GitHub, sous licence MIT : serveur, services, panel et scripts se reprennent librement, y compris pour monter votre propre réseau. Les textes de ce site, son nom et sa charte graphique restent en revanche réservés — ils font l'identité de ce réseau-ci, pas du logiciel. Trois façons de l'obtenir, selon ce que vous cherchez.
L'installateur seul
Sans git : le script, servi par ce site. C'est aussi la source que l'installateur utilise pour ses propres mises à jour.
En une ligne
La même chose depuis un terminal, avec l'empreinte à vérifier juste après — elle est publiée sur la page de téléchargement.
curl -fsSLO \ https://service-overtchat.hd.free.fr/dl/Bootstrap/overtchat-setup.sh sha256sum overtchat-setup.sh chmod +x overtchat-setup.sh
| Ressource | Adresse |
|---|---|
| Installateur | overtchat-setup.sh — servi par ce site |
| Empreintes | manifeste.json — SHA-256 de chaque fichier distribué |
| Version publiée | /update — numéro, empreinte et journal |
| Dépôt git | https://github.com/SerVuS033/Overtchat.git
— privé : ni les pages
web ni git clone ne répondent sans accès.
L'installateur ci-dessus n'en a pas besoin. |
| Signaler un problème | Formulaire de contact |
| Licence | MIT — fichier LICENSE à la racine du dépôt |
Le dépôt et cette documentation peuvent différer.
Le script publié porte la version indiquée dans le fichier
VERSION à la racine du dépôt — actuellement
4.45.0. En cas d'écart, c'est le
comportement du script que vous exécutez qui fait foi.
Ce que l'installateur pose, et depuis où
Chaque version est épinglée : l'installateur va chercher une archive précise, pas la dernière en date. Une URL versionnée se rejoue à l'identique dans six mois, là où un lien « latest » installe un jour autre chose sans qu'une ligne ait changé. Ces numéros sont lus dans le script — cette page ne les recopie pas.
| Composant | Version | Rôle | Source officielle |
|---|---|---|---|
| UnrealIRCd | 6.2.6 | Serveur IRC de référence du projet — c’est son dialecte que parle Overtchat-Hybrid. | https://www.unrealircd.org/downloads/unrealircd-6.2.6.tar.gz |
| ircd-Hybrid | 8.2.47 | Serveur IRC en TS6, léger et modulaire. Sept commandes de services, un mode +r réservé aux services. | https://github.com/ircd-hybrid/ircd-hybrid/archive/8.2.47.tar.gz |
| ircu2 | u2.10.12.19 | Le serveur d’Undernet, en protocole P10. Aucun logiciel de services d’Anope ne le gère. | https://github.com/undernetirc/ircu2/archive/refs/tags/u2.10.12.19.tar.gz |
| InspIRCd | 4.11.0 | Serveur modulaire très répandu. Identifiants SID et UID, et les commandes de services SVSNICK, SVSJOIN, SVSPART. | https://github.com/inspircd/inspircd/archive/refs/tags/v4.11.0.tar.gz |
| Eggdrop |
1.10.2rc1 version candidate — la dernière version publiée est la 1.10.1 |
Le bot qui héberge IriX : IriX est un module Tcl, il n’existe pas sans lui. | http://ftp.eggheads.org/pub/eggdrop/source/1.10/eggdrop-1.10.2rc1.tar.gz |
| Anope | 2.1.25 | Services optionnels : NickServ, ChanServ, OperServ… Branche 2.1, celle qui a renommé son module de protocole. | https://github.com/anope/anope/archive/refs/tags/2.1.25.tar.gz |
Overtchat-Hybrid ne figure pas dans ce tableau, et il ne s'installe
pas depuis cette page. Son code vit dans le dépôt du projet, sous
Servers/overtchat-hybrid — que l'archive proposée ici ne contient pas.
L'installateur le compile sur place lorsqu'il trouve ces sources, ce qui est le cas
d'une copie du dépôt ; une installation faite depuis ce site retient donc un autre
serveur, UnrealIRCd par défaut.
Prérequis
Une machine Linux et un shell. Tout le reste est vérifié, listé ou installé par le script lui-même.
Ce que le script détecte tout seul
- La distribution et son gestionnaire de paquets, pour traduire les
noms génériques (
ssl-dev) en noms réels de la distribution. - Les privilèges disponibles : exécution en root, présence de
sudo, ou aucune élévation possible. - Les composants déjà présents sur le disque, y compris ceux installés en dehors du panel.
- Les paquets manquants pour chaque composant, avant même que vous ne tentiez de l'installer.
La question des privilèges
Sans option, le script tourne en mode utilisateur simple :
il ne demande une élévation que ponctuellement, au moment d'installer
des paquets système, et seulement si sudo est disponible.
| Invocation | Mode | Usage |
|---|---|---|
| ./overtchat-setup.sh | défaut | Mode utilisateur simple, élévation ponctuelle si sudo existe. |
| ./overtchat-setup.sh --root | root | Relance en root pour la gestion des paquets. L'arborescence reste dans le home. |
| ./overtchat-setup.sh --user | forcé | Force le mode utilisateur simple, même si root ou sudo sont disponibles. |
| ./overtchat-setup.sh --debug | trace | Active la trace set -x pour diagnostiquer un comportement. |
| ./overtchat-setup.sh --help | aide | Affiche les options disponibles et quitte. |
Rien n'est jamais installé dans /root.
Quelle que soit l'option, l'arborescence est créée sous
~/Service-Overtchat, dans le home de l'utilisateur
réel. Seule l'installation de paquets système passe par
l'élévation ; le reste — sources, binaires compilés, configuration —
vous appartient.
Cinq étapes, dans un ordre imposé
L'ordre n'est pas une préférence de présentation : il découle des dépendances réelles entre les composants. Les étapes 3, 4 et 5 restent verrouillées tant que ce qu'elles supposent n'existe pas.
Dépendances système toujours accessible
Scan des paquets requis par chaque composant, comparaison avec ce qui est présent, puis installation des manquants si une élévation est possible.
Exige : rien. C'est le point d'entrée.
À la fin : la liste des paquets manquants est vide, ou vous en avez la liste exacte à poser à la main.
Serveur IRC conditionnée
Compilation depuis les sources d'UnrealIRCd, ircd-Hybrid, ircu ou Overtchat-Hybrid. Overtchat-Hybrid est le serveur du projet et celui qui sert le réseau depuis le 28 juillet 2026 ; les autres restent compilables, pour comparer ou revenir en arrière.
Exige : les dépendances système du serveur choisi. L'étape est verrouillée tant qu'elles sont incomplètes.
À la fin : un binaire de serveur IRC compilé et vérifié par empreinte SHA-256.
Eggdrop conditionnée
Le bot hôte : moteur Tcl, console d'administration, connexion permanente au serveur. C'est lui qui hébergera IriX.
Exige : qu'un serveur IRC soit installé. Verrouillée tant qu'aucun ne l'est.
À la fin : un Eggdrop compilé, capable de se connecter au serveur de l'étape précédente.
IriX conditionnée
Le cœur métier : comptes, salons, bans, automatismes, liens ULine et modération.
Exige : qu'Eggdrop soit installé — IriX est un module Tcl qu'Eggdrop héberge, il n'existe pas sans lui.
À la fin : les services pseudo-clients sont chargés et pilotables.
Services optionnels conditionnée
Anope et Lea, pour les réseaux qui veulent des services complémentaires à côté d'IriX.
Exige : qu'un serveur IRC soit installé — ces services se lient au serveur, pas à Eggdrop.
À la fin : les services optionnels retenus sont compilés et liés.
Chaque étape porte une icône d'état : ✔ faite,
○ à faire, ✖ verrouillée. Leur signification
exacte, et la manière de lever un verrou, sont détaillées juste
en dessous.
Lire — et débloquer — une option verrouillée
Le panel n'a pas de menu caché. Une option indisponible reste affichée, grisée, avec sa raison entre chevrons. Le principe est assumé : vous voyez ce qui existe et ce qui vous manque, au lieu de buter sur un échec après coup.
Les trois icônes d'état
La forme d'une option verrouillée
Dans un menu, une entrée bloquée est affichée en gris, suivie de sa raison entre chevrons. Le libellé reste lisible : vous savez ce que l'option ferait si elle était disponible.
# Extrait d'un menu : deux entrées disponibles, deux verrouillées [1] Eggdrop [2] UnrealIRCd [3] IriX ⟨requiert Eggdrop⟩ [4] Anope ⟨paquets manquants — installables depuis le menu Dépendances⟩
Deux familles de raisons, deux façons de débloquer
Prérequis logique
Le composant dépend d'un autre composant qui n'est pas installé.
La raison nomme explicitement ce qui manque, par exemple
⟨requiert Eggdrop⟩.
Pour débloquer : installez d'abord le composant nommé. IriX exige Eggdrop — IriX est un module Tcl qu'Eggdrop héberge. Anope et Lea exigent un serveur IRC installé. Une fois le prérequis en place, l'entrée redevient sélectionnable au prochain affichage du menu.
Paquets système manquants
Les bibliothèques ou outils de compilation nécessaires ne sont pas sur la machine. Le message dépend de vos privilèges.
Si une élévation est possible :
la raison affichée est
⟨paquets manquants — installables depuis le menu Dépendances⟩.
Ouvrez le menu Dépendances système et lancez l'option 1,
« Installer toutes les dépendances manquantes ».
Sans élévation : la raison liste directement les paquets à poser. Installez-les à la main ; l'option 2 du menu Dépendances, « Afficher les commandes d'installation », donne la commande exacte pour votre distribution.
Récapitulatif : ce qu'exige chaque composant
| Composant | Exige | Comment débloquer |
|---|---|---|
| Serveur IRC UnrealIRCd, Hybrid, ircu, Overtchat-Hybrid |
Ses paquets de compilation | Menu Dépendances → option 1, ou pose manuelle des paquets listés. |
| Eggdrop | Un serveur IRC installé + ses propres paquets |
Terminer l'étape 2, puis compléter les paquets manquants. |
| IriX | Eggdrop installé + Tcl et le client MySQL |
Installer Eggdrop d'abord — IriX s'exécute à l'intérieur. Puis compléter tcl, tcllib, tcl-mysql, mysql-client. |
| Anope | Un serveur IRC installé + cmake et ses paquets |
Terminer l'étape 2, puis compléter les paquets manquants. |
| Lea | Un serveur IRC installé + la chaîne de compilation |
Terminer l'étape 2, puis compléter build, gcc, make. |
| Installer toutes les dépendances menu Dépendances, option 1 |
Une élévation disponible | Relancer avec --root, ou installer les paquets à la main via l'option 2. |
| Access Manager | Un grade panel ≥ 60 | Se connecter avec un compte de grade suffisant. |
| Réinitialiser la configuration | Un grade panel ≥ 80 | Se connecter avec un compte de grade suffisant. |
Le verrou se corrige tout seul si vous avez installé
autrement. Les fichiers Config/*.json sont la
source de vérité du verrouillage, mais ils ne décrivent que ce que
ce panel a installé. Le script sonde donc le disque avant
d'afficher un menu et corrige le JSON — sans quoi un Eggdrop posé à
la main ou par paquet aurait laissé IriX verrouillé indéfiniment.
La correction est à sens unique : le script peut passer un état de
false à true, jamais l'inverse. Il ne
déclarera jamais désinstallé un composant qu'il ne sait
simplement pas trouver.
Les grades du panel ne sont pas les grades IRC. Ils gouvernent l'accès aux options du script, pas les privilèges sur le réseau. Tant qu'aucun compte n'a été créé, le panel reste ouvert : c'est le mode installation initiale. Dès qu'un compte existe, une porte d'authentification s'affiche au lancement, avec trois tentatives au maximum.
Paquets requis, composant par composant
Les noms ci-dessous sont génériques : le script les traduit selon votre gestionnaire de paquets. Le menu Dépendances affiche pour chaque composant s'il est complet, et sinon la liste de ce qui manque.
| Composant | Paquets |
|---|---|
| Eggdrop | build · gcc · make · tcl-dev · ssl-dev · zlib-dev |
| IriX | tcl · tcllib · tcl-mysql · mysql-client |
| UnrealIRCd | build · gcc · make · ssl-dev · zlib-dev · pkgconfig · curl-dev · pcre2-dev · argon2-dev · sodium-dev |
| ircd-Hybrid | build · gcc · make · ssl-dev · zlib-dev · bison · flex · jansson-dev |
| ircu | build · gcc · make |
| Overtchat-Hybrid | build · gcc · make · ssl-dev · zlib-dev |
| Anope | build · gcc · make · cmake · ssl-dev |
| Lea | build · gcc · make |
Le menu Dépendances a deux entrées. L'option 1, « Installer toutes les dépendances manquantes », est elle-même verrouillée si aucune élévation n'est possible — elle ne peut pas tenir sa promesse sans droits. L'option 2, « Afficher les commandes d'installation », reste toujours accessible et vous donne la commande exacte à recopier.
Après l'installation
Où vivent les fichiers, et comment ouvrir le panel web.
L'arborescence
Tout est regroupé sous ~/Service-Overtchat. Aucun fichier
du projet n'est déposé ailleurs.
~/Service-Overtchat/ Bootstrap/ # overtchat-setup.sh, le point d'entrée unique Components/ # sources et binaires compilés des composants Config/ # fichiers JSON — source de vérité de l'état IriX/ # le module Tcl des services Runtime/ # PID, journaux, fichiers d'exécution Web/ # le panel web et le site public
Lancer le panel web
# Depuis la racine du projet ./Web/start.sh start
Le panel est ensuite accessible sur
http://localhost:8080. Le script accepte également
stop, restart et status.
Le panel web et le panel shell ne font pas la même chose.
overtchat-setup.sh installe, compile et démarre les
composants ; l'interface web supervise et pilote le réseau une fois
qu'il tourne. L'un ne remplace pas l'autre.
Piloter les services
Une fois IriX en place, les cinq pseudo-clients répondent en message privé sur IRC. Leur catalogue complet est détaillé sur la page dédiée.
Toutes les commandes des services →
Intégrité
Chaque composant compilé par le panel se voit associer une empreinte SHA-256, enregistrée au moment de l'installation. L'option 9 du menu principal les revérifie toutes ; l'option 8 du menu d'un composant vérifie uniquement le binaire de celui-ci.
Symptômes et causes probables
Les blocages les plus fréquents viennent du verrouillage : ils ont presque toujours une cause nommée à l'écran.
| Symptôme | Cause probable et remède |
|---|---|
| Une option reste verrouillée alors que le composant est bien installé |
Le composant a été posé en dehors du panel, donc les fichiers
Config/*.json l'ignorent encore. Le script sonde le
disque et corrige l'état au prochain affichage du menu :
ressortez du menu et revenez-y. Si le verrou persiste, le
binaire n'est pas à un emplacement connu — utilisez l'option 11
du menu du composant, « Définir un binaire existant », pour
l'enregistrer explicitement.
|
| Paquets manquants, mais pas de sudo |
Sans élévation, le panel ne peut rien installer et l'option 1
du menu Dépendances est elle-même verrouillée. Le message de
blocage liste alors directement les paquets à poser à la main.
L'option 2, « Afficher les commandes d'installation », donne la
commande exacte pour votre distribution. Alternative : relancer
avec --root.
|
| Le panel refuse l'Access Manager | Grade insuffisant : l'Access Manager exige un grade panel ≥ 60, et la réinitialisation de la configuration ≥ 80. Reconnectez-vous avec un compte disposant du grade requis. Rappel : ces grades sont ceux du panel, sans rapport avec les grades IRC. |
| Le panel demande un mot de passe au lancement | Comportement normal dès qu'au moins un compte existe : la porte d'authentification s'active et laisse trois tentatives. Tant qu'aucun compte n'a été créé, le panel reste ouvert en mode installation initiale. |
| L'étape IriX est verrouillée alors que le serveur IRC tourne | IriX ne dépend pas du serveur IRC mais d'Eggdrop : c'est un module Tcl qu'Eggdrop héberge. Installez Eggdrop — étape 3 — avant de revenir à l'étape 4. |
| Un comportement du script reste inexplicable |
Relancez avec --debug : la trace set -x
montre chaque commande exécutée. Le Panel Logs, option 5 du menu
principal, centralise par ailleurs journaux, bugs et rapports.
|
Un verrou n'est jamais un bug. Le panel préfère afficher une option indisponible avec sa raison plutôt que la masquer ou la laisser échouer à mi-parcours. Si une entrée est grisée, la réponse est écrite entre les chevrons qui la suivent.