Како да ги решите проблемите со закрпи и ажурирање на пакетите на клиентот Metin2?
Детален водич за проблеми со patcher, pack, root, locale и стари датотеки со клиент.
На серверите Metin2, промените направени на клиентската страна мора правилно да стигнат до играчите. Кога се ажурираат датотеките со root, локација, uiscript, икона, item_proto, mob_proto, мапа или ефект, може да настанат сериозни некомпатибилности ако играчот влезе во играта со старите датотеки.
Ако закржувачот не работи, ако датотеката не се презема, ако играчите се најавуваат со стариот пакет или ако некои играчи имаат грешки, но други не, проблемот обично е во системот за ажурирање на клиентот.
1. Симптоми на проблем со лепенка
- Иконите за нови ставки не се појавуваат за играчите.
- Некои играчи доживуваат исклучување на клиентите, некои не.
- Новата промена на интерфејсот не се рефлектира во плеерот.
- Новата мапа не се отвора за некои играчи.
- Patcher не презема датотеки или дава грешка.
- Иако коренот е ажуриран, играта работи со старата датотека Python.
- Грешките на датотеката со пакетот што недостасуваат се појавуваат во клиентскиот syserr.
2. Кои датотеки треба да се ажурираат?
Пакет-датотеките што треба да се ажурираат варираат во зависност од направените промени.
- Промена на интерфејсот на Пајтон: rootpack
- Текстови за превод и интерфејс: локално пакување
- Икона за нова ставка: пакет со икони и список на ставки
- Нова ставка/моб: клиент ставка_прото, моб_прото, датотеки со икона/модел
- Нова карта: пакет со карти, атласинфо, теренски/имотни датотеки
- Нов ефект: датотеки со ефект и дефиниции за ефекти
Ажурирањето на само една датотека можеби не е доволно. На пример, кога додавате нова ставка, и серверот item_proto, client item_proto, item_list и иконите мора да бидат компатибилни.
3. Дали играчот навистина го користи тековниот клиент?
Првата проверка е дали играчот добил ажурирана закрпа. Додека развивачот ја гледа датотеката како ажурирана кај неговиот клиент, играчите можат да продолжат да се најавуваат со старата датотека.
Работи за проверка:
- Дали Patcher ја презеде новата датотека?
- Дали датумот на датотеката во папката Pack е актуелен?
- Дали играчот го прескокнува лепенката и влегува директно со exe?
- Дали може да се користи старата папка со клиентот?
- Дали датотеката е навистина ажурирана на серверот за закрпи?
- Дали кешот или CDN ја даваат старата датотека?
4. Список за закрпи или проверка на датотеката со верзија
Системите за закрпи генерално работат преку листа за закрпи, датотека со верзии или хаш листа на датотеки. Ако списокот со закрпи не се ажурира иако датотеката е ажурирана, закрпи може да не ја преземе новата датотека.
Општа контролна логика:
- Дали ажурираната датотека на пакетот е додадена на списокот со закрпи?
- Дали големината на датотеката е точна?
- Дали вредноста на хашот или CRC е ажурирана?
- Дали е зголемен бројот на верзијата?
- Дали патеката на датотеката е во согласност со форматот на закрпи?
Инфраструктурата на Patcher може да биде различна на секој сервер. Затоа, земајќи ја постоечката работна линија на датотека како пример, новата линија за датотеки треба да се уредува во истиот формат.
5. Дали датотеката Pack навистина е променета?
Понекогаш датотеката се уредува во изворната папка, но датотеката на пакетот не е повторно спакувана. Во овој случај, развивачот мисли дека направил промена, но клиентот сè уште ја користи старата содржина на пакетот.
Список за проверка:
- Дали коренот или локалот навистина се препакувани?
- Дали спакуваната датотека е копирана во правилната клиентска папка?
- Дали датотеката на закрпи серверот е стара или нова?
- Дали Patcher ја запишува преземената датотека на правилната локација?
- Дали датотеката со индекс на пакет ја прикажува новата датотека?
6. Што се случува ако играчите го прескокнат Patcher?
Некои играчи можат директно да ја стартуваат датотеката exe на клиентот наместо закрпи. Во овој случај, тие не добиваат ажурирања и се обидуваат да влезат во играта со стари датотеки.
Како резултат:
- Новите ставки не се појавуваат.
- Новите карти нема да се отворат.
- Интерфејсите на Пајтон даваат грешки.
- Се јавува прото некомпатибилност клиент-сервер.
- Одредени системи работат за некои играчи, а не за други.
На професионалните сервери, однесувањето на бајпас на закрпи треба да се спречи или да се направи контрола на верзијата на клиентот.
7. Фаќање проблеми со закрпи со клиентот Syserr
Во известувањата за грешки што доаѓаат од плеерот, клиентот мора да биде syserr.txt треба да се побара датотека.
Во случај на недостаток на лепенка, може да се појават следниве грешки:
CANNOT_FIND_PACK_FILE Failed to load image No such file or directory LoadScriptFile Error Traceback File "uiInventory.py"
Ако недостасува грешка во датотеката во syserr-датотеката на плеерот, заштитувачот можеби не ја преземал таа датотека или датотеката можеби не е додадена во пакетот.
8. Како да се изврши чисто тестирање на клиентот?
Мора да се изврши тест за чист клиент за да се разбере дека ажурирањето всушност е правилно дистрибуирано.
- Не користете ја старата папка со клиентот.
- Добијте чиста копија од клиентот.
- Стартувај го крпечот од нула.
- Проверете дали се преземени сите датотеки.
- Пријавете се во играта и тестирајте го ажурираниот систем.
- Проверете ја датотеката syserr.txt на клиентот.
Ако работи на чист клиент, но не работи на плеерот, треба да се земе предвид дека играчот нема добиено закрпа или користи стар клиент.
9. Ако користите CDN или кеш
Ако закрпи-датотеките се зад CDN или кеш, старите датотеки може да продолжат да се сервираат некое време. Во овој случај, дури и ако датотеката е ажурирана на серверот за закрпи, плеерот може да ја преземе старата датотека.
Како решение:
- CDN кешот мора да се исчисти.
- Името на датотеката или бројот на верзијата може да се сменат.
- Вредноста на хаш-листата мора да се ажурира.
- Треба да се провери големината на датотеката преземена од плеерот.
Вообичаени грешки
- Заборавајќи да ја уредите и спакувате root датотеката
- Не се ажурира листата на закрпи или хаш вредност
- Дозволувајќи им на играчите да го заобиколат patcher и да влезат преку exe
- Не врши чисто тестирање на клиентот
- Не сфаќајќи дека старите датотеки се дистрибуираат поради кешот CDN
- Прескокнува ажурирање на пакетот клиент додека се ажурира серверот
Најчесто поставувани прашања
Работи за мене, но не работи за играчите, зошто?
Можеби користите ажуриран клиент. Играчите можеби добиле стар пакет, стар корен или лепенка што недостасува.
Додадов нова ставка, некои играчи немаат икона. Која е причината?
Новата икона, item_list или client item_proto можеби не е ажурирана на клиентот на играчите.
Patcher не презема датотеки, што да проверам?
Треба да се проверат списокот за закрпи, патеката на датотеката, хашот/CRC, бројот на верзијата, пристапот до веб-серверот и кешот CDN.
Препораки за работа
- Изведете чисто тестирање на клиентот по секое ажурирање на клиентот.
- Редовно проверувајте ја листата на закрпи и хашот на датотеките.
- Користете контрола на верзијата за да ги спречите играчите да го заобиколат закрпи.
- Планирајте ги промените на root, локално и прото заедно.
- Испитајте ги датотеките syserr.txt добиени од играчите по ажурирањето.
Оваа статија е специјално подготвена за PvPServer.