Înapoi la blogToate tutorialele Metin2
Tutoriale Metin2 · Lecția 78 din 99

Item nou invizibil sau fără nume? Diferențele dintre client și server în Metin2

2 noiembrie 2026 6 min de citit

Ai adăugat un item nou, l-ai creat în joc cu GM-ul și… căsuța din inventar e goală. Sau itemul are iconiță, dar numele e greșit. Sau tooltip-ul arată un bonus, dar în realitate primești altul. Toate au aceeași cauză: **serverul și clientul nu știu același lucru despre item**. În această lecție afli ce fișiere trebuie să se potrivească, unde sunt și cum găsești rapid care lipsește.

Pe scurt: serverul decide ce face itemul (item_proto de server). Clientul doar îl desenează, din propriile fișiere: item_proto de client, item_list.txt, itemdesc.txt și iconița. Același VNUM trebuie să existe, cu aceleași date, în toate aceste locuri.

Cuvinte pe care le vei întâlni

CuvântCe înseamnă
VNUMNumărul unic al itemului. Vezi ce este VNUM.
item_proto de serverTabelul cu regulile itemului: tip, nivel, bonusuri, dacă se poate vinde.
item_proto de clientO copie a acestor date, în format binar, pe care clientul o folosește pentru tooltip.
item_list.txtFișierul din client care leagă VNUM-ul de iconiță și de modelul 3D.
itemdesc.txtFișierul din client cu numele și descrierea afișate.
PackArhivele .eix/.epk din folderul pack al clientului, în care stau fișierele de mai sus.

Cine decide ce

Gândește-te la un restaurant. Bucătăria (serverul) decide ce e în farfurie. Meniul (clientul) doar arată poza și descrierea. Dacă meniul are o poză veche, clientul vede altceva decât primește. Dacă bucătăria nu are rețeta, nu primește nimic, oricât de frumos ar fi meniul.

De aici regula de bază: ce face itemul se schimbă pe server. Modificările făcute doar în client schimbă doar ce se vede.

Unde stă fiecare informație

În pachetul pe care l-am verificat, lucrurile arată așa (la tine căile pot diferi puțin):

UndeFișierCe conține
Servershare/conf/item_proto.txtRegulile itemului
Servershare/conf/item_names.txt (și variantele pe limbi)Numele itemului pe server
Clientlocale/ro/item_proto (în pack-ul locale_ro)Datele pentru tooltip, în format binar
Clientlocale/ro/item_list.txtVNUM → tip, iconiță, model 3D
Clientlocale/ro/itemdesc.txtVNUM → nume și descriere
Clienticon/item/....tga (în pack-ul icon)Imaginea itemului
Clientfișier .gr2 (în pack-ul item)Modelul 3D, doar pentru arme, armuri și ce se vede pe personaj

Un detaliu util din pachetul verificat: procesul db citește item_proto.txt prin legături către share/conf, la pornire. Deci după ce schimbi item_proto.txt pe server, ai nevoie de restart ca să se aplice.

Cum arată rândurile din client

În item_list.txt, fiecare rând are coloane despărțite de TAB:

text
19	WEAPON	icon/item/00010.tga	d:/ymir work/item/weapon/00010.gr2
27001	ETC	icon/item/27001.tga	d:/ymir work/item/etc/medicine_R.GR2
71001	ETC	icon/item/71001.tga

Pe rând: VNUM-ul, tipul, calea iconiței și, opțional, calea modelului 3D. Observă că 19 (Sabie+9) folosește iconița lui 10 (Sabie+0): toate nivelurile de upgrade ale unei arme au aceeași imagine.

În itemdesc.txt, tot cu TAB:

text
100000	Time Elixir (S)	Refills the duration of a Dragon Stone.

VNUM-ul, numele, descrierea. Exemplele sunt copiate din clientul verificat (varianta în engleză).

Pentru TAB-uri și diacritice, aplică regulile din fișierele TXT: taburi și encoding.

Pasul 1: Verifică itemul pe server

Să zicem că itemul nou are VNUM 95000. Pe server, în folderul share/conf:

sh
awk -F'\t' '$1 == "95000"' item_proto.txt
awk -F'\t' '$1 == "95000"' item_names.txt

awk -F'\t' împarte fiecare rând în coloane după TAB, iar $1 == "95000" păstrează doar rândurile a căror primă coloană e exact 95000. Așa nu găsești din greșeală 195000 sau 950001.

Ce ar trebui să vezi: câte un rând în fiecare fișier. Dacă nu apare nimic în item_proto.txt, serverul nu cunoaște itemul și nu îl poate crea, oricât de bun ar fi clientul.

Pasul 2: Verifică itemul în client

Clientul ține fișierele în pack-uri. Ca să le vezi, ai nevoie de unealta de pack/unpack a clientului tău (în pachetul verificat vine una lângă client). Extragi pack-ul locale al limbii tale într-un folder separat și cauți în el, de exemplu în Notepad++ cu Ctrl+F:

  1. În item_list.txt: există rândul pentru 95000? Calea iconiței e corectă?
  2. În itemdesc.txt: există rândul cu numele?
  3. În pack-ul icon: există fișierul de imagine indicat în item_list.txt, cu exact același nume?

item_proto de client e binar, nu-l poți citi în Notepad++. Se generează din fișiere text cu o unealtă (în pachetul verificat, dump_proto, care primește item_proto.txt și item_names.txt). Cea mai sigură practică: îl generezi din aceleași fișiere ca serverul, ca să nu ajungă diferite.

Pasul 3: Testează în joc

Pe serverul de test, cu clientul actualizat, creezi itemul cu comanda de GM (de exemplu /i 95000) și verifici:

  1. Iconița apare.
  2. Numele și descrierea sunt corecte.
  3. Tooltip-ul arată exact bonusurile și nivelul din item_proto.txt de server.
  4. Itemul se poate echipa sau folosi cum trebuie.
  5. Dacă e armă sau armură, modelul apare pe personaj.
  6. Itemul trece corect prin trade și depozit (vezi testele după update).

Ce vezi → ce lipsește

Ce vezi în jocCauza cea mai probabilăCe verifici
Căsuță goală, fără iconițăLipsește rândul din item_list.txt sau imagineaitem_list.txt și pack-ul icon
Iconiță, dar nume greșit sau lipsăClient cu nume vechiitemdesc.txt și item_proto de client
Tooltip-ul arată alte bonusuri decât primeștiitem_proto de client diferit de cel de serverRegenerează item_proto de client din fișierele serverului
Comanda /i nu creează nimicItemul nu există pe serveritem_proto.txt de server și restart
Personajul apare fără armă când o echipeazăLipsește modelul 3D sau calea e greșităA patra coloană din item_list.txt, pack-ul item
Merge la tine, nu la jucătoriUpdate-ul de client nu a ajuns la eiAutopatcherul (vezi update de client)

Greșeli des întâlnite

  • Schimbi bonusurile doar în client. Tooltip-ul se schimbă, efectul real nu.
  • Uiți restartul după item_proto.txt de server. Fișierul nou nu e încă citit.
  • Publici clientul fără server, sau invers. Jucătorii văd iteme goale sau nu pot folosi itemul. Le publici împreună, în mentenanță.
  • Calea iconiței diferă printr-o literă sau un folder. Clientul caută exact calea scrisă în item_list.txt. Copiaz-o, nu o rescrie de mână.
  • Uiți alte limbi. Dacă ai client în mai multe limbi, fiecare locale are propriile item_list.txt și itemdesc.txt.

Întrebări frecvente

Pot schimba doar numele unui item fără update de server?

Numele afișat vine din client, deci da, se poate schimba doar acolo. Dar ține și numele de pe server la fel, pentru mesajele din chat și jurnale.

De ce itemul arată bine la mine și gol la un prieten?

Pentru că tu ai clientul nou, iar el are clientul vechi. Verifică dacă autopatcherul i-a adus fișierele.

Trebuie să adaug itemul și în baza de date?

Depinde de pachet. Unele încarcă item_proto din fișiere text, altele din tabelul player.item_proto. În pachetul verificat, sursa db citește item_proto.txt, deși tabelul player.item_proto există și el în baza de date. Află care variantă folosește pachetul tău înainte să schimbi ceva. Vezi și cum creezi un item nou pe server și client.

Ce urmează

Ai terminat capitolul Operare zilnică și update-uri! Următorul capitol, Securitate și lansare, începe cu conturile GM și permisiunile. 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ă.

DiscordWhatsApp