Hvordan løses Metin2 Client Patch and Pack Update-problemer?
Detaljeret guide til problemer med patcher, pack, root, lokalitet og gamle klientfiler.
På Metin2-servere skal ændringer foretaget på klientsiden nå spillerne korrekt. Når root-, locale-, uiscript-, icon-, item_proto-, mob_proto-, map- eller effektfilerne opdateres, kan der opstå alvorlige inkompatibiliteter, hvis spilleren går ind i spillet med de gamle filer.
Hvis patcheren ikke virker, hvis filen ikke downloades, hvis spillerne logger på med den gamle pakke, eller hvis nogle spillere har fejl, men andre ikke gør, er problemet normalt i klientopdateringssystemet.
1. Symptomer på patchproblem
- Ikoner for nye elementer vises ikke for spillere.
- Nogle spillere oplever klientlukninger, andre gør ikke.
- Den nye grænsefladeændring afspejles ikke i afspilleren.
- Det nye kort åbner ikke for nogle spillere.
- Patcher downloader ikke filer eller giver en fejl.
- Selvom roden er opdateret, kører spillet med den gamle Python-fil.
- Manglende pakkefilfejl vises i klientsyserr.
2. Hvilke filer skal opdateres?
De pakkefiler, der skal opdateres, varierer afhængigt af de foretagne ændringer.
- Ændring af Python-grænsefladen: rootpack
- Oversættelse og grænsefladetekster: lokal pakke
- Ikon for nyt element: ikonpakke og item_list
- Ny vare/mob: klient item_proto, mob_proto, ikon/model filer
- Nyt kort: kortpakke, atlasinfo, terræn/ejendomsfiler
- Ny effekt: effektfiler og effektdefinitioner
Det er muligvis ikke nok at opdatere kun en enkelt fil. For eksempel, når du tilføjer et nyt element, skal både server item_proto, client item_proto, item_list og ikonfiler være kompatible.
3. Bruger afspilleren virkelig den aktuelle klient?
Den første kontrol er, om spilleren har modtaget en opdateret patch. Mens udvikleren ser filen som opdateret i sin klient, kan spillere fortsætte med at logge på med den gamle fil.
Ting at tjekke:
- Har Patcher downloadet den nye fil?
- Er fildatoen i Pack-mappen aktuel?
- Springer afspilleren patcheren over og går direkte ind med exe'en?
- Kunne den gamle klientmappe bruges?
- Er filen faktisk opdateret på patch-serveren?
- Kan Cache eller CDN give den gamle fil?
4. Kontrol af patchliste eller versionsfil
Patcher-systemer fungerer generelt gennem en patchliste, versionsfil eller filhashliste. Hvis patchlisten ikke er opdateret, selvom filen er opdateret, downloader patcheren muligvis ikke den nye fil.
Generel kontrollogik:
- Er den opdaterede pakkefil blevet tilføjet til patchlisten?
- Er filstørrelsen korrekt?
- Er hash- eller CRC-værdien blevet opdateret?
- Er versionsnummeret blevet øget?
- Er filstien i overensstemmelse med patcher-formatet?
Patcher-infrastruktur kan være forskellig på hver server. Hvis man tager en eksisterende arbejdsfillinje som eksempel, bør den nye fillinje derfor redigeres i samme format.
5. Er pakkefilen virkelig ændret?
Nogle gange redigeres filen i kildemappen, men pakkefilen pakkes ikke om. I dette tilfælde tror udvikleren, at han har foretaget en ændring, men klienten bruger stadig det gamle pakkeindhold.
Tjekliste:
- Er root eller lokalitet virkelig blevet pakket om?
- Er den pakkede fil blevet kopieret til den korrekte klientmappe?
- Er filen på patch-serveren gammel eller ny?
- Skriver Patcher den downloadede fil til den korrekte placering?
- Viser pakkeindeksfilen den nye fil?
6. Hvad sker der, hvis spillere springer patcheren over?
Nogle spillere kan køre klient exe-filen direkte i stedet for patcheren. I dette tilfælde modtager de ikke opdateringer og forsøger at komme ind i spillet med gamle filer.
Som et resultat:
- Nye varer vises ikke.
- Nye kort åbnes ikke.
- Python-grænseflader giver fejl.
- Klient-server proto-inkompatibilitet opstår.
- Visse systemer virker for nogle spillere og ikke for andre.
På professionelle servere bør patcher-bypass-adfærd forhindres, eller klientversionskontrol bør udføres.
7. At fange patchproblemer med Client Syserr
I fejlmeddelelser, der kommer fra afspilleren, skal klienten være syserr.txt fil skal rekvireres.
I tilfælde af patchmangel kan følgende fejl opstå:
CANNOT_FIND_PACK_FILE Failed to load image No such file or directory LoadScriptFile Error Traceback File "uiInventory.py"
Hvis der er en manglende filfejl i afspillerens syserr-fil, har patcheren muligvis ikke downloadet den fil, eller filen er muligvis ikke blevet tilføjet til pakken.
8. Hvordan udfører man ren klienttest?
En ren klienttest skal udføres for at forstå, at opdateringen faktisk er distribueret korrekt.
- Brug ikke den gamle klientmappe.
- Få en ren klientkopi.
- Kør patcheren fra bunden.
- Kontroller, at alle filer er downloadet.
- Log ind på spillet og test det opdaterede system.
- Tjek klientens syserr.txt-fil.
Hvis det virker på en ren klient, men ikke virker på afspilleren, skal det tages i betragtning, at spilleren ikke har modtaget en patch eller bruger en gammel klient.
9. Hvis du bruger CDN eller cache
Hvis patch-filer er bag en CDN eller cache, kan gamle filer blive ved med at blive serveret i et stykke tid. I dette tilfælde, selvom filen er opdateret på patch-serveren, kan afspilleren downloade den gamle fil.
Som en løsning:
- CDN-cachen skal ryddes.
- Filnavnet eller versionsnummeret kan ændres.
- Patchliste-hashværdi skal opdateres.
- Filstørrelsen, der downloades af afspilleren, skal kontrolleres.
Almindelige fejl
- Glemte at redigere og pakke rodfilen
- Opdaterer ikke patchliste eller hashværdi
- Tillader spillere at omgå patcher og gå ind via exe
- Udfører ikke ren klienttest
- Ikke klar over, at gamle filer bliver distribueret på grund af CDN-cache
- Springer klientpakkeopdatering over under opdatering af server
FAQ
Det virker for mig, men det virker ikke for spillerne, hvorfor?
Du bruger muligvis en opdateret klient. Spillere kan have modtaget en gammel pakke, gammel rod eller manglende patch.
Jeg tilføjede et nyt element, nogle spillere har ikke et ikon. Hvad er årsagen?
Det nye ikon, item_list eller client item_proto er muligvis ikke opdateret på spillernes klient.
Patcher downloader ikke filer, hvad skal jeg tjekke?
Patchliste, filsti, hash/CRC, versionsnummer, webserveradgang og CDN-cache bør kontrolleres.
Driftsanbefalinger
- Udfør ren klienttest efter hver klientopdatering.
- Tjek jævnligt patchlisten og filhasherne.
- Brug versionskontrol til at forhindre spillere i at omgå patcheren.
- Planlæg rod-, lokalitets- og protoændringer sammen.
- Undersøg syserr.txt-filerne modtaget fra spillere efter opdateringen.
Denne artikel er specielt forberedt til PvPServer.