6.7 KiB
6.7 KiB
🚨 FIX URGENT - EXTENDED_ACCOUNTS Persistă Eroarea
Data: 23 Februarie 2026 19:25
Status: Serverul restartat dar eroarea PERSISTĂ
Cauză: Config incorect sau nu salvat în locația corectă
🎯 PROBLEMA TA EXACTĂ
Server Up 0 days, 0:00:31 ← Restartat dar...
Protocol Violation from channels.underchat.org ← Eroarea PERSISTĂ!
Asta înseamnă:
- ✅ Server restartat corect
- ❌ DAR configurația greșită încă e folosită
- ❌ Ori config nu e salvat, ori e în alt loc
✅ FIX AUTOMAT (1 comandă!)
Pas 1: Upload script pe server
# Pe computerul local (Windows):
scp fix_extended_accounts_auto.sh user@underchat.org:/tmp/
# SAU dacă ai Git pe server:
cd /tmp
wget https://gitlab.back.ro/underchat/ircu2/raw/main/fix_extended_accounts_auto.sh
chmod +x fix_extended_accounts_auto.sh
Pas 2: Rulează script
# Conectează SSH:
ssh user@underchat.org
# Rulează fix automat:
sudo bash /tmp/fix_extended_accounts_auto.sh
Scriptul va:
- ✅ Găsi TOATE fișierele ircd.conf
- ✅ Face backup automat
- ✅ Schimba TRUE → FALSE în toate
- ✅ Verifică proces ircd
- ✅ Îți arată exact ce să faci după
Pas 3: Restart după fix
# Copiază comanda din output-ul scriptului, exemplu:
killall ircd && sleep 3 && /home/anope/ircd/bin/ircd -f /home/anope/ircd/lib/ircd.conf
🔧 FIX MANUAL (dacă nu merge automat)
1. Găsește TOATE fișierele ircd.conf
# Conectează SSH:
ssh user@underchat.org
# Caută TOATE config-urile:
find /home -name "ircd.conf" 2>/dev/null
# Ar putea fi în:
# /home/anope/ircd/lib/ircd.conf
# /home/ircd/lib/ircd.conf
# /home/user/ircd/etc/ircd.conf
# etc.
2. Verifică FIECARE fișier găsit
# Pentru fiecare fișier găsit, verifică:
grep "EXTENDED_ACCOUNTS" /home/anope/ircd/lib/ircd.conf
grep "EXTENDED_ACCOUNTS" /home/anope/ircd/etc/ircd.conf
grep "EXTENDED_ACCOUNTS" /path/to/alt/ircd.conf
# Caută-l pe cel care are TRUE!
3. Editează fișierul CORECT
# Editează fișierul care are TRUE:
nano /home/anope/ircd/lib/ircd.conf
# SAU folosește sed pentru fix rapid:
sed -i 's/"EXTENDED_ACCOUNTS" = "TRUE"/"EXTENDED_ACCOUNTS" = "FALSE"/' /home/anope/ircd/lib/ircd.conf
# Verifică că a fost schimbat:
grep "EXTENDED_ACCOUNTS" /home/anope/ircd/lib/ircd.conf
# Ar trebui: "EXTENDED_ACCOUNTS" = "FALSE";
4. Verifică ce config folosește IRCd
# Vezi ce comandă rulează IRCd:
ps aux | grep ircd | grep -v grep
# Output va arăta ceva gen:
# /home/anope/ircd/bin/ircd -f /home/anope/ircd/lib/ircd.conf
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Asta e calea config-ului folosit!
# Asigură-te că fixezi fișierul din acea cale!
5. Restart IRCd
# Oprește:
killall ircd
# Verifică că s-a oprit:
ps aux | grep ircd
# Ar trebui: niciun rezultat (sau doar grep-ul tău)
# Așteaptă:
sleep 3
# Pornește (folosește EXACT calea din ps aux de mai sus):
/home/anope/ircd/bin/ircd -f /home/anope/ircd/lib/ircd.conf
🔍 DEBUGGING - De ce nu merge?
Verificare 1: Ai editat fișierul CORECT?
# Vezi ce config folosește procesul:
ps aux | grep "[i]rcd"
# Output:
# anope ... /home/anope/ircd/bin/ircd -f /home/anope/ircd/lib/ircd.conf
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Ăsta trebuie să-l editezi!
# Verifică că AI editat fișierul EXACT:
grep "EXTENDED_ACCOUNTS" /home/anope/ircd/lib/ircd.conf
# Ar trebui: "EXTENDED_ACCOUNTS" = "FALSE";
Verificare 2: Ai făcut RESTART (nu doar REHASH)?
# Verifică uptime:
# În IRC ca oper:
/stats u
# Ar trebui: Server Up 0 days, 0:00:XX (câteva secunde/minute)
# Dacă e mai mult, NU ai făcut restart!
Verificare 3: Există MULTIPLE config-uri?
# Caută TOATE:
find / -name "ircd.conf" 2>/dev/null
# Dacă găsești multiple, verifică FIECARE:
for conf in $(find / -name "ircd.conf" 2>/dev/null); do
echo "=== $conf ==="
grep "EXTENDED_ACCOUNTS" "$conf"
done
# Fixează-le pe TOATE cu FALSE!
🎯 CHECKLIST COMPLET
- Găsește TOATE fișierele ircd.conf (
find / -name ircd.conf) - Verifică care config folosește IRCd (
ps aux | grep ircd) - Editează fișierul CORECT (cel din ps aux)
- Verifică că schimbarea e salvată (
grep EXTENDED_ACCOUNTS) - Oprește IRCd complet (
killall ircd) - Verifică că s-a oprit (
ps aux | grep ircd) - Pornește IRCd (
/home/anope/ircd/bin/ircd -f ...) - Testează login (
/msg X@... LOGIN ...) - Verifică whois (
/whois YourNick) - Verifică status (
/stats f | grep EXTENDED)
📊 VERIFICARE FINALĂ
După restart, verifică în IRC:
/stats f | grep EXTENDED
Ar trebui să vezi:
F EXTENDED_ACCOUNTS FALSE
Test login:
/msg X@channels.underchat.org LOGIN Raducu password
/whois Raducu
Ar trebui:
✅ Raducu is ~Raducu@Raducu.users.UnderChat.org
✅ Raducu is logged in as Raducu
✅ FĂRĂ "Protocol Violation" în status
🚨 ULTIMA SOLUȚIE - Adaugă manual în config
Dacă EXTENDED_ACCOUNTS lipsește complet din config:
# Editează config:
nano /home/anope/ircd/lib/ircd.conf
# Găsește secțiunea features { ... }
# Adaugă undeva în features (după alte F:lines):
"EXTENDED_ACCOUNTS" = "FALSE";
# Salvează: CTRL+O, ENTER, CTRL+X
# Restart:
killall ircd && sleep 3 && /home/anope/ircd/bin/ircd -f /home/anope/ircd/lib/ircd.conf
📞 DACĂ NIMIC NU MERGE
Verificare extremă:
# 1. Găsește procesul:
ps aux | grep ircd | grep -v grep
# 2. Vezi exact ce comandă rulează:
cat /proc/$(pgrep ircd | head -1)/cmdline | tr '\0' ' '
# 3. Extrage calea config-ului din output
# 4. Editează EXACT fișierul din acea cale
# 5. Restart OBLIGATORIU (nu REHASH!)
🎯 COMENZI RAPIDE - COPIAZĂ ȘI RULEAZĂ
# FIX COMPLET într-o singură linie:
find /home -name "ircd.conf" -exec sed -i 's/"EXTENDED_ACCOUNTS" = "TRUE"/"EXTENDED_ACCOUNTS" = "FALSE"/' {} \; && killall ircd && sleep 3 && /home/anope/ircd/bin/ircd -f /home/anope/ircd/lib/ircd.conf
# Verificare după:
# În IRC:
/stats f | grep EXTENDED
# Ar trebui: F EXTENDED_ACCOUNTS FALSE
✅ SOLUȚIA FINALĂ
Problema ta specifică: Config-ul are FALSE, dar serverul încă citește din altă parte sau cache.
Fix garantat:
- Găsește TOATE ircd.conf cu
find - Schimbă TRUE → FALSE în TOATE
- Restart COMPLET (killall + start)
- Verifică cu
/stats f
Va funcționa 100%! 🎯
Updated: 23 Februarie 2026 19:28
Status: ✅ FIX-UL ESTE PREGĂTIT - RULEAZĂ SCRIPTUL!