Orice server Metin2 are nevoie de o **bază de date**: locul unde se țin minte conturile, personajele și itemele. Dacă baza de date nu merge, jocul nu pornește sau pierde datele. În această lecție înveți ce e MySQL, cum verifici dacă merge și cum te uiți în ea **fără să strici nimic**.
Cuvinte pe care le vei întâlni
| Cuvânt | Ce înseamnă |
|---|---|
| MySQL (sau MariaDB) | Programul care ține baza de date. MariaDB e o variantă aproape identică. |
| Bază de date | Un „dulap” cu date. Un server Metin2 are mai multe. |
| Tabel | Un „sertar” din dulap, de exemplu tabelul cu personaje. |
db (al jocului) | Altceva decât MySQL! E programul jocului care vorbește cu MySQL. |
Confuzia numărul 1: folderul db din serverfiles nu e baza de date. E un program al jocului care face legătura cu MySQL. MySQL e separat și trebuie să meargă înainte de db.
Ce baze de date are un server Metin2
| Bază de date | Ce ține minte |
|---|---|
account | Conturile: utilizator, parolă (criptată), e-mail |
player | Personajele, itemele, breslele, magazinele NPC |
common | Setări comune, de exemplu GM-ii |
log | Jurnale: cine ce a făcut (util la investigații) |
Numele pot fi altele în pachetul tău, dar acestea sunt cele mai des întâlnite.
Pasul 1: Verifică dacă MySQL merge
Conectează-te prin SSH și scrie:
service mysql-server statusCe poți vedea:
mysql is running as pid 1234: merge, poți trece mai departe.mysql is not running: e oprit. Treci la pasul 2.mysql-server does not exist: serviciul are alt nume sau nu e instalat. Încearcăservice -l | grep -i mysqlca să vezi numele real, sau întreabă firma de hosting.
Pasul 2: Pornește MySQL
service mysql-server startVerifică din nou cu status. Dacă pornește și se oprește imediat, de obicei discul e plin (df -h) sau setările MySQL sunt stricate. Atunci e momentul să ceri ajutor.
Ordinea corectă la pornirea serverului: întâi MySQL, apoi jocul (db, auth, canalele). Dacă ai repornit tot serverul (calculatorul), verifică întâi MySQL.
Pasul 3: Uită-te în baza de date (doar citire)
Intră în MySQL:
mysql -u root -pScrie parola MySQL. Nu se vede pe ecran cât o scrii, e normal. Linia de comandă se schimbă în mysql>. Acum scrie:
SHOW DATABASES;Ce ar trebui să vezi: o listă cu account, player, common, log și câteva baze de sistem (mysql, information_schema…). Nu umbla la bazele de sistem.
Ca să vezi câte personaje ai:
SELECT COUNT(*) FROM player.player;Ieși din MySQL cu:
exitComenzile SHOW și SELECT doar citesc. Nu schimbă nimic, deci le poți încerca liniștit.
UPDATE, DELETE, DROP și TRUNCATE schimbă sau șterg date. Nu le folosi până nu faci backup și nu știi exact ce fac.Vrei o fereastră grafică în loc de comenzi?
Poți folosi programe ca HeidiSQL (gratuit, pentru Windows), ca să vezi tabelele ca într-un Excel. Cea mai sigură cale e conexiunea prin tunel SSH: în HeidiSQL alegi tipul „MySQL (SSH tunnel)” și completezi datele SSH plus cele MySQL. Așa nu e nevoie să deschizi baza de date către internet.
Nu deschide portul MySQL (3306) pentru toată lumea ca să te conectezi mai ușor. E una dintre cele mai des folosite căi prin care serverele sunt sparte.
Cum se leagă jocul de MySQL
Jocul știe unde e baza de date și ce parolă are din fișierele CONFIG. Acolo vei vedea rânduri de forma:
PLAYER_SQL: 127.0.0.1 metin2 PAROLA playerPe rând: adresa MySQL (127.0.0.1 = „pe același server”), utilizatorul, parola și baza de date. Dacă schimbi parola în MySQL, trebuie s-o schimbi și aici, altfel jocul primește Access denied. Detalii în lecția CONFIG, porturi și canale.
Erori des întâlnite
| Eroare | Ce înseamnă | Ce faci |
|---|---|---|
Access denied for user | Utilizator sau parolă greșită | Verifică parola din CONFIG |
Can't connect to MySQL server | MySQL e oprit sau adresa e greșită | Pornește MySQL, verifică adresa |
Unknown database | Baza de date nu există | Verifică numele sau importă fișierul .sql |
Table doesn't exist | Lipsește un tabel | Pachetul cere alt fișier .sql; vezi instrucțiunile lui |
Întrebări frecvente
Pot actualiza MySQL la o versiune nouă?
Cu grijă. Pachetele vechi pot avea probleme cu versiunile noi (parole, setări). Încearcă întâi pe un server de test, cu backup făcut.
Pot schimba direct în baza de date nivelul unui personaj?
Tehnic da, dar cu personajul offline și cu backup făcut. Dacă personajul e în joc, serverul îi suprascrie modificarea când îl salvează.
Unde e parola MySQL?
O primești de la firma de hosting sau o găsești în fișierele CONFIG ale jocului. Nu o trimite nimănui.
Ce urmează
Lecția următoare: CONFIG, porturi și canale explicate simplu. Toate lecțiile sunt în lista tutorialelor Metin2.
Server Metin2 gata de joc
Găzduire Metin2 în România, cu instalare de serverfiles, bază de date MySQL și protecție Anti-DDoS inclusă.