Ce este SafeNameAndChat?
SafeNameAndChat este un plugin Metamod creat de @WPMGPRoSToTeMa, care curăță numele jucătorilor și mesajele de discuție înainte ca motorul să le trimită mai departe, închizând o familie de exploit-uri vechi din GoldSrc, în care un nume sau un mesaj special alcătuit blochează clienții celorlalți jucători ori injectează comenzi de consolă.
Acesta este un proiect terț. El se află în afara organizației ReHLDS și nu este întreținut de ea — raportați problemele în propriul lui sistem de raportare.
Împotriva a ce protejează
Clientul GoldSrc tratează anumite caractere în mod special, iar un jucător care le pune într-un nume sau într-un rând de discuție poate abuza de acest lucru:
- Șiruri de localizare (
#) — un mesaj sau un nume care conține simboluri precum#Spec_Help_Textîl face pe clientul care le primește să le interpreteze drept chei de localizare. În funcție de simbol, clienții se blochează. - Specificatori de format (
%) —%sși celelalte ajung într-o funcție de formatare de partea clientului. - Ampersandul (
&) în nume — tratat greșit în unele căi de afișare a numelui pe client. - Injectarea de comenzi prin
+în nume — un+urmat imediat de o literă sau de o cifră reproduce sintaxa de asociere+comandă.
În loc să elimine jucătorul sau să șteargă caracterele, pluginul înlocuiește fiecare caracter problematic cu echivalentul lui Unicode de lățime întreagă — # devine #, iar % devine %. Textul arată la fel pentru un om, dar clientul nu îl mai tratează ca pe un simbol. Pluginul poate și să înlăture caracterele neafișabile și să taie spațiile de la început și de la sfârșit.
Cerințe
- Metamod (se recomandă Metamod-R).
- ReHLDS nu este obligatoriu, dar este detectat în timpul execuției și folosit când este prezent — pluginul interoghează
VREHLDS_HLDS_API_VERSION001la pornire și urmează o cale care ține cont de motor, dacă primește răspuns.
Pluginul poate fi încărcat și descărcat oricând (meta load / meta unload funcționează fără repornire).
Vedeți Instalare pentru configurare și Setări pentru cele unsprezece cvar-uri SNAC_*.