Cum configurezi adminii și permisiunile CS2-SimpleAdmin
Configurează corect administratorii CS2-SimpleAdmin folosind admins.json și admin_groups.json. Ghidul explică SteamID64, grupurile, permisiunile, imunitatea, verificarea JSON și rezolvarea erorilor de acces, cu exemple anonimizate și gata de adaptat.
Administratorul este definit în fișierele CounterStrikeSharp, dar nu primește acces în CS2-SimpleAdmin dacă SteamID64-ul, grupul sau permisiunile sunt scrise greșit. La finalul acestui ghid vei avea o structură completă de grupuri administrative, un exemplu sigur pentru admins.json și o metodă clară de verificare a accesului.
Acest ghid presupune că Metamod:Source, CounterStrikeSharp și CS2-SimpleAdmin sunt deja instalate și pornesc fără erori. Dacă încă nu ai instalat aceste componente, urmează mai întâi ghidul Cum instalezi un addon și pluginuri pe un server CS2 prin FTP.
Ce fișiere controlează administratorii CS2
CounterStrikeSharp pune la dispoziție un sistem comun de administrare pe care pluginurile, inclusiv CS2-SimpleAdmin, îl pot folosi pentru verificarea permisiunilor.
Cele două fișiere importante sunt:
game/csgo/addons/counterstrikesharp/configs/admin_groups.json— definește grupurile, permisiunile și nivelurile de imunitate;game/csgo/addons/counterstrikesharp/configs/admins.json— asociază fiecare administrator cu un SteamID și cu unul sau mai multe grupuri.
Calea poate fi afișată mai scurt în panoul serverului, începând direct cu addons/counterstrikesharp/. Important este ca fișierele să se afle în directorul configs al instalării CounterStrikeSharp active.
Înainte de modificare: oprește serverul și creează backup
- Oprește complet serverul CS2 din panoul de administrare.
- Descarcă prin SFTP sau duplică fișierele
admin_groups.jsonșiadmins.json. - Păstrează copiile sub denumiri precum
admin_groups.backup.jsonșiadmins.backup.json, în afara directorului activ. - Modifică un singur fișier și verifică-l înainte de a continua cu următorul.
Nu edita simultan configurația administratorilor, configurația bazei de date și fișierele pluginului. Dacă serverul afișează o eroare după repornire, trebuie să poți identifica imediat ultima modificare.
Cum funcționează grupurile, permisiunile și imunitatea
Grupurile încep cu caracterul #
În CounterStrikeSharp, fiecare nume de grup trebuie să înceapă cu #. O convenție clară este folosirea prefixului #css/, de exemplu #css/helper sau #css/administrator.
Numele scris în admins.json trebuie să fie identic cu cel din admin_groups.json. Diferențele de litere, spațiile suplimentare și omiterea caracterului # pot împiedica moștenirea permisiunilor.
Permisiunile încep cu caracterul @
Permisiunile individuale trebuie să înceapă cu @. CounterStrikeSharp nu recunoaște o permisiune de utilizator dacă acest prefix lipsește.
| Permisiune | Utilizare obișnuită | Recomandare |
|---|---|---|
@css/generic |
Acces administrativ de bază | Poate fi acordată tuturor rolurilor administrative |
@css/kick |
Eliminarea jucătorilor de pe server | Helper sau rol superior |
@css/ban |
Comenzi de ban oferite de plugin | Moderator sau rol superior |
@css/unban |
Eliminarea sancțiunilor de tip ban | Administrator sau rol superior |
@css/slay |
Comenzi precum slay și alte acțiuni asupra jucătorilor | Folosește-o numai pentru personalul de încredere |
@css/changemap |
Schimbarea hărții sau a unor funcții importante de joc | Administrator sau rol superior |
@css/chat |
Comenzi administrative de chat, gag, mute și silence în CS2-SimpleAdmin | Helper sau moderator, în funcție de politica serverului |
@css/vote |
Pornirea voturilor administrative | Helper sau rol superior |
@css/cvar |
Modificarea variabilelor serverului | Owner sau personal tehnic |
@css/config |
Executarea configurațiilor serverului | Owner sau personal tehnic |
@css/password |
Modificarea parolei serverului | Manager sau rol superior |
@css/cheats |
Comenzi cu efect puternic asupra jocului | Owner sau fondator |
@css/root |
Acces complet la toate permisiunile CounterStrikeSharp | Exclusiv proprietarului principal |
În documentația actuală CS2-SimpleAdmin, comenzile
css_mute,css_unmute,css_gagșicss_silencefolosesc permisiunea@css/chat. Nu adăuga permisiuni precum@css/mute,@css/unmutesau@css/permbandecât dacă documentația versiunii exacte a pluginului instalat le definește explicit.
Ce înseamnă imunitatea
Imunitatea este o valoare numerică folosită pentru a stabili ierarhia dintre administratori. Un administrator cu imunitate mai mică nu ar trebui să poată aplica o comandă asupra unuia cu imunitate mai mare, dacă pluginul verifică această regulă.
O structură simplă poate porni de la 50 pentru Helper și poate ajunge la 100 pentru Fondator. CounterStrikeSharp poate combina imunitatea declarată direct pentru administrator cu cea moștenită din grup. Pluginul care execută o comandă trebuie însă să implementeze verificarea imunității; valoarea nu este un sistem universal de protecție pentru orice plugin instalat.
Permisiunea @css/root oferă acces complet și ignoră restricțiile obișnuite de imunitate. Nu o acorda moderatorilor, administratorilor temporari sau persoanelor care au nevoie doar de acces la meniul de sancțiuni.
Configurare completă pentru admin_groups.json
Următoarea configurație oferă opt roluri administrative. Nivelurile au fost ordonate astfel încât fiecare rang superior să aibă o imunitate mai mare. Permisiunile redundante sau care nu sunt documentate de versiunile actuale au fost eliminate.
{
"#css/fondator": {
"flags": [
"@css/root"
],
"immunity": 100
},
"#css/owner": {
"flags": [
"@css/reservation",
"@css/generic",
"@css/kick",
"@css/ban",
"@css/unban",
"@css/vip",
"@css/slay",
"@css/changemap",
"@css/cvar",
"@css/config",
"@css/chat",
"@css/vote",
"@css/password",
"@css/cheats"
],
"immunity": 95
},
"#css/manager": {
"flags": [
"@css/reservation",
"@css/generic",
"@css/kick",
"@css/ban",
"@css/unban",
"@css/vip",
"@css/slay",
"@css/changemap",
"@css/chat",
"@css/vote",
"@css/password"
],
"immunity": 90
},
"#css/superadministrator": {
"flags": [
"@css/reservation",
"@css/generic",
"@css/kick",
"@css/ban",
"@css/unban",
"@css/slay",
"@css/changemap",
"@css/chat",
"@css/vote"
],
"immunity": 80
},
"#css/administrator": {
"flags": [
"@css/reservation",
"@css/generic",
"@css/kick",
"@css/ban",
"@css/unban",
"@css/slay",
"@css/changemap",
"@css/chat",
"@css/vote"
],
"immunity": 70
},
"#css/supermoderator": {
"flags": [
"@css/reservation",
"@css/generic",
"@css/kick",
"@css/ban",
"@css/slay",
"@css/changemap",
"@css/chat",
"@css/vote"
],
"immunity": 65
},
"#css/moderator": {
"flags": [
"@css/generic",
"@css/kick",
"@css/ban",
"@css/slay",
"@css/chat",
"@css/vote"
],
"immunity": 60
},
"#css/helper": {
"flags": [
"@css/generic",
"@css/kick",
"@css/slay",
"@css/chat",
"@css/vote"
],
"immunity": 50
}
}
Salvează acest conținut în admin_groups.json. Fișierul trebuie să conțină un singur obiect JSON, delimitat de prima și ultima acoladă.
Cum adaugi un administrator în admins.json
Fiecare intrare din admins.json are o etichetă descriptivă, un identificator Steam și lista grupurilor atribuite. Eticheta „Administrator Exemplu” nu trebuie să fie identică cu numele actual din joc; este folosită pentru organizarea configurației.
{
"Administrator Exemplu": {
"identity": "INLOCUIESTE_CU_STEAMID64",
"immunity": 70,
"flags": [],
"groups": [
"#css/administrator"
]
}
}
- Înlocuiește
INLOCUIESTE_CU_STEAMID64cu SteamID64-ul contului care trebuie să primească acces. - Alege un grup existent în
admin_groups.json. - Păstrează caracterul
#în fața grupului. - Nu introduce parola contului Steam, coduri Steam Guard, GSLT-uri sau chei API.
SteamID64 este identificatorul contului, nu parola acestuia. Totuși, fiind un identificator personal, evită publicarea lui în capturi de ecran, tutoriale sau mesaje publice.
Cum adaugi mai mulți administratori
Intrările sunt separate prin virgulă. Ultima intrare nu trebuie să aibă virgulă după acolada sa.
{
"Administrator Exemplu": {
"identity": "INLOCUIESTE_CU_STEAMID64_ADMIN",
"immunity": 70,
"flags": [],
"groups": [
"#css/administrator"
]
},
"Moderator Exemplu": {
"identity": "INLOCUIESTE_CU_STEAMID64_MODERATOR",
"immunity": 60,
"flags": [],
"groups": [
"#css/moderator"
]
}
}
Când se folosesc flags direct în admins.json
Câmpul flags permite acordarea unor permisiuni individuale în afara grupului. Pentru o administrare ușor de întreținut, majoritatea permisiunilor trebuie păstrate în admin_groups.json.
O permisiune individuală este utilă atunci când un singur administrator are nevoie temporar de o comandă suplimentară:
{
"Administrator Exemplu": {
"identity": "INLOCUIESTE_CU_STEAMID64",
"immunity": 70,
"flags": [
"@css/changemap"
],
"groups": [
"#css/moderator"
]
}
}
Nu copia permisiuni necunoscute din configurații găsite pe internet. CounterStrikeSharp permite pluginurilor să definească permisiuni proprii, dar acestea au efect numai dacă pluginul instalat le verifică.
Cum funcționează command_overrides
Câmpul command_overrides poate permite sau refuza explicit o comandă pentru un anumit administrator. Valoarea true permite comanda, iar false o blochează pentru acea intrare.
{
"Administrator Tehnic": {
"identity": "INLOCUIESTE_CU_STEAMID64",
"immunity": 95,
"flags": [],
"groups": [
"#css/owner"
],
"command_overrides": {
"css_plugins": true
}
}
}
Folosește override-urile numai când există un motiv tehnic clar. Un override setat la
truepoate ocoli permisiunea normală a comenzii, iar unul setat lafalsepoate explica de ce un administrator are flagul corect, dar primește în continuare mesajul „no permission”.
Validarea fișierelor JSON înainte de pornire
JSON este un format strict. O singură virgulă în plus poate împiedica încărcarea întregii liste de administratori.
- Folosește numai ghilimele duble pentru nume și valori.
- Nu adăuga comentarii cu
//sau;. - Nu pune virgulă după ultimul element dintr-o listă.
- Verifică dacă fiecare paranteză dreaptă și fiecare acoladă este închisă.
- Salvează fișierul ca text UTF-8.
- Nu încărca într-un validator public un fișier care conține date pe care nu dorești să le publici.
Un editor cu validare JSON poate evidenția local linia și coloana unei erori, fără să trimită fișierul către un serviciu extern.
Ordinea corectă de instalare și verificare
- Oprește serverul și creează backup pentru cele două fișiere.
- Încarcă numai
admin_groups.json. - Pornește serverul și verifică în consolă dacă CounterStrikeSharp se încarcă fără erori JSON.
- Oprește din nou serverul.
- Încarcă
admins.jsoncu un singur administrator de test. - Pornește serverul și urmărește consola de la începutul procesului de pornire.
- Testează recunoașterea administratorului.
- Adaugă ceilalți administratori numai după ce prima intrare funcționează.
Această ordine separă problemele de grupuri de problemele produse de SteamID sau de structura administratorului.
Comenzi pentru verificare
Verificarea Metamod:Source
meta list
Comanda se execută în consola serverului și afișează pluginurile încărcate de Metamod:Source. CounterStrikeSharp trebuie să apară fără marcajul ERROR. Comanda nu instalează și nu repară componente; doar verifică starea lor.
Verificarea pluginurilor CounterStrikeSharp
css_plugins list
Comanda se execută în consola serverului și afișează pluginurile gestionate de CounterStrikeSharp. Verifică dacă CS2-SimpleAdmin și dependențele sale sunt încărcate. Nu folosi comenzi de reload în timpul unui meci important și nu continua configurarea dacă pluginul apare cu eroare.
Verificarea administratorilor încărcați
css_admins_list
Comanda se execută în consola serverului și arată administratorii recunoscuți de CounterStrikeSharp. Dacă administratorul nu apare, problema este în admins.json, în calea fișierului sau în identificatorul Steam.
Ieșirea poate conține identificatori Steam. Nu publica o captură integrală a consolei fără să anonimizezi aceste informații.
Testarea meniului CS2-SimpleAdmin
css_admin
Comanda se execută în consola clientului unui administrator conectat la server. În funcție de aliasurile configurate de versiunea instalată, meniul poate fi deschis și printr-o comandă de chat precum !admin.
Nu executa această comandă în consola serverului așteptând apariția unui meniu pentru un jucător. Comanda trebuie asociată unui client conectat.
Cum interpretezi mesajele din consolă
Mesaje informative
Un mesaj care confirmă încărcarea CounterStrikeSharp, a CS2-SimpleAdmin sau a listei de administratori indică faptul că etapa respectivă a trecut. Continuă numai după ce componenta anterioară este confirmată.
Warning-uri
Un warning nu oprește întotdeauna serverul, dar poate semnala o configurație ignorată, o dependență opțională lipsă sau o funcție care nu va fi disponibilă. Citește mesajul complet și verifică numele componentei menționate.
Erori roșii și erori fatale
Mesajele care conțin termeni precum ERROR, failed to load, invalid JSON, exception sau o referință la o linie din fișier trebuie rezolvate înainte de adăugarea altui plugin sau administrator.
Dacă eroarea a apărut imediat după editarea unui fișier:
- Oprește serverul.
- Notează numele fișierului și prima eroare relevantă, nu doar ultimele mesaje repetitive.
- Înlocuiește fișierul modificat cu backupul.
- Pornește serverul și confirmă revenirea la starea funcțională.
- Compară modificarea problematică separat, fără să schimbi alte componente.
Diagnostic rapid: simptome și soluții
| Simptom | Cauză probabilă | Soluție |
|---|---|---|
Administratorul nu apare în css_admins_list |
JSON invalid, cale greșită sau identificator nerecunoscut | Verifică sintaxa, numele exact admins.json și valoarea identity |
| Administratorul apare, dar nu are acces | Grup inexistent, prefix lipsă sau permisiune insuficientă | Compară exact numele grupului și verifică permisiunea cerută de comandă |
| Primește „no permission” deși are flagul | Un command override refuză comanda sau pluginul cere alt flag | Verifică command_overrides, configurația pluginului și documentația versiunii instalate |
| Comenzile mute sau unmute nu funcționează | Lipsește @css/chat sau există un conflict între pluginuri |
Acordă permisiunea documentată și verifică dacă alt plugin gestionează vocea sau chatul |
| Un moderator nu poate sancționa alt administrator | Ținta are imunitate mai mare | Păstrează ierarhia sau modifică nivelurile numai dacă politica serverului o cere |
| Meniul nu se deschide pentru niciun administrator | CS2-SimpleAdmin sau una dintre dependențe nu este încărcată | Verifică meta list, css_plugins list și prima eroare din consolă |
| Serverul raportează eroare la o linie JSON | Virgulă suplimentară, ghilimele greșite sau acoladă lipsă | Revino la backup și validează local fișierul înainte de reîncărcare |
| Unele comenzi apar, iar altele lipsesc | Rolul are numai o parte dintre permisiunile necesare | Verifică fiecare comandă în documentația CS2-SimpleAdmin și acordă accesul minim necesar |
Greșeli frecvente
- Acordarea
@css/roottuturor administratorilor pentru a evita configurarea rolurilor. - Folosirea unui SteamID copiat greșit sau a unui placeholder rămas în fișier.
- Scrierea grupului ca
css/administratorfără caracterul#. - Scrierea permisiunii ca
css/banfără caracterul@. - Folosirea unor flaguri preluate din alt plugin fără verificarea documentației.
- Dublarea aceleiași permisiuni în lista unui grup.
- Acordarea aceleiași imunități unor roluri care ar trebui să aibă o ierarhie clară.
- Adăugarea comentariilor într-un fișier JSON.
- Editarea fișierelor direct în timpul unui meci, fără backup și fără repornire controlată.
- Publicarea capturilor de consolă care conțin SteamID-uri, adrese sau date de conectare.
Checklist final
- Metamod:Source apare corect la
meta list. - CounterStrikeSharp pornește fără marcajul
ERROR. - CS2-SimpleAdmin apare la
css_plugins list. - Există backup pentru
admins.jsonșiadmin_groups.json. - Ambele fișiere sunt JSON valid și salvate UTF-8.
- Toate grupurile încep cu
#. - Toate permisiunile individuale încep cu
@. - Numele grupului din
admins.jsonexistă identic înadmin_groups.json. - Placeholderul SteamID64 a fost înlocuit înainte de pornirea serverului.
@css/rooteste acordat numai persoanei care are nevoie de acces complet.- Primul administrator apare la
css_admins_list. - Meniul
css_adminse deschide din consola clientului. - Comenzile de kick, ban, chat și schimbare a hărții au fost testate separat.
- Consola nu afișează erori noi după repornire.
Întrebări frecvente
Numele din admins.json trebuie să fie identic cu numele din joc?
Nu. Cheia precum „Administrator Exemplu” este o etichetă pentru organizare. Identificarea contului se face prin valoarea identity.
Pot atribui mai multe grupuri aceluiași administrator?
Da. Adaugă numele grupurilor în lista groups. Administratorul va moșteni permisiunile grupurilor recunoscute, dar configurația devine mai greu de urmărit dacă rolurile se suprapun excesiv.
De ce @css/mute nu oferă acces la comanda css_mute?
Permisiunile sunt definite de pluginul care implementează comanda. Documentația actuală CS2-SimpleAdmin folosește @css/chat pentru mute, unmute, gag și silence. O permisiune inventată sau folosită de alt plugin nu produce automat acces.
Este necesară repornirea serverului după modificare?
Repornirea controlată este metoda recomandată pentru validarea completă. Ea confirmă că fișierele sunt încărcate corect de la pornire și permite observarea tuturor erorilor în ordinea apariției.
SteamID64 este o parolă?
Nu. Este un identificator al contului Steam. Nu oferă acces la cont, dar nu trebuie confundat cu un GSLT, o cheie API, o parolă sau un cod Steam Guard. Aceste date secrete nu trebuie introduse în fișierele de administratori.
Surse tehnice oficiale
- CounterStrikeSharp — Defining Admins
- CounterStrikeSharp — Defining Admin Groups
- CounterStrikeSharp — Defining Admin Immunity
- CounterStrikeSharp — Defining Command Overrides
- Proiectul oficial CounterStrikeSharp
- Proiectul oficial CS2-SimpleAdmin
- CS2-SimpleAdmin — Communication Commands
Dacă vrei un server Counter-Strike 2 pregătit pentru CounterStrikeSharp, pluginuri și administrarea unei comunități, alege un pachet de Hosting CS2 HostCS.ro și configurează fiecare componentă gradual, cu backup și verificare după fiecare repornire.
Hosting CS2
Server CS2 cu CounterStrikeSharp, SwiftlyS2 și protecție DDoS.
Cod CS10: 10% reducere la pachetul de 1 lună.