Acesta este un tutorial explicativ si detaliat pentru structura unui server de Metin2.

Este foarte util, mai ales pentru incepatori si pentru cei care vor sa stie cum functioneaza un server de Metin2.
Cate procese/core-uri trebuie sa am pentru un server de metin?
- In general, orice server la momentul actual foloseste de la 1 pana la 5 procese pentru fiecare canal deschis, la care se adauga 1 proces pentru canalul 99, 1 proces pentru auth - adica login - si 1 proces pentru db. Un document scris de developerii jocului ne dezvaluie urmatoarele, fisierul se cheama INSTALL si dateaza normal cu data de 28.09.2013:
1 --> Harta de casatorie si razboaie bresle sunt mereu pe canalul 99. Initial daca o sa cititi mai sus in fisier, o sa vedeti ca 'game99' este supranumit si "Guild Warfare Server" / "Guild War Server (길드전 서버 / 길드전서버)" pentru ca pentru asta a fost conceput initial.
2 --> Dungeon-urile trebuie sa fie legate de harta de provenienta. Mai clar o sa devina mai jos *Despre dungeon-uri* unde aveti un exemplu de distribuire a hartilor pe fiecare core.
3 --> Un lucru deja stiut, fiecare core are folderul lui separat si e un proces independent.
4 --> Scopul divizunii e sa reduca impactul in cazul in care apar probleme, daca doar un core pica ---> nu pica tot serverul.
Aici apare o mare confuzie pe care am observat-o in multe topicuri de pe forum. Ideea de 'baga mapa in fiecare canal, core si game99 ca sa mearga' e strict gresita si nu asa functioneaza. Daca fiecare core al fiecarui canal are toate hartile, practic rulati procesele aditionale degeaba si doar ingreunati serverul.
Mai jos avem 4 exemple prezente in fisier:
1 --> Un server de teste are mereu un core, un canal. Asta ar trebui sa va raspunda la intrebarea 'cate canale/core-uri pentru un server de teste?'
2 --> Pentru cei care inca nu stiau, oficialul a decis sa foloseasca mai multe servere dedicate/vps-uri pentru fiecare server. De exemplu un server precum 'Leonis' putea sa fie defapt un numar de 6-8 sau chiar mai multe servere dedicate. De ce? Pentru ca fiecare canal era distribuit pe un alt server (cu IP intern - deci in acelasi datacenter), dupa care mai erau si structurate pe core-uri, o solutie buna pentru acele vremuri.
Aici avem un exemplu de '1 server pentru un canal' - deci daca am fi avut 4 canale, aveam nevoie de 4 servere separate care erau toate legate probabil la un singur server pentru auth/db.
3 --> *Despre dungeon-uri* Dupa cum vedeti, harta 65 (Templul Hwang) si harta 66 (Turnul Demonilor) se afla pe acelasi core pentru ca sunt harti din care se intra din una in alta direct. Pe langa asta, acolo mai este prezenta si 64 (Valea Orcilor) pentru ca de acolo se intra in Templul Hwang in primul rand.
4 --> Dupa cum vedem, cu toate ca diviziunea proceselor pe mai multe servere creste, hartile raman pe aceleasi core-uri, impreuna.
5 --> Acelasi lucru si aici unde avem 3 servere compuse din 2 core-uri pe primele 2 si un singur server cu 1 core + ch99 care este separat mereu.
Sper ca lucrul acesta sa clarifice putin treaba si sa nu mai fie nevoie de explicatii. Puteti sa aranjati core-urile cum vreti voi pentru eficienta maxima si sa nu aglomerati toate hartile pe un singur core.
Mai jos avem un lucru EXTREM de important care nu prea e inteles cred eu de multa lume. Sincer sa fiu, nu mi-am dat nici eu seama prima oara, dar dupa ce citesti putin o sa intelegi ca 'totul chiar are sens!' - este vorba despre ITEM ID RANGE, adica ce ID poate lua un item in tabelul item din player.
1 --> Serverul de test are un numar maxim de 11 milioane de iteme - primele 10 milioane se pot crea doar pe canalul 99 si 1 milion pe canalul 1, ciudat dar oricum nu ai nevoie de mai mult de atat pentru un server unde testezi.
2 --> Din aceasta schema reiese ca fiecare core adauga un numar de 10 milioane de id-uri posibile pentru itemele noastre. Deci conform lor, fiecare canal (pentru ca are 5 core-uri) suporta numarul de 50 de milioane de iteme.
3 --> Aici vedem aceeasi structura pentru canalul 2 iar numerele continua, 10 milioane de iteme pentru fiecare core al canalului 2. In total avem cu 2 canale si 10 coreuri un numar maxim de 100 de milioane de iteme.
4 --> Interesant e faptul ca primele 10 milioane de iteme (id-uri) apartin exclusiv canalului 99. De asta multi o sa vedeti ca in tabelul item numaratoare incepe de la 10 milioane.
Cat de important e acest lucru? Daca facem o socoata simpla, un server de durata care a strans 100.000 de caractere in timp si cu un numar average de 400 iteme / caracter ajungem la numarul de 40 de milioane. Ideea este ca lucrul asta a fost conceput pentru viitor si nu 1 sau 2 ani asa ca un server poate rula destul timp, avand o banda larga de iteme (6CH/5C => 310 milioane iteme posibile) - iar asta nu este tot. Mai jos avem o mica schita cum putem ajusta numerele (logic daca intelegi schematica de mai sus) in cazul in care depasim un anumit numar:
1 --> Aici vedem ca exista o documentatie privind o anumita 'Item Recovery Band' insa aceasta este goala. Probabil la momentul acela nu exista ceva pentru a recupera itemele insa ma gandesc ca acum exista (totusi nu am auzit sa fie recuperabile itemele pe oficial) - niciodata. Un lucru de genu se poate face extrem de usor, de exemplu prin trecerea itemelor sterse intr-un tabel separat item_deleted, la fel cum exista si player_deleted pentru caracterele sterse.
Mai sus aveti exemple cum sa va configurati fiecare core in parte si anume fisierul CONFIG exemplar. Puteti vedea ca range-ul este definit in fiecare core. Acesta poate sa fie schimbat dupa un timp pentru a genera alte id-uri pentru iteme. Inca un lucru important este unicitatea la fiecare port normal si p2p pentru fiecare core in parte care nu trebuie sa lipseasca.
Personal va recomand sa va faceti un fisier text sau tabel unde sa organizati inainte de toate porturile si range-urile pentru fiecare ch/core inainte sa va apucati sa configurati serverul vostru.
Pentru mai multe intrebari sau probleme, te asteptam cu un topic aici: support.html sau aici: cereri.html
sau direct pe serverul nostru de Discord: https://discord.com/invite/nknhnXY8