PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

Como resolver problemas de atualização de pacotes e patches do cliente Metin2?

Yazdır

Como resolver problemas de atualização de pacotes e patches do cliente Metin2?

Guia detalhado para problemas de patcher, pack, root, locale e ficheiros de clientes antigos.

Nos servidores Metin2, as alterações feitas no lado do cliente devem chegar corretamente aos jogadores. Quando os ficheiros root, locale, uiscript, icon, item_proto, mob_proto, map ou effect são atualizados, podem ocorrer graves incompatibilidades caso o jogador entre no jogo com os ficheiros antigos.

Se o patcher não estiver a funcionar, se o ficheiro não estiver a ser descarregado, se os jogadores estiverem a iniciar sessão com o pacote antigo ou se alguns jogadores apresentarem erros e outros não, o problema está normalmente no sistema de atualização do cliente.

Explicação simples: Se o servidor foi atualizado mas o cliente do jogador permanece antigo, o jogador tenta entrar no jogo com ficheiros antigos que não conhecem as novas regras. Isto resulta em não aparição, fecho ou erro.

1. Sintomas de problema de patch

  • Os novos ícones de itens não aparecem para os jogadores.
  • Alguns jogadores enfrentam desligamentos de clientes, outros não.
  • A nova mudança na interface não se reflete no leitor.
  • O novo mapa não abre para alguns jogadores.
  • O Patcher não descarrega ficheiros ou apresenta erro.
  • Mesmo que a raiz seja atualizada, o jogo corre com o ficheiro Python antigo.
  • Os erros de ficheiro de pacote em falta aparecem no syserr do cliente.

2. Quais os ficheiros que devem ser atualizados?

Os ficheiros do pacote que precisam de ser atualizados variam consoante as alterações efetuadas.

  • Alteração na interface Python: pacote de root
  • Textos de tradução e interface: pacote local
  • Ícone de novo artigo: pacote de ícones e item_list
  • Novo item/multidão: cliente item_proto, mob_proto, ficheiros de ícones/modelo
  • Novo mapa: pacote de mapas, atlasinfo, ficheiros de terreno/propriedade
  • Novo efeito: ficheiros de efeitos e definições de efeitos

Atualizar apenas um ficheiro pode não ser suficiente. Por exemplo, ao adicionar um novo item, os ficheiros item_proto do servidor, item_proto do cliente, item_list e ícone devem ser compatíveis.

3.º O leitor está realmente a utilizar o cliente atual?

A primeira verificação é se o jogador recebeu um patch atualizado. Enquanto o programador vê o ficheiro atualizado no seu cliente, os jogadores podem continuar a fazer login com o ficheiro antigo.

Coisas a verificar:

  • O Patcher descarregou o novo ficheiro?
  • A data do ficheiro na pasta Pack é atual?
  • O player salta o patcher e entra directamente com o exe?
  • A antiga pasta do cliente poderia ser utilizada?
  • O ficheiro está realmente atualizado no servidor de patches?
  • O Cache ou o CDN poderão estar a fornecer o ficheiro antigo?
Importante: “Funciona para mim” por si só não é um teste suficiente. O teste deve ser feito corrigindo de raiz com um cliente limpo.

4. Lista de patches ou verificação do ficheiro de versão

Os sistemas patcher funcionam geralmente através de uma lista de patches, ficheiro de versão ou lista de hash de ficheiros. Se a lista de patches não for atualizada mesmo que o ficheiro esteja atualizado, o patcher poderá não descarregar o novo ficheiro.

Lógica de controlo geral:

  • O ficheiro do pacote atualizado foi adicionado à lista de patches?
  • O tamanho do ficheiro está correto?
  • O valor de hash ou CRC foi atualizado?
  • O número da versão foi aumentado?
  • O caminho do ficheiro está em conformidade com o formato do patcher?

A infraestrutura do Patcher pode ser diferente em cada servidor. Assim, tomando como exemplo uma linha de ficheiro de trabalho existente, a nova linha de ficheiro deve ser editada no mesmo formato.

5.º O ficheiro do pacote mudou realmente?

Por vezes, o ficheiro é editado na pasta de origem, mas o ficheiro do pacote não é reembalado. Neste caso, o programador pensa que fez uma alteração, mas o cliente ainda utiliza o conteúdo antigo do pacote.

Lista de verificação:

  • O root ou o locale foram realmente reembalados?
  • O ficheiro empacotado foi copiado para a pasta correta do cliente?
  • O ficheiro no servidor de patch é antigo ou novo?
  • O Patcher grava o ficheiro descarregado no local correto?
  • O ficheiro de índice do pacote mostra o novo ficheiro?

6.º O que acontece se os jogadores saltarem o patcher?

Alguns jogadores podem executar o ficheiro exe do cliente directamente em vez do patcher. Neste caso, não recebem atualizações e tentam entrar no jogo com ficheiros antigos.

Como resultado:

  • Novos itens não aparecem.
  • Novos mapas não serão abertos.
  • As interfaces Python apresentam erros.
  • Ocorre incompatibilidade de proto cliente-servidor.
  • Certos sistemas funcionam para alguns jogadores e não para outros.

Em servidores profissionais, o comportamento de bypass do patcher deve ser evitado ou deve ser feito o controlo de versão do cliente.

7. Detetar problemas de patch com o cliente Syserr

Nas notificações de erro provenientes do player, o cliente deve ser syserr.txt ficheiro deve ser solicitado.

Em caso de deficiência do adesivo, podem ocorrer os seguintes erros:

CANNOT_FIND_PACK_FILE
Failed to load image
No such file or directory
LoadScriptFile Error
Traceback File "uiInventory.py"

Se houver um erro de ficheiro em falta no ficheiro syserr do leitor, o patcher pode não ter descarregado esse ficheiro ou o ficheiro pode não ter sido adicionado ao pacote.

8.º Como realizar testes de cliente limpo?

Deve ser realizado um teste de cliente limpo para perceber se a atualização está realmente distribuída corretamente.

  • Não utilize a pasta do cliente antiga.
  • Obtenha uma cópia limpa do cliente.
  • Execute o patcher de raiz.
  • Verifique se todos os ficheiros foram descarregados.
  • Faça login no jogo e teste o sistema atualizado.
  • Verifique o ficheiro syserr.txt do cliente.

Se funcionar num cliente limpo, mas não funcionar no leitor, deve considerar-se que o leitor não recebeu um patch ou está a utilizar um cliente antigo.

9.Se utilizar CDN ou cache

Se os ficheiros de patch estiverem atrás de um CDN ou de uma cache, os ficheiros antigos poderão continuar a ser veiculados durante algum tempo. Neste caso, mesmo que o ficheiro esteja atualizado no servidor de patches, o leitor pode descarregar o ficheiro antigo.

Como solução:

  • O cache do CDN deve ser limpo.
  • O nome do ficheiro ou o número da versão podem ser alterados.
  • O valor hash da lista de patches deve ser atualizado.
  • O tamanho do ficheiro descarregado pelo leitor deve ser verificado.

Erros Comuns

  • Esquecer de editar e compactar o ficheiro raiz
  • Não atualizando patchlist ou valor de hash
  • Permitir que os jogadores ignorem o patcher e entrem via exe
  • Não realizando testes de cliente limpos
  • Não se apercebendo que os ficheiros antigos estão a ser distribuídos devido ao cache do CDN
  • Ignorar a atualização do pacote do cliente ao atualizar o servidor

Perguntas frequentes

Funciona para mim, mas não funciona para os jogadores, porquê?
Pode estar a usar um cliente atualizado. Os jogadores podem ter recebido um pacote antigo, root antigo ou patch em falta.

Adicionei um novo item, alguns jogadores não têm ícone. Qual é o motivo?
O novo ícone, item_list ou cliente item_proto pode não estar atualizado no cliente dos jogadores.

O Patcher não está a descarregar ficheiros, o que devo verificar?
A patchlist, o caminho do ficheiro, o hash/CRC, o número da versão, o acesso ao servidor web e a cache CDN devem ser verificados.

Recomendações de operação

  • Execute testes limpos do cliente após cada atualização do cliente.
  • Verifique a lista de patches e os hashes dos ficheiros regularmente.
  • Utilize o controlo de versão para evitar que os jogadores ignorem o patcher.
  • Planeie alterações de raiz, localidade e proto em conjunto.
  • Examine os ficheiros syserr.txt recebidos dos jogadores após a atualização.

Este artigo foi preparado especialmente para o PvPServer.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner