Problème de port déjà utilisé
#1
Pour ceux qui seraient confrontés aux problèmes, lors d'un rehash ou restart de l'eggdrop suivant :


Citation :this port is already bound to a specific IP on this machine, remove it before trying to bind to all interfaces



Voici une modification à apporter dans la conf de l'eggdrop à l'emplacement du listen :

Si on prends pour exemple : 


tcl
listen 3334 all




Il faut ajouter une petite condition pour éviter que le bot se crash en essayent de ré utiliser un port déjà utilisé.


tcl
if { ![string match *3334* [dcclist telnet]] } {
    listen 3334 all
}


  Répondre
#2
Le souci est bien que l'eggdrop tente de remettre ce port en écoute trop vite (avant de l'avoir fermé ?)
Je ne l'ai jamais reproduit, mais je n'utilise jamais les ports en all, ce qui peut être une des causes, quelle que soit la version d'eggdrop (de 1.6.21 à 1.9).

Question à 0.30€ : avec cette modification, est-ce que le port reste accessible pour les nouvelles connexions après le rehash/restart ?
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
  Répondre
#3
Je vois pas comment répondre avec exactitude à ta question, mais oui le port est toujours accessible, je n'ai plus aucune erreur, l'eggdrop ne plante plus.
  Répondre
#4
(25/05/2021, 15:53)CrazyCat a écrit : Question à 0.30€ : avec cette modification, est-ce que le port reste accessible pour les nouvelles connexions après le rehash/restart ?
La question qui me viens dans le cadre du "bug" est si cette méthode corrige le bug si le soucis est :
(25/05/2021, 15:53)CrazyCat a écrit : Le souci est bien que l'eggdrop tente de remettre ce port en écoute trop vite (avant de l'avoir fermé ?)
car si le port ce remet en ecoute trop vite lors du rehash, nous pouvons imaginer que le port qui est déjà en écoute ce ferme peu apres.
Lorsque
tcl
if { ![string match *3334* [dcclist telnet]] } {
    listen 3334 all
}


est exécuté, si le port est "encore ouvert" il ne le réouvrira pas a ca fermeture un peu plus tard.

si ce n'ai pas le cas; il est possible que eggdrop essaye d'ouvrire les listens avant de charger la conf/tcl
  Répondre
#5
En fait, il y a deux cas de figure:
1. Lors d'un rehash/restart, si le port est en cours d'utilisation (utilisateur connecté sur le port), l'eggdrop ne le referme pas. Dans ce cas, l'astuce donnée par AmC est ok.
2. L'eggdrop ferme le port "trop tard", et dans ce cas il n'est plus ouvert ensuite. Dans ce cas, je serai d'avis de dupliquer l'astuce: l'avoir où elle est et aussi dans la procédure evnt:init_server pour ouvrir le port lorsque l'eggdrop est connecté sur le serveur

Quitte à créer une (ou des) variable(s) pour les ports, comme je l'ai fait dans ma configuration multi-eggdrops
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
  Répondre


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  [Résolu] "Error no telnet port" Pikaonch 1 3,790 09/02/2011, 15:29
Dernier message: Pikaonch

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)