Hur löser man problem med Metin2 Client Patch and Pack Update?
Detaljerad guide för problem med patcher, pack, root, språk och gamla klientfiler.
På Metin2-servrar måste ändringar som görs på klientsidan nå spelarna korrekt. När rot-, lokal-, uiscript-, ikon-, item_proto-, mob_proto-, kart- eller effektfiler uppdateras kan allvarliga inkompatibiliteter uppstå om spelaren går in i spelet med de gamla filerna.
Om patchern inte fungerar, om filen inte laddas ner, om spelarna loggar in med det gamla paketet, eller om vissa spelare har fel men andra inte, är problemet vanligtvis i klientuppdateringssystemet.
1. Symtom på patchproblem
- Ikoner för nya objekt visas inte för spelare.
- Vissa spelare upplever klientavstängningar, andra inte.
- Den nya gränssnittsändringen återspeglas inte i spelaren.
- Den nya kartan öppnas inte för vissa spelare.
- Patcher laddar inte ner filer eller ger ett fel.
- Även om roten är uppdaterad körs spelet med den gamla Python-filen.
- Saknade packfilfel visas i klientsyserr.
2. Vilka filer bör uppdateras?
Paketfilerna som behöver uppdateras varierar beroende på de ändringar som görs.
- Python-gränssnittsändring: rootpack
- Översättning och gränssnittstexter: lokalt paket
- Ikon för nytt objekt: icon pack och item_list
- Ny artikel/mob: client item_proto, mob_proto, ikon/modellfiler
- Ny karta: kartpaket, atlasinfo, terräng-/egendomsfiler
- Ny effekt: effektfiler och effektdefinitioner
Det räcker kanske inte att bara uppdatera en enda fil. Till exempel, när du lägger till ett nytt objekt måste både server item_proto, client item_proto, item_list och ikonfiler vara kompatibla.
3. Använder spelaren verkligen den aktuella klienten?
Den första kontrollen är om spelaren har fått en uppdaterad patch. Medan utvecklaren ser filen som uppdaterad i sin klient kan spelare fortsätta att logga in med den gamla filen.
Saker att kontrollera:
- Laddade Patcher ner den nya filen?
- Är fildatumet i Pack-mappen aktuellt?
- Hopar spelaren över patchern och går in direkt med exe:et?
- Kan den gamla klientmappen användas?
- Är filen verkligen uppdaterad på patchservern?
- Kan Cache eller CDN ge den gamla filen?
4. Kontroll av patchlista eller versionsfil
Patchersystem fungerar vanligtvis genom en patchlista, versionsfil eller filhashlista. Om patchlistan inte uppdateras trots att filen är uppdaterad, kanske patchern inte laddar ner den nya filen.
Allmän kontrolllogik:
- Har den uppdaterade packfilen lagts till i patchlistan?
- Är filstorleken korrekt?
- Har hash- eller CRC-värdet uppdaterats?
- Har versionsnumret utökats?
- Överensstämmer filsökvägen med patcherformatet?
Patcher-infrastrukturen kan vara olika på varje server. Därför, med en befintlig arbetsfilrad som exempel, bör den nya filraden redigeras i samma format.
5. Har packfilen verkligen ändrats?
Ibland redigeras filen i källmappen men packningsfilen packas inte om. I det här fallet tror utvecklaren att han har gjort en förändring, men klienten använder fortfarande det gamla paketets innehåll.
Checklista:
- Har root eller lokalisering verkligen packats om?
- Har den paketerade filen kopierats till rätt klientmapp?
- Är filen på patchservern gammal eller ny?
- Skriver Patcher den nedladdade filen till rätt plats?
- Visar packindexfilen den nya filen?
6. Vad händer om spelare hoppar över patchern?
Vissa spelare kan köra klient exe-filen direkt istället för patchern. I det här fallet får de inga uppdateringar och försöker komma in i spelet med gamla filer.
Som ett resultat:
- Nya objekt visas inte.
- Nya kartor öppnas inte.
- Python-gränssnitt ger fel.
- Inkompatibilitet mellan klient-serverproto uppstår.
- Vissa system fungerar för vissa spelare och inte för andra.
På professionella servrar bör patcherbypass-beteende förhindras eller klientversionskontroll göras.
7. Att fånga patchproblem med Client Syserr
I felmeddelanden som kommer från spelaren måste klienten vara syserr.txt fil bör begäras.
Vid brist på patch kan följande fel uppstå:
CANNOT_FIND_PACK_FILE Failed to load image No such file or directory LoadScriptFile Error Traceback File "uiInventory.py"
Om det saknas ett filfel i spelarens syserr-fil kan det hända att patchern inte har laddat ner den filen eller så har filen inte lagts till i paketet.
8. Hur utför man Clean Client Testing?
Ett rent klienttest måste utföras för att förstå att uppdateringen faktiskt distribueras korrekt.
- Använd inte den gamla klientmappen.
- Skaffa en ren klientkopia.
- Kör lappen från början.
- Kontrollera att alla filer är nedladdade.
- Logga in på spelet och testa det uppdaterade systemet.
- Kontrollera filen syserr.txt för klienten.
Om det fungerar på en ren klient men inte fungerar på spelaren, bör det anses att spelaren inte har fått en patch eller använder en gammal klient.
9. Om du använder CDN eller cache
Om patchfiler finns bakom ett CDN eller cache, kan gamla filer fortsätta att visas ett tag. I det här fallet, även om filen är uppdaterad på patchservern, kan spelaren ladda ner den gamla filen.
Som en lösning:
- CDN-cache måste rensas.
- Filnamnet eller versionsnumret kan ändras.
- Patchlist-hashvärdet måste uppdateras.
- Filstorleken som laddas ner av spelaren bör kontrolleras.
Vanliga misstag
- Glömde att redigera och packa rotfilen
- Uppdaterar inte patchlist eller hashvärde
- Tillåter spelare att kringgå patcher och gå in via exe
- Utför inte rena klienttester
- Inser inte att gamla filer distribueras på grund av CDN-cache
- Hoppa över klientpaketuppdateringen medan servern uppdateras
FAQ
Det fungerar för mig men det fungerar inte för spelarna, varför?
Du kanske använder en uppdaterad klient. Spelare kan ha fått ett gammalt paket, gammal rot eller saknad patch.
Jag har lagt till ett nytt objekt, vissa spelare har ingen ikon. Vad är anledningen?
Den nya ikonen, item_list eller client item_proto kanske inte är uppdaterad på spelarens klient.
Patcher laddar inte ner filer, vad ska jag kontrollera?
Patchlista, filsökväg, hash/CRC, versionsnummer, webbserveråtkomst och CDN-cache bör kontrolleras.
Driftsrekommendationer
- Utför rena klienttester efter varje klientuppdatering.
- Kontrollera korrigeringslistan och filhasharna regelbundet.
- Använd versionskontroll för att förhindra spelare från att kringgå patchern.
- Planera rot-, lokal- och protoförändringar tillsammans.
- Undersök syserr.txt-filerna som tagits emot från spelare efter uppdateringen.
Den här artikeln är speciellt förberedd för PvPServer.