# AUTOCONNECT în Server-to-Server Linking ## ❓ ÎNTREBAREA TA **"În configurația actuală am autoconnect la link către HUB?"** --- ## ✅ RĂSPUNS: DA! **DA, configurația ta are `autoconnect = yes;` activat automat!** --- ## 📋 CE ESTE AUTOCONNECT? **`autoconnect`** este o setare în blocul `Connect {}` care face ca serverul tău să se **reconecteze automat** la serverul HUB dacă conexiunea se pierde. --- ## 🔍 UNDE E CONFIGURAT? În `install.sh` linia **1055**, când generează blocul Connect: ```bash print " autoconnect = yes;" ``` **Rezultat în `ircd.conf`:** ```conf Connect { name = "HUB.UnderChat.org"; host = "10.0.0.1"; password = "parola-link"; port = 4400; class = "Server"; autoconnect = yes; ← AICI! ✅ hub; }; ``` --- ## 🎯 CE FACE AUTOCONNECT? ### **Cu `autoconnect = yes;`:** 1. ✅ Serverul pornește → **Conectează automat** la HUB 2. ✅ Conexiune pierdută (netsplit) → **Reconectează automat** după un interval 3. ✅ HUB restart → Serverul tău **reincearcă conexiunea** automat 4. ✅ **NU trebuie** să conectezi manual cu `/CONNECT` ### **Fără `autoconnect` (sau `autoconnect = no;`):** 1. ❌ Serverul pornește → **NU se conectează** automat 2. ❌ Conexiune pierdută → **NU reconectează** automat 3. ❌ Trebuie **manual**: `/CONNECT HUB.UnderChat.org 4400` --- ## 📊 CONFIGURAȚIA TA ACTUALĂ **În `install.sh`** (generat automat): ```conf Connect { name = "HUB.UnderChat.org"; # Numele serverului HUB host = "10.0.0.1"; # IP-ul HUB-ului password = "parola-link"; # Parola pentru link port = 4400; # Port server-to-server class = "Server"; # Clasa de conexiune autoconnect = yes; # ✅ ACTIVAT AUTOMAT! hub; # Marchează ca HUB }; ``` --- ## ⏱️ INTERVAL RECONECTARE Intervalul de reconectare este controlat de: **În Class "Server":** ```conf Class { name = "Server"; pingfreq = 1 minutes 30 seconds; # Verificare conexiune connectfreq = 5 minutes; # Interval reconectare ← AICI! maxlinks = 1; # Maxim 1 conexiune sendq = 9000000; # Queue de send }; ``` **`connectfreq = 5 minutes;`** înseamnă: - După **5 minute** de la pierderea conexiunii - Serverul **încearcă automat reconectarea** la HUB --- ## 👁️ DE CE NU VEZI AUTOCONNECT ÎN STATUS? **PROBLEMA:** Nu vezi mesaje de genul: ``` *** Trying autoconnect to HUB... *** Link with HUB established ``` **CAUZA:** Lipsește **SNO_OLDSNO (1)** din snomask! **SOLUȚIE:** Trebuie să ai `snomask = 157445;` (nu 157445) ### **Calcul corect pentru a vedea TOTUL:** | Bit | Hex | Nume | Descriere | |-----|-----|------|-----------| | **1** | **0x1** | **SNO_OLDSNO** | **Link messages** (autoconnect) ⭐ | | 4 | 0x4 | SNO_OPERKILL | Oper kills | | 256 | 0x100 | SNO_HACK4 | OPMODE | | 512 | 0x200 | SNO_GLINE | G-lines | | 1024 | 0x400 | SNO_NETWORK | Server connects (Net junction) | | 8192 | 0x2000 | SNO_OLDREALOP | Oper changes | | 16384 | 0x4000 | SNO_CONNEXIT | Client connects | | 131072 | 0x20000 | SNO_NICKCHG | Nick changes | **TOTAL:** 1 + 4 + 256 + 512 + 1024 + 8192 + 16384 + 131072 = **157445** ### **Configurație corectă pentru a vedea autoconnect:** ```conf Operator { name = "Username"; snomask = 157445; ← Include SNO_OLDSNO pentru link messages! ✅ }; ``` ### **Ce vei vedea ACUM:** ```irc # Când serverul încearcă autoconnect: [14:05] -irc.server.org- *** Notice -- Link with HUB.UnderChat.org[10.0.0.1] established # Când conexiunea reușește: [14:05] -irc.server.org- *** Notice -- Net junction: YourServer HUB.UnderChat.org # Când conexiunea se pierde: [14:10] -irc.server.org- *** Notice -- Link with HUB.UnderChat.org canceled: Connection lost # După 5 minute, încearcă din nou: [14:15] -irc.server.org- *** Notice -- Link with HUB.UnderChat.org[10.0.0.1] established ``` --- ## 🔧 MODIFICARE AUTOCONNECT ### **Dezactivare autoconnect (NU recomandat):** ```bash nano /home/ircd/ircd/lib/ircd.conf # Găsește blocul Connect și schimbă: Connect { name = "HUB.UnderChat.org"; host = "10.0.0.1"; password = "parola-link"; port = 4400; class = "Server"; autoconnect = no; ← Schimbat de la yes la no hub; }; # Salvează: Ctrl+O, Enter, Ctrl+X # Restart: pkill ircd && /home/ircd/ircd/bin/ircd -f /home/ircd/ircd/lib/ircd.conf ``` ### **Schimbare interval reconectare:** ```bash nano /home/ircd/ircd/lib/ircd.conf # Găsește Class "Server" și schimbă: Class { name = "Server"; pingfreq = 1 minutes 30 seconds; connectfreq = 2 minutes; ← Schimbat de la 5 la 2 minute maxlinks = 1; sendq = 9000000; }; # Salvează și restart ``` --- ## 🎮 TESTARE AUTOCONNECT ### **Test 1: Verifică configurația:** ```bash grep -A 10 "Connect {" /home/ircd/ircd/lib/ircd.conf | grep autoconnect ``` **Output așteptat:** ``` autoconnect = yes; ✅ ``` ### **Test 2: Pornește serverul:** ```bash /home/ircd/ircd/bin/ircd -f /home/ircd/ircd/lib/ircd.conf tail -f /home/ircd/ircd/log/ircd.log ``` **Ar trebui să vezi:** ``` [INFO] Attempting autoconnect to HUB.UnderChat.org [INFO] Connected to HUB.UnderChat.org ``` ### **Test 3: Simulează netsplit:** ```bash # Pe HUB, ca oper: /SQUIT LeafServer :Test netsplit # Așteaptă 5 minute (connectfreq) # Serverul tău va încerca automat reconectarea! ``` **În log ar trebui:** ``` [INFO] Connection to HUB lost [INFO] Waiting 5 minutes before reconnect attempt [INFO] Attempting autoconnect to HUB.UnderChat.org [INFO] Connected to HUB.UnderChat.org ``` --- ## 📋 COMPARAȚIE | Aspect | `autoconnect = yes;` | `autoconnect = no;` | |--------|---------------------|---------------------| | **La pornire** | ✅ Conectează automat | ❌ NU conectează | | **După netsplit** | ✅ Reconectează automat | ❌ NU reconectează | | **Interval** | Folosește `connectfreq` | N/A | | **Comandă manuală** | Nu e necesară | Necesită `/CONNECT` | | **Recomandare** | ✅ **RECOMANDAT** | ❌ Nu pentru production | --- ## 💡 RECOMANDĂRI ### **Pentru Servere LEAF (non-HUB):** ✅ **Păstrează `autoconnect = yes;`** - RECOMANDAT! - Serverul se reconectează automat la HUB - Reduce downtime-ul rețelei - Nu necesită intervenție manuală ### **Pentru Servere HUB:** ⚠️ **Depinde de topologie:** - Dacă HUB-ul se conectează la alt HUB superior → `autoconnect = yes;` - Dacă HUB-ul este root (top-level) → `autoconnect = no;` sau fără Connect blocks ### **Interval reconectare:** ✅ **`connectfreq = 5 minutes;`** - Interval bun pentru production - Nu prea des (evită spam) - Nu prea rar (reduce downtime) - Balanță între performanță și disponibilitate --- ## 🎯 CONCLUZIE ### **DA, ai autoconnect activat! ✅** **Configurația ta:** ```conf Connect { autoconnect = yes; ← ACTIVAT AUTOMAT! connectfreq = 5 minutes; ← Interval reconectare }; ``` **CE ÎNSEAMNĂ:** - ✅ Serverul se **conectează automat** la HUB la pornire - ✅ Se **reconectează automat** după netsplit - ✅ Interval reconectare: **5 minute** - ✅ **NU trebuie** intervenție manuală **RECOMANDARE:** ✅ **Păstrează așa!** Este configurația ideală pentru servere production! --- ## 📚 REFERINȚE **Documentație:** - `doc/example.conf` - Exemplu Connect block - `install.sh` linia 1055 - Generare autoconnect **Features Related:** - `CONNECTFREQUENCY` în features - `MAXIMUM_LINKS` în Class Server **Comenzi IRC:** - `/CONNECT server.name port` - Conectare manuală - `/SQUIT server :reason` - Deconectare server - `/STATS c` - Vezi Connect blocks (ca oper) --- **Versiune**: v1.7.5 **Data**: 15 Februarie 2026 **Status**: ✅ AUTOCONNECT ACTIVAT în configurație! **Interval**: 5 minute (connectfreq)