Pentru proprietarii de servere

Cum dai drepturi de GM în Metin2: niveluri și folosire sigură

Cum dai drepturi de GM în Metin2: niveluri și folosire sigură

Să dai drepturi de GM pe serverul tău Metin2 înseamnă câteva rânduri în baza de date; greu e să dai drepturile omului potrivit, la nivelul potrivit, și să previi abuzurile. În acest ghid îți explicăm unde se definesc drepturile de GM, care sunt nivelurile de autoritate, pașii pentru acordarea și retragerea drepturilor și măsurile de securitate. Informațiile se bazează pe codul sursă public al serverului Metin2 și pe fișierele SQL; detaliile pot diferi în funcție de versiunea fișierelor de server și de modificările făcute.

Unde se definesc drepturile de GM?

Drepturile sunt păstrate în tabelul gmlist din baza de date common. Nucleul db citește acest tabel și îl trimite nucleelor de joc; nivelul de autoritate se stabilește din această listă când personajul se încarcă în joc.

Coloană Semnificație
mAccount Numele de utilizator al contului de joc al GM-ului
mName Numele personajului care primește drepturile
mContactIP IP-ul de conectare permis (vezi avertismentul de mai jos)
mServerIP Serverul de joc pe care e valabil; ALL înseamnă toate
mAuthority Nivelul de autoritate

Drepturile sunt legate de personaj; un alt personaj de pe același cont nu devine GM. În setările locale pentru Turcia și Europa, codul sursă compară și numele contului: chiar dacă personajul GM e șters și numele lui e luat pe alt cont, acel cont nu primește drepturi.

Nivelurile de autoritate

În codul sursă, nivelurile sunt ordonate de la cel mai mic la cel mai mare, iar fiecare nivel poate folosi și comenzile celor de sub el:

Nivel Exemple de comenzi adăugate în tabelul standard
LOW_WIZARD /warp, /goto, /transfer, /dc, /invisible, /notice_map
WIZARD /purge, /respawn
HIGH_WIZARD /notice, /mob, /kill, /eventflag, /shutdown
GOD /item, /advance
IMPLEMENTOR /reload, /set, /who

În unele fișiere SQL, printre opțiunile coloanei mAuthority nu apare WIZARD; deși codul o recunoaște, dacă coloana nu o permite, nu poți atribui acest nivel. Pentru explicațiile comenzilor, vezi lista noastră de comenzi GM.

Acordarea drepturilor de GM pas cu pas

  1. Creează un cont separat: Creează pentru GM un cont de joc și un personaj, separate de contul tău de jucător.

  2. Adaugă-l în listă: În baza de date common, rulează această interogare, schimbând valorile după nevoile tale:

    INSERT INTO gmlist (mAccount, mName, mContactIP, mServerIP, mAuthority)
    VALUES ('gmhesap', 'GMKarakter', '', 'ALL', 'LOW_WIZARD');
    
  3. Reîncarcă lista: Cu un personaj de nivel IMPLEMENTOR, scrie în joc /reload a sau repornește serverul. În codul sursă, reîncărcarea se aplică imediat și personajelor din listă care sunt în acel moment în joc.

  4. Testează: Intră în joc cu personajul GM și rulează o comandă inofensivă potrivită nivelului, de exemplu /state.

Retragerea drepturilor

Șterge rândul GM-ului care nu mai are atribuții și reîncarcă lista:

DELETE FROM gmlist WHERE mName = 'GMKarakter';

Apoi scrie /reload a. Atenție la un detaliu: în codul sursă, reîncărcarea nu scade nivelul personajului scos din listă care e în acel moment în joc; drepturile rămân până când personajul se reîncarcă. De aceea, deconectează-l cu /dc și schimbă parola contului GM.

Restrângerea nivelurilor comenzilor cu fișierul CMD

Fișierul CMD din folderul nucleului de joc îți permite să schimbi nivelul cerut de fiecare comandă. Pe fiecare rând se scriu o comandă și un nivel; DISABLE închide comanda pentru toată lumea:

item IMPLEMENTOR
shutdown IMPLEMENTOR
full_set DISABLE

În tabelul standard, chiar și LOW_WIZARD, cel mai mic nivel, are acces la comenzi de test ca /full_set și /all_skill_master, care îi dau propriului personaj al GM-ului echipament complet, bonusuri și abilități; nu crede că cel mai mic nivel e inofensiv. Pentru că în codul sursă un rând greșit împiedică pornirea nucleului, testează schimbarea mai întâi pe un server de test.

Recomandări pentru o folosire sigură

  • Drepturi minime: Dă fiecărui GM cel mai mic nivel care îi ajunge pentru treaba lui; pentru echipa de suport, de obicei e suficient LOW_WIZARD.
  • Parole puternice și unice: Parolele conturilor GM nu trebuie folosite nicăieri altundeva și nici împărțite în echipă.
  • Restricția de IP: Deși există coloana mContactIP, în codul sursă analizat, în setările locale pentru Turcia și Europa, IP-ul nu este verificat, ci doar numele contului. Dacă vrei restricție de IP, cere-i dezvoltatorului să o implementeze în fișierele de server sau aplic-o la accesul de administrare, ca baza de date, SSH și panoul.
  • Modul de test oprit: Cât timp setarea TEST_SERVER din fișierul CONFIG al nucleului de joc e activă, în codul sursă toată lumea primește autoritatea IMPLEMENTOR. Verifică valoarea acestui rând în fișierele CONFIG care vin cu fișierele de server gata făcute; asigură-te că pe serverul live e oprită.
  • Verifică jurnalele: În codul sursă, intrările GM-ilor și obiectele create cu /item sunt scrise în baza de date de jurnale; în setările pentru Turcia și Europa, comenzile GM ajung și în tabelul command_log. Verifică-le o dată pe săptămână.
  • Curățenie regulată: Șterge fără întârziere înregistrările GM-ilor care au plecat din echipă sau nu mai sunt activi.

Când echipa și fișierele sunt gata, îți poți lista serverul gratuit, iar experiențele cu alți proprietari de servere le poți împărtăși pe forumul nostru.

Întrebări frecvente

Am dat drepturi de GM, dar comenzile nu merg. De ce?

Dacă n-ai reîncărcat lista cu /reload a sau n-ai repornit serverul, drepturile nu apar. Verifică dacă numele contului și al personajului sunt identice cu rândul din gmlist și dacă nivelul ajunge pentru comandă.

Pot da unui GM drepturi pe mai multe personaje?

Da, trebuie să adaugi câte un rând pentru fiecare personaj. Totuși, fiecare personaj în plus e un risc nou; dacă nu e chiar nevoie, limitează-te la unul singur.

De ce e toată lumea GM pe serverul de test?

În codul sursă, cât timp TEST_SERVER e activ, fiecare personaj primește cel mai mare nivel. Comportamentul e gândit pentru mediul de test; pe serverul live nu lăsa niciodată această setare activă.

Se pot da drepturi de GM din joc?

În codul sursă standard nu există o comandă în joc pentru asta; drepturile se dau din tabelul gmlist și se reîncarcă cu /reload a. Unele fișiere de server pot avea unelte suplimentare pentru asta.

0 Aprecieri

Alte articole

Comentarii 0

Nu a fost făcut încă niciun comentariu.