Communauté Eggdrop
Aide Link - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : Aide Link (/showthread.php?tid=595)

Pages : 1 2


Aide Link - SpereD - 30/01/2010

Bonjour,

Je viens vers vous, car j'ai beau chercher mais je ne trouve pas l'erreur,
Je cherche a faire un link service sur un serveur Inspircd1.2 j'arrive petit a petit grace a une aide mais, c'est pour la version 1.1 :/

je vois vraiment pas comment faire, voila une parti de mon code
tcl
putdcc $::insp(idx) "SERVER $::insp(link) $::insp(pass) 5 A3X :$::insp(info) \r"
        putdcc $::insp(idx) "BURST [unixtime]\r"
        putdcc $::insp(idx) ":$::insp(link) VERSION :$::insp(version)\r"
        putdcc $::insp(idx) ":$::insp(link) ADDLINE Q $::insp(pseudo) $::insp(link) [unixtime] 0 :Service\r"
        putdcc $::insp(idx) ":$::insp(link) NICK [unixtime] $::insp(pseudo) $::insp(host) $::insp(host) $::insp(ident) +Ios 0.0.0.0 :$::insp(real)\r"
        putdcc $::insp(idx) ":$::insp(pseudo) OPERTYPE Service\r"
        putdcc $::insp(idx) ":$::insp(pseudo) JOIN $::insp(salon)\r"
        putdcc $::insp(idx) ":$::insp(pseudo) MODE $::insp(salon) +$::insp(smode)\r"
        putdcc $::insp(idx) ":$::insp(pseudo) MODE $::insp(salon) +$::insp(cmode) $::insp(pseudo)\r"
        putdcc $::insp(idx) "ENDBURST\r"
        control $::insp(idx) insp:link


Me demander pas d'ou viens
tcl
putdcc $::insp(idx) "SERVER $::insp(link) $::insp(pass) 5 A3X :$::insp(info) \r"



les 5 A3X en cherchant j'ai trouver ca donc j'ai tester, voila l'erreur que cela me donne quand je connect

tcl
* LINK: Server connection from xxx.monservice.com denied, server is too far away for authentication



Si vos lumiere pouvais m'aider ou m'orienté

Merci =)


RE: Aide Link - fedora - 30/01/2010

bonjour,

essaye peut être (je dit pas que ça fonctionnerais )

tcl
putdcc $::insp(idx) "SERVER $::insp(link) $::insp(pass) 0 :$::insp(info) \r"
putdcc $::insp(idx) "BURST [unixtime] \r"
foreach a [list "a" "b" "d" "e" "g" "r" "s" "h" "o" "i" "u" "ze" "k" "t" "et"] {
putdcc $::insp(idx) ":$::insp(link) ADDLINE Q $::insp(pseudo) $::insp(link) [unixtime] 0 :Service \r"
putdcc $::insp(idx) ":$::insp(link) NICK [unixtime] $::insp(pseudo) $::insp(host) $::insp(host) $::insp(ident) +IOos 0.0.0.0 :$::insp(real) \r"



j'avais eu un code similaire lors que je connectais un service sur Inspircd. pk pas tenter si cela fonctionne .


Cordialement


RE: Aide Link - SpereD - 30/01/2010

bé cela ne fonctionne pas,

et le debut du code, est pour Inspircd1.1* il ont changer leur méthode pour la 1.2 j'ai tj la meme erreur mdr Mad


RE: Aide Link - SpereD - 30/01/2010

donc en gros, la nouvelle facon de ce co a Inspircd1.2 est le TS6, ne connaissant pas du tout ce format et ne voyant pas ce qu'il faut faire pour coder un link en TCL j'aurais besoin d'un plus GROS coup de main, ou si quelqu'un connait un service tcl qui s'y connect pour que j'y plonge mon regard afin de comprendre la facon de coder ce type de connection ca serais cool


RE: Aide Link - fedora - 30/01/2010

A tu visiter le site http://www.inspircd.org/index.php ? y a pas mal d'aide certes en anglais mais bon .. si cela peut t'aider à trouver une solution ...


RE: Aide Link - SpereD - 30/01/2010

bé oui j'ai cherché un peu partout,
le seul site interessant trouver est

http://www.leeh.co.uk/ircd/TS6.txt

mais bon je vois pas comment connecter le tout, et je trouve pas de comparaison tcl, j'ai chercher dans le code source de anope, mais ca m'aide pas des masses non plus :/ d'ou ma demande d'aide


RE: Aide Link - Merwin - 30/01/2010

http://wiki.inspircd.org/InspIRCd_Spanning_Tree_%281.2%29 pour toute la doc sur le protocole.


RE: Aide Link - SpereD - 30/01/2010

j'ai lu, et j'ai vu mais je comprend pas

j'ai un peu modifier mon code avec ce que j'ai cru voir,

voici l'erreur que j'obtiens en PL du bot
Code :
ERROR :Protocol violation: NICK message without TS - :875 NICK 1264876498
et celle du serveur
Code :
LINK: Sent ERROR to Mon.link.tls: Protocol violation: NICK message without TS - :875 NICK 1264876604
•• Notice serveur : *** LINK: Server Mon.link.tls split: Remote host closed the connection
•• Notice serveur : *** LINK: Netsplit complete, lost 0 users on 1 servers.
•• Notice serveur : *** LINK: Connection to 'Mon.link.tls' failed.

et voici les changements que j'ai fait dans mon code tcl

tcl
putdcc $::insp(idx) "SERVER $::insp(link) $::insp(pass) 0 875 :$::insp(ident)\r"
putdcc $::insp(idx) "SERVER $::insp(ip)  $::insp(pass) 0 874 :$::insp(real) \r "
putdcc $::insp(idx) ":875 BURST [unixtime] \r"
putdcc $::insp(idx) ":874 BURST [unixtime] \r "





RE: Aide Link - Merwin - 31/01/2010

Tu dois envoyer un NICK quelque part sans timestamp apriori Smile


RE: Aide Link - SpereD - 31/01/2010

je sais pas si c'est sans TimeStamp ou sans TS qui est ka facon de ce connecter :/
'fin la j'ai reussi a avoir un pingtimout ca avance petit a petit =)


RE: Aide Link - Merwin - 31/01/2010

TS = TimeStamp Smile


RE: Aide Link - SpereD - 31/01/2010

Je t'avouerais que la je suis paumé, a force de modifié le code avec ce que je lis, ce que je crois comprendre et tout, j'arrive meme plus a récupérer cette erreur

je pense tout reprendre a zéro et puis tout refaire petit a petit, mais Pfiou, pas evident ce type de connection


RE: Aide Link - Merwin - 31/01/2010

C'est beaucouo plus compliqué que ça en a l'air, parceque il se pose de nombreuse soucis, par exemple:

1) Un utilisateur 'Merwin' est op sur #eggdrop
2) Deux serveurs splits
3) Sur le serveur de Merwin, il est op sur #eggdrop
4) Entre temps, l'utilisateur Spered se fait Op sur #eggdrop
5) Les deux serveur sont linkés à nouveau

Alors la, il se passe quoi, qui est op finalement? Est-ce que merwin, qui était déjà op avant doit le rester? Et est-ce que Spered qui ne l'étais pas doit se faire deop? Ou alors on les laisse tous les deux deops? Quel serveur a "raison"?

C'est ce genre de soucis qui sont résolus dans le protocole, mais les expliquer en détail ici me prendrait trop de temps !
Donc lis la doc, relis-la, comprends, c'est pas évident mais ça viendra ,-)


RE: Aide Link - SpereD - 31/01/2010

bé en faites, je t'explique le truc, j'essaye de mettre a niveau un tcl deja existant( avec l'accord de son créateur biensur) pour qu'il puisse ce connecter a Inspircd1.2, a compté qu'il ce connecte tres bien sous Unreal, et que je trouvais dommage de l'avoir laisser a l'abandon car c'est un tres bon service. donc en gros tout ces " problemes" sont a mon avis deja résolu avec la version actuel pour Unreal, le tout est de l'adapter. Il s'agit d'un TCL de Tisma. Apres, si il n'est pas trop bugger, je lui enverrais et libre a lui de le mettre en dll ou pas, mais j'aimerais au moins reussir a le faire ce connecter.

A savoir que j'arrive a faire l'ADDLINE, il me reste a faire venir le socket sur le serveur apres jpense avoir vu les commandes

Quand je lis les explication sur le site, ca donne
Code :
:<uuid> NICK <newnick> <timestamp>
et voila ce que donne mon tcl
tcl
putdcc $::insp(idx) ":$::insp(link) :874 NICK $::insp(pseudo) [unixtime]\r"



qui me donne l'erreur suivante
Code :
•• Notice serveur : *** LINK: Verified incoming server connection from mon.link.tls[Ip.DuLink.tls] (Info du link)
•• Notice serveur : *** LINK: Bursting to mon.link.tls (Authentication: plaintext password).
•• Notice serveur : *** LINK: Finished bursting to mon.link.tls.
•• Notice serveur : *** LINK: Sent ERROR to mon.link.tls: Unrecognised or malformed command '897 NICK Le_Pseudo 1264960937' -- possibly loaded mismatched modules
•• Notice serveur : *** LINK: Server mon.link.tls split: Remote host closed the connection
•• Notice serveur : *** LINK: Netsplit complete, lost 0 users on 1 servers.
•• Notice serveur : *** LINK: Connection to 'mon.link.tls' failed.



RE: Aide Link - Merwin - 31/01/2010

Cette version de NICK sert pour changer de pseudo, pas pour connecter une user Smile
De plus l'UID tu ne peux pas le choisir arbitrairement, tu dois le générer selon des calculs précis, comme écrit dans la doc.