FAQ/General.fr
From the makers of InspIRCd.
Pourquoi choisir InspIRCd ?
Il a plusieurs raisons qui font que vous devriez choisir InspIRCd:
- InspIRCd utilise des systèmes à haute performance pour gérer les sockets, comme epoll et kqueue, là où d'autres IRCd avec les même fonctionalitées ne les utilisent pas. Nous avons aussi des gestionnaires de socket d'aucun autre IRCd n'utilise actuellement, comme windows I/O Completion ports qui augmente les performance de notre version Windows comparé à d'autre IRCd.
- InspIRCd est complètement modulaire, ajoutez ou supprimez des fonctionnalitées selon VOS souhaits, et non comme les développeurs le souhaitent.
- InspIRCd propose des modules gratuitement alors que d'autres développeurs sur certains IRCd vous les proposent payant !
- InspIRCd possède une API SQL évolutive et non bloquante, supportant postgresql, sqlite et mysql. Du jamais vu dans d'autres IRCd.
- Le nombre impressionant de fonctionalitées de InspIRcd sont écris en approximativement 32000 lignes de code. Comparé ça au 84000 lignes de codes de certains IRcd similaire, pour le même nombre de fonctionalitées.
- InspIRCd est fait de telle sorte que vous pouvez mettre à jour certains parties à la volée, alors que vous ne pouvez pas dans tous les autres IRCd. Vous pouvez par exemple mettre à jour le module SSL (pour des raisons de sécurité) sans avoir à relancé tout votre réseau ! Et ceci fonctionne pour n'importe quel modes, et même pour le protocol réseau !
- InspIRcd est amusant à utiliser !
- InspIRCd a un groupe de développeur assidus qui maintienne activement le projet! La ou certains sont dans un rythme ralentit d'une ou deux sortie par an, nous sortons une nouvelle version au moin toutes les 2 semaines, pour être sur que vous être au top niveau fonctionalitées et correction de bugs !
- L'équipe de developpement de InspIRCd est à l'écoute de vos demandes et suggestions, la ou d'autres équipes d'IRCd ne le sont pas du tout.
Combien de mémoire InspIRCd utilise? Que cela représente t'il comparé à d'autres IRCd ?
Sur notre réseau de production ChatSpike, nous avons entre 1000 et 1400 utilisateurs connectés simultanément et notre serveur a actuellement les statistiques suivantes (InspIRCd 1.1):
- Mémoire utilisée: 18Mo
- Utilisation du processeur: Entre 0.00% et 0.15%
- Temps d'utilisation du procésseur: 9 heures après la dernier redémarrage hebdomadaire, sur un Pentium 4 1.7ghz: 3minutes 7secondes de temps d'utilisation du CPU (En 9 heures donc).
- Nombres de modules: 68 modules chargés
- Serveurs reliés: un autre serveur InspIRCd et un serveur IRCServices
En chargeant moin de module, il est très facile de diminué la charge par 10 !
Pourquoi sortez vous des versions si fréquemment? Je ne peux pas me tenir à jour!
Nous suivons l'idéologie de 'Release Early, Release Often' qui signifie simplement que les sorties doivent être rapprochées, dans le but de garder les utilisateurs et les contributeurs actifs et intéressés. Nous ne faisons pas ça parcequ'il y a des bugs (comme d'autres IRCd font), mais parceque nous somme actifs, et nous vonlons que notre projet reste actif. Si la nouvelle version n'a aucune nouvelle fonctionalitée dont vous avez besoin, ou aucune correction de bug majeur, vous n'êtes absolument pas obligé de mettre vos serveurs à jour. Nous annonçons sur notre site les mise à jour critiques et 'obligatoires.
Sur quel système InspIRCd fonctionne le mieux?
Nous n'avons pas personnellement testé tous les systèmes sur lesquels InspIRCd peut se compiler et fonctionner, donc on ne peut pas dire. Cependant, nous developpons InspIRCd sur des machine sous FreeBSD et Gentoo, on peut donc affirmer qu'il fonctionne bien sur ces platformes.
Pourquoi avez-vous écrit InspIRCd en C++ ?
Parceque C++ a de nombreuses fonctionalitées nécéssaires à ce genre de projet:
- La POO (Prorammation Orientée Objet) permet un design modulaire, ce qui est le but de InspIRCd.
- La POO permet un management simplifié du projet et un assignation des taches entre développeurs
- Les programes orientés objet sont plus simple à créé
Bien sur, il y a des inconvénients -- c'est plus difficile de trouver des développeurs C++ quand des développeur C (on ne sait toujours pas pourquoi) -- et il y a probablement des languages orientés objets plus rapide et efficace, mais on ne connait pas ces autres langages ;-)
Pourquoi n'utilisez-vous pas un parser XML pour le fichier de configuration?
Il y a trois raisons à cela. La plus importante est finalement parceque le fichier de configuration n'est pas XML ! il doit ressemblé à du XML, ou quelque chose proche de XML. Si vous avez besoin d'une comparaison avec d'autres modèles de données, la plus proche est sans doute SGML, pas XML (Qui ressemble au HTML, on a choisi ce format parceque n'importe qui qui veut développer un IRCd connait le HTML).
Deuxièmement, les parsers XML sont des librairies lentes et lourdes. Vous aurez remarquez que le noyau de InspIRCd n'a aucune dépendance externe. Vous pouvez sans doute compiler le noyau de InspIRCd sur un yack mort. (Ndt: C'est de l'humour anglais... j'ai traduit littéralement). Ajouté XML en tant que pré requis obligatoire créerai une dépendance et rendrait InspIRCd plus chiant à installer.
Troisièmement, nous croyions que XML est un système de gestion actuel et qu'il existe beaucoup de modèles de données plus utile (comme les bases de données SQL).
Est-ce que mon réseau peut être le réseau officiel de InspIRCd?
Non désolé, ceci est réservé à notre réseau irc.inspircd.org.
Quels services devrais-je utiliser avec InspIRCd?
C'est une question personnelle, ça dépend de vos goûts, choisissez celui qui vous plait et celui que vos utilisateurs aiment. Passez une semaine à tester chaque service et prenez celui que vous preferez.
Prenez aussi en considération ces points de vues (très généraux):
- Si vous cherchez à créer un réseau ressemblant à Undernet, vous devez envisager Athem en premier. Atheme ressemble à Undernet car il opère sur des comptes, pas sur des pseudos enregistrés. Vous devrez utiliser m_services_account.so sur votre serveur InspIRCd. Actuellement, le plus gros serveur InspIRcd (barafranca) utilise ce service.
- Si vous souhaitez créer un réseau comme Dalnet, vous devez envisager IRCServices. IRCServices est léger, est parceque le second plus gros réseau InspIRcd l'utilise (ChatSpike), c'est le plus supportés des services pour les réseau qui ressemble à Dalnet. IRCService est considéré comme resssemblant à Dalnet car les utilisateurs s'identifie avec leur pseudo et peuvent uniquement utiliser les services avec un pseudo identifié. De plus, IRCService implémente le "nickserv enforcement".
- Pour tous les indécis, pensez à Anope. Anope est le service le plus simple à utiliser pour l'utilisateur, bien que ce soit le moin supporté des trois, car aucun gros réseau InspIRCd ne l'utilise.
Où dois-je reporter un bug?
Notre traqueur de bug officiel se trouve, ici.
Comment puise-contribuer au projet?
Toutes les contributions au programme doivent être postée en tant que patch sur le bugtracker, de préfrence en tant que unified diff (man diff) en postant ici. Les contributions de documentation doivent être mise sur ce Wiki. Nous n'avons actuellement pas besoin d'espace web ou de mirroirs de téléchargement.
Ou puis-je soumettre des demandes concernant les fonctionalitées ?
Sur notre forum, ici, ou directement sur IRC. Votre demande à plus de chance d'être acceptée si:
- Vous fournissez un patch ou un module fonctionnel.
- Votre ajout est dans l'esprit de InspIRCd. Par exemple, ne créez pas un module qui fait 10 choses, mais plutot 10 modules qui font chacun une chose, autant que possible bien sur.
- Vous pouvez expliquer votre idée simplement, avec un graphique par exemple.
Ou puise-je faire l'idiot et faire chier mon monde?
PAS ICI, sur le réseau IRC. En fait, c'est contre les règles de notre salon Channel Rules :D
Puis-je utiliser InspIRCd sur un gros réseau?
Bien sur ! Nous avons tester InspIRCd avec 8000 clients (sur un serveur). Si vous avez des statistiques de performances que vous aimeriez partager, n'hésitez pas à nous en faire part.
Est-ce que des gros réseaux utilisent InspIRCd?
A notre conaissance, les deux plus gros réseaux qui utilisent InspIRCd sont Barafranca (3500 utilisateurs) et ChatSpike (1500 utilisateurs).
Quels gestionnaires de sockets (NdT: socket engines) sont supportés par InspIRCd?
Les gestionnaires de sockets haute performance suivants sont supportés:
- select (Toutes les versions, tous les systèmes)
- kqueue (1.0 beta 5 onwards, BSD uniquement)
- epoll (1.0 beta 5 onwards, Linux uniquement)
- Solaris 10 I/O Completion Ports (1.1.6 onwards, Solaris uniquement)
- Windows I/O Completion Ports (1.1.8 onwards, Windows uniquement)
D'autres gestionnaires de sockets pourront être supportés quand nous auront le temps pour les développer.
Veuillez noter que le gain de peformances fournies par kqueue, iocp ou epoll' est vraiment superieur comparé à select, ils doivent être utilisé dès que possible. Si vous n'avez aucune de ces gestionnaires de socket, vous devriez serieusement penser à mettre à jour votre système ou votre noyau avant de lancer un serveur IRC.
Sur quoi est basé InspIRCd ?
Sur rien. Oui oui, c'est vrai. Nous n'avons utilisé aucun code commme base. Ce n'est pas basé sur Unreal et ce n'est pas basé sur bahamut. C'est ce qui rend InspIRCd unique.
Puis-je lancé InspIRCd en tant que root?
Vous pouvez lancé InspIRCd avec le paramètre -runasroot, mais si vous faites ça, nous ne vous fournirons aucune support. Si vous voulez écouter sur un port privilégier, vous devrez rediriger un port dans votre firewall. Par exemple, si vous utilisez Linux avec iptables:
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 -d 127.0.0.1 --dport 443 -j DNAT --to 127.0.0.1:4430 /sbin/iptables -A FORWARD -p tcp -i eth0 -d 127.0.0.1 --dport 443 -j ACCEPT
Ceci va rediriger tout le trafic sur le port 443 vers le port 4430 sur l'ip 127.0.0.1. Vous devrez changer l'ip et le numéro du port pour ceux qui vous convienne.
Comment puis-je lancer InspIRCd quand le système démarre?
Pour lancer InspIRCd quand le système démarre, vous devez placer la ligne suivante dans le contrab de l'utilisateur qui lance InspIRCd (contrab -e):
@reboot cd /home/user/inspircd; ./inspircd start
Est-ce que InspIRCd peut faire des sandwichs au fromage?
Uniquement avec le module m_sandwichsfromage.se.

















