MatrIRX
De OoKoo.org.
Sommaire |
Obtenir MatrIRX
Pour le moment, le meilleur moyen d'obtenir MatrIRX est d'utiliser SVN.
MatrIRX v1
SVN: http://ookoo.org/svn/matrirx/matrirx1/
Ceci est une version stable. Elle est actuellement en service sur ces réseaux IRC :
MatrIRX v2
SVN: http://ookoo.org/svn/matrirx/matrirx2/
Ceci est une version de test. Elle ne contient pas encore toutes les fonctionnalités recquises et peut contenir des bugs.
MatrIRX v3
Ceci est une version expérimentale de MatrIRX, non encore rendue publique.
Informations
MatrIRX v1
MatrIRX v1 est actuellement la version «stable», et donc recommandée, de MatrIRX. Elle est largement suffisante pour tous les besoins d'un réseau IRC.
Le principe est basé sur un seul process, où tous les bots sont chargés. Cela présente plusieurs avantages et inconvénients :
- La mémoire est accessible à tous les bots, ce qui réduit grandement son usage.
- Tous les bots étant chargés dans le même process, il leur est possible de communiquer ensemble.
- Tous les bots sont chargés en même temps, si un seul des bots plante (bug), tout le système s'arrête. De manière identique, si on veut mettre à jour un des bots, c'est tout le système qui est stoppé.
- Si un bot passe sur une opération longue (requête SQL vers un serveur en panne, calcul, etc), il stoppe pendant le temps de son exécution le processing des autres bots, pouvant amener a des lags, voire une déconnection du système.
MatrIRX v2
L'idée de MatrIRX v2 était, à l'origine, de passer outre les inconvénients de MatrIRX v1. Pour ce faire, le process principal utiliserait la fonction unix fork() et socketpair(). Toutefois cela veut dire que le système ne sera plus compatible nativement avec Windows. Il y a encore de nombreux problèmes de synchronisation entre les processus, toutefois cette version peut être utilisée pour des tests.
Là encore, on a un certain nombre d'avantages et d'inconvénients :
- L'architecture est beaucoup plus modulaire, si un bot plante, il ne se pénalise que lui-même.
- Les données passent par 3 processus PHP avant d'arriver au réseau, cela engendre un lag certain.
MatrIRX v3
La version 3 de MatrIRX a pour but de passer outre tous les inconvénients des versions précédentes, en réécrivant le coeur du système en C. Elle n'est pas encore disponible publiquement.
