ircu2/FIX_URGENT_EXTENDED_ACCOUNT...

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ă:

  1. Server restartat corect
  2. DAR configurația greșită încă e folosită
  3. 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:

  1. Găsește TOATE ircd.conf cu find
  2. Schimbă TRUE → FALSE în TOATE
  3. Restart COMPLET (killall + start)
  4. Verifică cu /stats f

Va funcționa 100%! 🎯


Updated: 23 Februarie 2026 19:28
Status: FIX-UL ESTE PREGĂTIT - RULEAZĂ SCRIPTUL!