Cod CS10 — 10% reducere la pachetul de 1 lună CS10 · -10% (1 lună)
Counter-Strike 2

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

  1. Oprește complet serverul CS2 din panoul de administrare.
  2. Descarcă prin SFTP sau duplică fișierele admin_groups.json și admins.json.
  3. Păstrează copiile sub denumiri precum admin_groups.backup.json și admins.backup.json, în afara directorului activ.
  4. 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 și css_silence folosesc permisiunea @css/chat. Nu adăuga permisiuni precum @css/mute, @css/unmute sau @css/permban decâ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"
    ]
  }
}
  1. Înlocuiește INLOCUIESTE_CU_STEAMID64 cu SteamID64-ul contului care trebuie să primească acces.
  2. Alege un grup existent în admin_groups.json.
  3. Păstrează caracterul # în fața grupului.
  4. 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 true poate ocoli permisiunea normală a comenzii, iar unul setat la false poate 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

  1. Oprește serverul și creează backup pentru cele două fișiere.
  2. Încarcă numai admin_groups.json.
  3. Pornește serverul și verifică în consolă dacă CounterStrikeSharp se încarcă fără erori JSON.
  4. Oprește din nou serverul.
  5. Încarcă admins.json cu un singur administrator de test.
  6. Pornește serverul și urmărește consola de la începutul procesului de pornire.
  7. Testează recunoașterea administratorului.
  8. 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:

  1. Oprește serverul.
  2. Notează numele fișierului și prima eroare relevantă, nu doar ultimele mesaje repetitive.
  3. Înlocuiește fișierul modificat cu backupul.
  4. Pornește serverul și confirmă revenirea la starea funcțională.
  5. 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/root tuturor 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/administrator fără caracterul #.
  • Scrierea permisiunii ca css/ban fă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 și admin_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.json există identic în admin_groups.json.
  • Placeholderul SteamID64 a fost înlocuit înainte de pornirea serverului.
  • @css/root este acordat numai persoanei care are nevoie de acces complet.
  • Primul administrator apare la css_admins_list.
  • Meniul css_admin se 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

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.

URMĂTORUL PAS

Hosting CS2

Server CS2 cu CounterStrikeSharp, SwiftlyS2 și protecție DDoS.

Cod CS10: 10% reducere la pachetul de 1 lună.
Vezi pachetele