Panel d'installation v4.45.0

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.

Téléchargement

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.

Télécharger le script

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

ComposantVersionRôleSource 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.

Avant de commencer

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.

InvocationModeUsage
./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.

Assistant d'installation

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.

Légende

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

Fait L'étape est satisfaite. Vous pouvez y revenir pour ajouter un composant, mais rien n'est requis de vous.
À faire L'étape est accessible immédiatement : ses prérequis sont réunis, elle n'a simplement pas encore été exécutée.
Verrouillée L'étape est visible mais non sélectionnable. Elle indique pourquoi, et cette raison est toujours actionnable.

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

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

Dépendances

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.

ComposantPaquets
Eggdropbuild · gcc · make · tcl-dev · ssl-dev · zlib-dev
IriXtcl · tcllib · tcl-mysql · mysql-client
UnrealIRCdbuild · gcc · make · ssl-dev · zlib-dev · pkgconfig · curl-dev · pcre2-dev · argon2-dev · sodium-dev
ircd-Hybridbuild · gcc · make · ssl-dev · zlib-dev · bison · flex · jansson-dev
ircubuild · gcc · make
Overtchat-Hybridbuild · gcc · make · ssl-dev · zlib-dev
Anopebuild · gcc · make · cmake · ssl-dev
Leabuild · 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.

Ensuite

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.

Dépannage

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ômeCause 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.