🔧 FIX DOCUMENTAȚIE: Comenzi SVS* marcate ca NEFUNCȚIONALE
⚠️ CORECȚIE CRITICĂ în documentație! 🐛 PROBLEMA: Documentația menționa că SVS* commands sunt 'active' DAR ele NU FUNCȚIONEAZĂ în realitate! Comenzi afectate: - SVSJOIN ❌ - SVSPART ❌ - SVSNICK ❌ - SVSMODE ❌ - SVSIDENT ❌ - SVSQUIT ❌ - SWHOIS ❌ 🔍 CAUZA: - Codul EXISTĂ în m_svs*.c files ✅ - Fișierele sunt compilate ✅ - DAR comenzile NU sunt ÎNREGISTRATE în parse.c ❌ - Parser-ul NU ȘTIE de aceste comenzi ❌ - Rezultat: 'Unknown command' când le folosești ❌ ✅ MODIFICĂRI DOCUMENTAȚIE: 1. Secțiunea 'Comenzi Services': - Marcate TOATE SVS* ca ❌ NEFUNCȚIONALE - Adăugat WARNING că există cod dar nu e activ - Explicat că trebuie înregistrate în parse.c 2. Statistici actualizate: - Comenzi Oper: ~30 funcționale (în loc de ~40) - Comenzi SVS*: ~8 nefuncționale (separate) - TOTAL funcțional: ~105 (corect) 3. Secțiune VIITOARE: - SVS* commands mutate în PRIORITATE MAXIMĂ - Explicat cum se activează (parse.c registration) - Efort: SCĂZUT (doar înregistrare parser) - Impact: MARE (esențial pentru servicii) 4. Secțiune nouă 'ATENȚIE': - Explicație detaliată DE CE nu funcționează - Pași pentru activare (verificare + modificare + recompilare) - Impact: Servicii IRC (X, ChanServ) NU pot controla users 📊 IMPACT: - Users știu EXACT ce funcționează - NU mai sunt confuzi când SVS* returnează 'Unknown command' - Admini știu ce trebuie făcut pentru activare - Developeri văd că e prioritate mare (cod există!) 🎯 VIITOR: Pentru v2.1.0 sau v2.0.2: - Activare SVS* commands (înregistrare în parse.c) - Testare cu servicii IRC (Anope/Atheme) - Update documentație când funcționează ⚠️ NOTĂ PENTRU ADMINI: Dacă folosești servicii IRC (X, ChanServ), acestea POT să nu funcționeze corect fără SVS* commands! Alternative temporare: - Folosește OPMODE pentru channel management - Folosește KILL pentru force disconnect - Serviciile pot folosi PRIVMSG pentru comunicare Status: ✅ DOCUMENTAȚIE CORECTATĂ
This commit is contained in:
parent
611033b63a
commit
1231500159
|
|
@ -585,67 +585,93 @@ Tipuri disponibile:
|
|||
|
||||
### Comenzi Services
|
||||
|
||||
#### **SVSJOIN** - Force user to join channel
|
||||
⚠️ **ATENȚIE**: Majoritatea comenzilor SVS* **NU SUNT ACTIVE** în versiunea curentă!
|
||||
Fișierele `m_svs*.c` există dar **NU sunt înregistrate în parse.c**, deci comenzile **NU FUNCȚIONEAZĂ**!
|
||||
|
||||
#### **SVSJOIN** - Force user to join channel ❌ NU FUNCȚIONEAZĂ
|
||||
```
|
||||
/SVSJOIN <nickname> <#channel>
|
||||
```
|
||||
- Forțează user să intre pe canal
|
||||
- **Fișier**: `m_svsjoin.c`
|
||||
- **Privilegiu**: PRIV_CHAN_LIMIT
|
||||
- **Fișier**: `m_svsjoin.c` (există dar NU e înregistrat în parser)
|
||||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||||
|
||||
#### **SVSPART** - Force user to part channel
|
||||
#### **SVSPART** - Force user to part channel ❌ NU FUNCȚIONEAZĂ
|
||||
```
|
||||
/SVSPART <nickname> <#channel>
|
||||
```
|
||||
- Forțează user să părăsească canalul
|
||||
- **Fișier**: `m_svspart.c`
|
||||
- **Privilegiu**: PRIV_CHAN_LIMIT
|
||||
- **Fișier**: `m_svspart.c` (există dar NU e înregistrat în parser)
|
||||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||||
|
||||
#### **SVSNICK** - Force nick change
|
||||
#### **SVSNICK** - Force nick change ❌ NU FUNCȚIONEAZĂ
|
||||
```
|
||||
/SVSNICK <old_nick> <new_nick> [<timestamp>]
|
||||
```
|
||||
- Forțează schimbare de nickname
|
||||
- **Fișier**: `m_svsnick.c`
|
||||
- **Privilegiu**: PRIV_CHAN_LIMIT
|
||||
- **Fișier**: `m_svsnick.c` (există dar NU e înregistrat în parser)
|
||||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||||
|
||||
#### **SVSMODE** - Force mode change
|
||||
#### **SVSMODE** - Force mode change ❌ NU FUNCȚIONEAZĂ
|
||||
```
|
||||
/SVSMODE <target> <modes>
|
||||
```
|
||||
- Forțează schimbare moduri user/canal
|
||||
- **Fișier**: `m_svsmode.c`
|
||||
- **Privilegiu**: PRIV_CHAN_LIMIT
|
||||
- **Fișier**: `m_svsmode.c` (există dar NU e înregistrat în parser)
|
||||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||||
|
||||
#### **SVSIDENT** - Set ident
|
||||
#### **SVSIDENT** - Set ident ❌ NU FUNCȚIONEAZĂ
|
||||
```
|
||||
/SVSIDENT <nickname> <ident>
|
||||
```
|
||||
- Setează ident pentru user
|
||||
- **Fișier**: `m_svsident.c`
|
||||
- **Fișier**: `m_svsident.c` (există dar NU e înregistrat în parser)
|
||||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||||
|
||||
#### **SVSQUIT** - Force user quit
|
||||
#### **SVSQUIT** - Force user quit ❌ NU FUNCȚIONEAZĂ
|
||||
```
|
||||
/SVSQUIT <nickname> :<reason>
|
||||
```
|
||||
- Forțează user să se deconecteze
|
||||
- **Fișier**: `m_svsquit.c`
|
||||
- **Fișier**: `m_svsquit.c` (există dar NU e înregistrat în parser)
|
||||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||||
|
||||
#### **SWHOIS** - Set special whois line
|
||||
#### **SWHOIS** - Set special whois line ❌ NU FUNCȚIONEAZĂ
|
||||
```
|
||||
/SWHOIS <nickname> :<text>
|
||||
```
|
||||
- Setează linie specială în WHOIS
|
||||
- **Fișier**: `m_swhois.c`
|
||||
- **Privilegiu**: PRIV_CHAN_LIMIT
|
||||
- **Fișier**: `m_swhois.c` (există dar NU e înregistrat în parser)
|
||||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||||
|
||||
#### **SETHOST** - Set virtual host
|
||||
#### **SVSINFO** - Services info ⚠️ PARȚIAL
|
||||
```
|
||||
/SVSINFO <params>
|
||||
```
|
||||
- Informații despre servicii
|
||||
- **Fișier**: `m_svsinfo.c`
|
||||
- **Status**: ⚠️ **PROTOCOL INTERN** - Folosit între servere și servicii
|
||||
|
||||
#### **SVSNOOP** - Services noop ⚠️ PARȚIAL
|
||||
```
|
||||
/SVSNOOP <params>
|
||||
```
|
||||
- Services no-op command
|
||||
- **Fișier**: `m_svsnoop.c`
|
||||
- **Status**: ⚠️ **PROTOCOL INTERN** - Folosit între servere
|
||||
|
||||
---
|
||||
|
||||
### Comenzi Administrative (FUNCȚIONALE)
|
||||
|
||||
#### **SETHOST** - Set virtual host ✅ FUNCȚIONEAZĂ
|
||||
```
|
||||
/SETHOST <new_host>
|
||||
```
|
||||
- Schimbă hostname-ul virtual
|
||||
- **Fișier**: `m_sethost.c`
|
||||
- **Privilegiu**: PRIV_FREEFORM
|
||||
- **Status**: ✅ **FUNCȚIONAL**
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -1062,33 +1088,106 @@ Acestea sunt comenzi interne folosite între servere în protocol:
|
|||
- Actions: kill, gline, block, warn
|
||||
- **Status**: NU IMPLEMENTAT (complex)
|
||||
|
||||
#### **SAJOIN** - Force join
|
||||
---
|
||||
|
||||
### Comenzi Services (SVS*) - PRIORITATE ÎNALTĂ! ⚠️
|
||||
|
||||
⚠️ **CRITICAL**: Aceste comenzi **EXISTĂ în cod** (`m_svs*.c`) dar **NU sunt activate**!
|
||||
Trebuie **înregistrate în parse.c** pentru a funcționa!
|
||||
|
||||
#### **SVSJOIN** - Force user to join channel
|
||||
```
|
||||
/SVSJOIN <nickname> <#channel>
|
||||
```
|
||||
- Forțează user să intre pe canal
|
||||
- **Fișier**: `m_svsjoin.c` ✅ EXISTĂ
|
||||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||||
- **Fix**: Adaugă în parse.c tabel MSG
|
||||
|
||||
#### **SVSPART** - Force user to part channel
|
||||
```
|
||||
/SVSPART <nickname> <#channel>
|
||||
```
|
||||
- Forțează user să părăsească canalul
|
||||
- **Fișier**: `m_svspart.c` ✅ EXISTĂ
|
||||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||||
|
||||
#### **SVSNICK** - Force nick change
|
||||
```
|
||||
/SVSNICK <old_nick> <new_nick> [<timestamp>]
|
||||
```
|
||||
- Forțează schimbare de nickname
|
||||
- **Fișier**: `m_svsnick.c` ✅ EXISTĂ
|
||||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||||
|
||||
#### **SVSMODE** - Force mode change
|
||||
```
|
||||
/SVSMODE <target> <modes>
|
||||
```
|
||||
- Forțează schimbare moduri user/canal
|
||||
- **Fișier**: `m_svsmode.c` ✅ EXISTĂ
|
||||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||||
|
||||
#### **SVSIDENT** - Set ident
|
||||
```
|
||||
/SVSIDENT <nickname> <ident>
|
||||
```
|
||||
- Setează ident pentru user
|
||||
- **Fișier**: `m_svsident.c` ✅ EXISTĂ
|
||||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||||
|
||||
#### **SVSQUIT** - Force user quit
|
||||
```
|
||||
/SVSQUIT <nickname> :<reason>
|
||||
```
|
||||
- Forțează user să se deconecteze
|
||||
- **Fișier**: `m_svsquit.c` ✅ EXISTĂ
|
||||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||||
|
||||
#### **SWHOIS** - Set special whois line
|
||||
```
|
||||
/SWHOIS <nickname> :<text>
|
||||
```
|
||||
- Setează linie specială în WHOIS
|
||||
- **Fișier**: `m_swhois.c` ✅ EXISTĂ
|
||||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||||
|
||||
**📝 NOTĂ**: Pentru a activa comenzile SVS*, trebuie:
|
||||
1. Verificat că fișierele m_svs*.c sunt compilate în Makefile
|
||||
2. Adăugat entries în parse.c (MSG table)
|
||||
3. Recompilat IRCd
|
||||
|
||||
---
|
||||
|
||||
### Aliasuri Simple
|
||||
|
||||
#### **SAJOIN** - Force join (alias)
|
||||
```
|
||||
/SAJOIN <nickname> <#channel>
|
||||
```
|
||||
- Alias pentru SVSJOIN
|
||||
- **Status**: POATE FI ADĂUGAT (alias simplu)
|
||||
- **Status**: DEPINDE DE SVSJOIN
|
||||
|
||||
#### **SAPART** - Force part
|
||||
#### **SAPART** - Force part (alias)
|
||||
```
|
||||
/SAPART <nickname> <#channel>
|
||||
```
|
||||
- Alias pentru SVSPART
|
||||
- **Status**: POATE FI ADĂUGAT
|
||||
- **Status**: DEPINDE DE SVSPART
|
||||
|
||||
#### **SANICK** - Force nick change
|
||||
#### **SANICK** - Force nick change (alias)
|
||||
```
|
||||
/SANICK <old_nick> <new_nick>
|
||||
```
|
||||
- Alias pentru SVSNICK
|
||||
- **Status**: POATE FI ADĂUGAT
|
||||
- **Status**: DEPINDE DE SVSNICK
|
||||
|
||||
#### **SAMODE** - Force mode
|
||||
#### **SAMODE** - Force mode (alias)
|
||||
```
|
||||
/SAMODE <target> <modes>
|
||||
```
|
||||
- Alias pentru SVSMODE
|
||||
- **Status**: POATE FI ADĂUGAT
|
||||
- **Status**: DEPINDE DE SVSMODE
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -1323,16 +1422,20 @@ ACCOUNT <nickname> <account>
|
|||
|
||||
### Statistici Comenzi
|
||||
|
||||
- **Comenzi User**: ~50 comenzi disponibile
|
||||
- **Comenzi Oper**: ~40 comenzi administrative
|
||||
- **Comenzi Server**: ~25 comenzi interne
|
||||
- **Comenzi Services**: ~10 comenzi SVS*
|
||||
- **Comenzi User**: ~50 comenzi disponibile ✅
|
||||
- **Comenzi Oper**: ~30 comenzi administrative ✅ **FUNCȚIONALE**
|
||||
- **Comenzi SVS***: ~8 comenzi ❌ **NEFUNCȚIONALE** (există cod dar NU sunt activate)
|
||||
- **Comenzi Server**: ~25 comenzi interne ✅
|
||||
- **TOTAL Funcțional**: ~105 comenzi active
|
||||
|
||||
⚠️ **NOTĂ IMPORTANTĂ**: Comenzile SVS* (SVSJOIN, SVSPART, SVSNICK, etc.) **NU FUNCȚIONEAZĂ** în versiunea curentă!
|
||||
Codul există în fișiere `m_svs*.c` dar comenzile **NU sunt înregistrate în parse.c**!
|
||||
|
||||
### Statistici Moduri
|
||||
|
||||
- **User Modes**: 15+ moduri disponibile
|
||||
- **Channel Modes**: 30+ moduri disponibile
|
||||
- **Extended Bans**: 5+ tipuri
|
||||
- **User Modes**: 15+ moduri disponibile ✅
|
||||
- **Channel Modes**: 30+ moduri disponibile ✅
|
||||
- **Extended Bans**: 5+ tipuri ✅
|
||||
|
||||
### Features Majore
|
||||
|
||||
|
|
@ -1349,6 +1452,16 @@ ACCOUNT <nickname> <account>
|
|||
|
||||
## 🚀 DEZVOLTARE VIITOARE
|
||||
|
||||
### Prioritate MAXIMĂ ⚠️ (Cod există, trebuie activat!)
|
||||
|
||||
1. **SVS* Commands** - Services commands
|
||||
- SVSJOIN, SVSPART, SVSNICK, SVSMODE
|
||||
- SVSIDENT, SVSQUIT, SWHOIS
|
||||
- **Status**: Cod există în `m_svs*.c` dar NU e înregistrat în parse.c
|
||||
- **Efort**: SCĂZUT (doar înregistrare în parser)
|
||||
- **Impact**: MARE (comenzi esențiale pentru servicii)
|
||||
- **Timp estimat**: 2-3 ore (verificare + testare)
|
||||
|
||||
### Prioritate ÎNALTĂ
|
||||
|
||||
1. **SPAMFILTER** - Anti-spam automat
|
||||
|
|
@ -1359,7 +1472,7 @@ ACCOUNT <nickname> <account>
|
|||
### Prioritate MEDIE
|
||||
|
||||
1. **KNOCK** - Request invite
|
||||
2. **SA* aliases** - Simplified commands (SAJOIN, SAPART, etc.)
|
||||
2. **SA* aliases** - Simplified commands (SAJOIN, SAPART, etc.) [DEPIND DE SVS*]
|
||||
3. **+G mode** - Bad words on channel
|
||||
4. **+L mode** - Redirect overflow
|
||||
|
||||
|
|
@ -1372,6 +1485,52 @@ ACCOUNT <nickname> <account>
|
|||
|
||||
---
|
||||
|
||||
## ⚠️ ATENȚIE - Comenzi SVS* NEFUNCȚIONALE!
|
||||
|
||||
### Ce trebuie făcut pentru a activa SVS*:
|
||||
|
||||
1. **Verificare fișiere**:
|
||||
```bash
|
||||
ls -la ircd/m_svs*.c ircd/m_swhois.c
|
||||
# Ar trebui să existe toate fișierele
|
||||
```
|
||||
|
||||
2. **Verificare Makefile**:
|
||||
```bash
|
||||
grep "m_svs" ircd/Makefile.in
|
||||
# Ar trebui să fie în lista de compilare
|
||||
```
|
||||
|
||||
3. **Adăugare în parse.c**:
|
||||
```c
|
||||
// În ircd/parse.c, în tabelul de comenzi:
|
||||
{ MSG_SVSJOIN, TOK_SVSJOIN, 0, MAXPARA, MFLG_SLOW, 0, {
|
||||
m_ignore, m_ignore, ms_svsjoin, m_ignore, m_ignore
|
||||
}},
|
||||
// Similar pentru toate SVS* commands
|
||||
```
|
||||
|
||||
4. **Recompilare**:
|
||||
```bash
|
||||
make clean && make
|
||||
make install
|
||||
```
|
||||
|
||||
### De ce nu funcționează ACUM:
|
||||
|
||||
- ✅ Codul **EXISTĂ** în `m_svs*.c` files
|
||||
- ❌ Comenzile **NU SUNT ÎNREGISTRATE** în `parse.c`
|
||||
- ❌ Parser-ul **NU ȘTIE** de aceste comenzi
|
||||
- ❌ Când dai `/SVSJOIN`, primești: **"Unknown command"**
|
||||
|
||||
### Impact:
|
||||
|
||||
- **Servicii IRC** (X, ChanServ, NickServ) **NU POT** folosi SVS* pentru control users
|
||||
- **Force join/part/nick** **NU FUNCȚIONEAZĂ**
|
||||
- **Integration cu Anope/Atheme** **LIMITATĂ**
|
||||
|
||||
---
|
||||
|
||||
## 📞 PENTRU ADMINI
|
||||
|
||||
### Activare Features
|
||||
|
|
|
|||
Loading…
Reference in New Issue