Administrator
Administrator
  • Mesaje: 4792
    Membru din: 07 Aug 2024, 21:53
  • Reacții: 115421
  • Mesaje utile: 46
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Descriere

    Acest fix rezolvă problema de sincronizare a timpului dintre server și clientul Metin2. În mod normal, clientul primește timpul serverului o singură dată, iar eventualele întârzieri ale pachetului pot genera diferențe vizibile în joc.

    Soluția folosește măsurarea periodică a Round Trip Time (RTT) și calculează offset-ul de rețea ținând cont de jumătate din latență, oferind o sincronizare mult mai precisă.

    sincronizare corectă între timpul clientului și serverului;

    reduce diferențele provocate de latență;

    rezolvă probleme precum afișarea affect-urilor mai mult decât durata reală;

    resincronizare periodică automată.

    English Description

    This fix improves time synchronization between the Metin2 server and client. Normally, the client synchronizes its clock using a single server packet, meaning network latency can create an incorrect time offset.

    The system periodically measures the Round Trip Time (RTT) and uses the network delay when calculating the time offset, keeping the client synchronized with the server.

    accurate client-server time synchronization;

    compensates for network latency;

    fixes incorrect affect duration display;

    automatic periodic resynchronization.



    *Link download / Code:

    Server Source

    Deschide service.h si adauga:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide input.h si cauta:
    Code:
    void Refine(LPCHARACTER ch, const char* c_pData);
    Adauga dedesubt:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide input_main.cpp si cauta:
    Code:
    #include "dungeon.h"
    Adauga dedesubt:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta:
    Code:
    case HEADER_CG_REFINE:
    	Refine(ch, c_pData);
    	break;
    Adauga dedesubt:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    La finalul fisierului input_main.cpp adauga:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide packet.h si cauta:
    Code:
    HEADER_CG_TIME_SYNC = 0xfc,
    Adauga deasupra:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    In acelasi fisier cauta:
    Code:
    HEADER_GC_TIME_SYNC = 0xfc,
    Adauga deasupra:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta:
    Code:
    #pragma pack()
    Adauga deasupra:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Repeta modificarile de mai sus din packet.h si in fisierul corespunzator din Client Source.


    Deschide packet_info.cpp si cauta:
    Code:
    Set(HEADER_CG_STATE_CHECKER, sizeof(BYTE), "ServerStateCheck", false);
    Adauga dedesubt:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Client Source

    Deschide Control.h sau UserInterface/Locale_Inc.h si adauga:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide UserInterface/GameType.cpp si adauga la finalul fisierului:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide UserInterface/GameType.h si adauga la finalul fisierului:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide UserInterface/PythonApplication.cpp si cauta:
    Code:
    #include "PythonCharacterManager.h"
    Adauga dedesubt:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta:
    Code:
    , m_dwBufSleepSkipTime(0)
    Adauga dedesubt:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta functia:
    Code:
    time_t CPythonApplication::GetServerTimeStamp()
    Inlocuieste toata functia cu:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    La finalul fisierului UserInterface/PythonApplication.cpp adauga:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide UserInterface/PythonApplication.h si cauta:
    Code:
    int m_iContinuousCursorNum;
    Adauga dedesubt:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide UserInterface/PythonNetworkStream.cpp si cauta:
    Code:
    Set(HEADER_GC_DRAGON_SOUL_REFINE, TPacketType(sizeof(TPacketGCDragonSoulRefine), STATIC_SIZE_PACKET));
    Adauga dedesubt:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide UserInterface/PythonNetworkStream.h si cauta:
    Code:
    void __BettingGuildWar_SetBettingMoney(UINT uBettingMoney);
    Adauga dedesubt:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide UserInterface/PythonNetworkStreamPhaseGame.cpp si cauta:
    Code:
    DWORD dwRecvCount = 0;
    Adauga dedesubt:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    La finalul fisierului UserInterface/PythonNetworkStreamPhaseGame.cpp adauga:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    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
    Comunitatea Metin2 Romania este si pe Discord! :ymcowboy:

    2500+ membri • Chat activ zilnic • Support • Cereri & Resurse

    ► discord.gg/jWxeDSf7HP ◄





    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: Brunofufu4, ModeratorBitches, rid și 3 vizitatori

    Discord ID copiat: