1 mesaj
Administrator Administrator
  • Mesaje: 4326
  • Reacții: 86566
  • Mesaje utile: 44
  • Status: Pe aici.. 🤠
  • Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Acest tutorial iti arata cum sa rezolvi problema de duplicare a itemelor prin sistemul de schimba canalul in Metin2.

    Fixul de baza consta in verificarea CanWarp() inainte de schimbarea canalului, astfel incat jucatorul sa nu poata schimba CH-ul daca are deschise sisteme sensibile precum trade, safebox, shop, cube, acce sau offline shop.

    Este un fix foarte important pentru securitatea serverului.

    *Poze / Video:
    [FIX] Switch Channel Dupe Exploit - Mesaj 1 - Imagine 1
    *Link download / Code:

    Deschide char.cpp si cauta functia:
    Code:
    	void CHARACTER::ChannelSwitch(int iNewChannel)
    
    Cauta inceputul functiei, de exemplu:
    Code:
    	void CHARACTER::ChannelSwitch(int iNewChannel){
    		long lAddr;
    		long lMapIndex;
    		WORD wPort;
    		long x = this->GetX();
    		long y = this->GetY();
    
    Inlocuieste / Adapteaza cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide char.cpp si cauta functia:
    Code:
    	bool CHARACTER::CanWarp() const
    
    Cauta:
    Code:
    	bool CHARACTER::CanWarp() const
    	{
    		const int iPulse = thecore_pulse();
    		const int limit_time = PASSES_PER_SEC(g_nPortalLimitTime);
    		if ((iPulse - GetSafeboxLoadTime()) < limit_time)
    			return false;
    		if ((iPulse - GetExchangeTime()) < limit_time)
    			return false;
    		if ((iPulse - GetMyShopTime()) < limit_time)
    			return false;
    		if ((iPulse - GetRefineTime()) < limit_time)
    			return false;
    		if (GetExchange() || GetMyShop() || GetShopOwner() || IsOpenSafebox() || IsCubeOpen())
    			return false;
    		return true;
    	}
    
    Adapteaza cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide char.h si cauta:
    Code:
    	void			ResetStopTime();
    	DWORD			GetStopTime() const;
    
    Adauga sub:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide fisierele unde ai sistemul offline shop si cauta zonele unde jucatorul:
    Code:
    	- deschide shopul
    	- inchide shopul
    	- editeaza shopul
    	- cumpara iteme
    	- intra ca guest in shop / auction
    
    Adauga / Adapteaza cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie scurta:
    - CanWarp() trebuie sa blocheze schimbarea canalului daca playerul foloseste un sistem sensibil
    - daca ChannelSwitch() nu verifica CanWarp(), pot aparea exploituri de duplicare
    - pentru orice sistem custom instalat, trebuie sa adaugi verificari suplimentare in CanWarp()

    Exemple de sisteme care ar trebui verificate:
    - offline shop
    - acce
    - auction
    - mail / post / warehouse custom
    - alte sisteme care muta, vand, combina sau schimba iteme

    Fixul de baza este acesta:
    Code:
    	if (!CanWarp()){
    		return;
    	}
    
    Dar ca sa fie complet, trebuie sa adaptezi si CanWarp() pentru toate sistemele custom pe care le ai in sursa. Daca nu faci asta, channel switcher-ul poate ramane vulnerabil pe alte sisteme.

    Acesta este unul dintre cele mai importante fixuri de securitate pentru serverele Metin2 care folosesc channel switcher.

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    Te asteptam si pe serverul de Discord :p - aici ne-am strans toata comunitatea de Metin2 din Romania.
    Link: https://discord.gg/jWxeDSf7HP

    Suntem aproape 2000 membri! - Avem chat activ zilnic, support, cereri, resurse. :D :ymcowboy:





    See full signature

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “FIX-uri”

    Informații

    Utilizatori ce navighează pe acest forum: 0NeXuS0, Gremory, RaKu, vlad1920 și 2 vizitatori

    Discord ID copiat: