Ir para conteúdo
  • Cadastre-se
  • 0

Alguem consegue me ajudar com esse erro ?


exado26

Pergunta

Estou tentando deixar um servidor online para testar e esse erro sempre aparece no gameserver , no login esta tudo funcionando normal .

 

CastleManager: SQL loading failed : Column 'certificates' not found.
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861)
        at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1069)
        at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2559)
        at com.mchange.v2.c3p0.impl.NewProxyResultSet.getInt(NewProxyResultSet.java:451)
        at com.l2j4team.gameserver.instancemanager.CastleManager.<init>(CastleManager.java:55)
        at com.l2j4team.gameserver.instancemanager.CastleManager$SingletonHolder.<clinit>(CastleManager.java:272)
        at com.l2j4team.gameserver.instancemanager.CastleManager.getInstance(CastleManager.java:267)
        at com.l2j4team.gameserver.GameServer.<init>(GameServer.java:277)
        at com.l2j4team.gameserver.GameServer.main(GameServer.java:156)
CastleManager: Loaded 0 castles.
--------------------------------------------------------------=[ Seven Signs ]
Exception in thread "main" java.lang.ExceptionInInitializerError
        at com.l2j4team.gameserver.instancemanager.SevenSigns.getInstance(SevenSigns.java:1236)
        at com.l2j4team.gameserver.GameServer.<init>(GameServer.java:280)
        at com.l2j4team.gameserver.GameServer.main(GameServer.java:156)
Caused by: java.lang.IllegalArgumentException: No enum constant com.l2j4team.gameserver.instancemanager.SevenSigns.CabalType.
        at java.base/java.lang.Enum.valueOf(Enum.java:293)
        at com.l2j4team.gameserver.instancemanager.SevenSigns.restoreSevenSignsData(SevenSigns.java:647)
        at com.l2j4team.gameserver.instancemanager.SevenSigns.<init>(SevenSigns.java:193)
        at com.l2j4team.gameserver.instancemanager.SevenSigns$SingletonHolder.<clinit>(SevenSigns.java:1241)
        ... 3 more

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts recomendados

  • 0
1 hora atrás, exado26 disse:

Estou tentando deixar um servidor online para testar e esse erro sempre aparece no gameserver , no login esta tudo funcionando normal .

 

CastleManager: SQL loading failed : Column 'certificates' not found.
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861)
        at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1069)
        at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2559)
        at com.mchange.v2.c3p0.impl.NewProxyResultSet.getInt(NewProxyResultSet.java:451)
        at com.l2j4team.gameserver.instancemanager.CastleManager.<init>(CastleManager.java:55)
        at com.l2j4team.gameserver.instancemanager.CastleManager$SingletonHolder.<clinit>(CastleManager.java:272)
        at com.l2j4team.gameserver.instancemanager.CastleManager.getInstance(CastleManager.java:267)
        at com.l2j4team.gameserver.GameServer.<init>(GameServer.java:277)
        at com.l2j4team.gameserver.GameServer.main(GameServer.java:156)
CastleManager: Loaded 0 castles.
--------------------------------------------------------------=[ Seven Signs ]
Exception in thread "main" java.lang.ExceptionInInitializerError
        at com.l2j4team.gameserver.instancemanager.SevenSigns.getInstance(SevenSigns.java:1236)
        at com.l2j4team.gameserver.GameServer.<init>(GameServer.java:280)
        at com.l2j4team.gameserver.GameServer.main(GameServer.java:156)
Caused by: java.lang.IllegalArgumentException: No enum constant com.l2j4team.gameserver.instancemanager.SevenSigns.CabalType.
        at java.base/java.lang.Enum.valueOf(Enum.java:293)
        at com.l2j4team.gameserver.instancemanager.SevenSigns.restoreSevenSignsData(SevenSigns.java:647)
        at com.l2j4team.gameserver.instancemanager.SevenSigns.<init>(SevenSigns.java:193)
        at com.l2j4team.gameserver.instancemanager.SevenSigns$SingletonHolder.<clinit>(SevenSigns.java:1241)
        ... 3 more

@exado26 irmão, não sou especialista mas da para ver os erros aí no log.

Primeiro, o game n está conseguindo achar a coluna "certificates" no banco de dados.

(CastleManager: SQL loading failed : Column 'certificates' not found.)

Já o error do Seven Sings pode estar sendo possivelmente causado pelo DB estar incompleto ou mal atualizado.



 

Link para o comentário
Compartilhar em outros sites


  • 0

Esse erro indica dois problemas principais, ambos relacionados ao banco de dados e à configuração do seu servidor de Lineage 2 (l2j4team):

Erro 1: CastleManager: SQL loading failed : Column 'certificates' not found.

O que significa:

O servidor está tentando carregar informações dos castelos do banco de dados, mas não consegue encontrar uma coluna chamada 'certificates' na tabela que ele está consultando (provavelmente castle ou alguma tabela relacionada a castelos).

Causas prováveis:

 * Estrutura do banco de dados desatualizada ou incorreta: O código do seu servidor espera que a tabela de castelos tenha uma coluna chamada certificates, mas essa coluna não existe no seu banco de dados atual. Isso pode acontecer se você:

   * Usou um script SQL para criar o banco de dados que não corresponde à versão do seu código-fonte do servidor.

   * Fez alguma alteração manual no banco de dados que removeu ou renomeou essa coluna.

   * Está usando uma revisão ou versão do l2j4team que requer uma estrutura de banco de dados específica que você não aplicou.

 * Problema de mapeamento ORM (Object-Relational Mapping): Embora menos comum em servidores de jogos como L2J, é possível que haja um erro na forma como o código está mapeando os dados do banco para os objetos Java. No entanto, a mensagem "Column 'certificates' not found" aponta mais diretamente para uma ausência da coluna.

Como resolver:

 * Verifique a estrutura da tabela de castelos:

   * Acesse seu banco de dados (usando phpMyAdmin, MySQL Workbench, DBeaver, etc.).

   * Localize a tabela que armazena as informações dos castelos (geralmente castle ou similar).

   * Verifique se existe uma coluna chamada certificates.

 * Compare com os scripts SQL fornecidos com o seu pacote l2j4team:

   * No pacote do seu servidor l2j4team, procure a pasta sql ou database.

   * Lá você encontrará os scripts SQL para criar as tabelas do banco de dados. Abra o script (geralmente game_server.sql ou algo similar) e procure pela definição da tabela castle (ou a tabela relevante) para ver se a coluna certificates está lá e qual é o tipo dela.

 * Adicione a coluna (se estiver faltando):

   * Se a coluna certificates realmente não existir no seu banco de dados, mas existir nos scripts SQL do seu servidor, você precisará adicioná-la. O comando SQL seria algo como:

     ALTER TABLE `castle` ADD COLUMN `certificates` INT NOT NULL DEFAULT '0' AFTER `alguma_coluna_existente`;

 

     (Ajuste o tipo de dado INT e o DEFAULT conforme o script original do seu servidor e o AFTER para posicionar corretamente).

   * IMPORTANTE: Faça um backup do seu banco de dados antes de fazer qualquer alteração.

 * Verifique a versão do seu banco de dados e drivers JDBC: Certifique-se de que a versão do MySQL (ou outro banco de dados) e o conector JDBC que você está usando são compatíveis com a versão do l2j4team.

Erro 2: Exception in thread "main" java.lang.ExceptionInInitializerError e Caused by: java.lang.IllegalArgumentException: No enum constant com.l2j4team.gameserver.instancemanager.SevenSigns.CabalType.

O que significa:

Este erro ocorre durante a inicialização do sistema dos Sete Selos (Seven Signs). A mensagem No enum constant com.l2j4team.gameserver.instancemanager.SevenSigns.CabalType. indica que o código está tentando converter um valor lido do banco de dados (ou de uma configuração) em um tipo enumerado (enum) chamado CabalType, mas o valor que ele encontrou não corresponde a nenhum dos valores esperados para esse enum.

Causas prováveis:

 * Dados inválidos no banco de dados para Seven Signs: Na tabela que armazena os dados dos Sete Selos (provavelmente seven_signs ou similar), há um valor na coluna que deveria representar o tipo de Cabal (Dawn, Dusk, None, etc.) que não é reconhecido pelo código Java.

   * Isso pode ser um valor nulo, uma string vazia, ou uma string com um erro de digitação (ex: "dawn " ao invés de "dawn").

 * Incompatibilidade entre código e banco de dados: Assim como no erro anterior, a versão do código pode esperar certos valores para a cabal que não estão sendo fornecidos pelo banco de dados, ou vice-versa.

 * Configuração de arquivo (raro, mas possível): Menos provável, mas se o servidor carregar a cabal de um arquivo de configuração, pode haver um erro ali. No entanto, o restoreSevenSignsData sugere que está vindo do banco.

Como resolver:

 * Verifique a tabela seven_signs no seu banco de dados:

   * Acesse seu banco de dados.

   * Localize a tabela seven_signs.

   * Procure por colunas que armazenam o tipo de cabal (ex: cabal, active_cabal, current_cabal).

   * Verifique os valores nessas colunas. Eles devem ser exatamente DAWN, DUSK, NONE ou os valores definidos no código-fonte do l2j4team para CabalType. Preste atenção a espaços em branco extras ou erros de digitação.

 * Corrija os valores inválidos:

   * Se encontrar valores incorretos, atualize-os para os valores válidos (ex: UPDATE seven_signs SET cabal = 'NONE' WHERE cabal IS NULL OR cabal = '';).

 * Consulte os scripts SQL do Seven Signs: Verifique como os dados iniciais dos Sete Selos são inseridos no banco de dados pelos scripts SQL do seu pacote l2j4team. Isso pode dar uma pista sobre os valores esperados.

Em resumo, ambos os erros são problemas de sincronização entre o código Java do seu servidor L2J e a estrutura/dados do seu banco de dados MySQL. Você precisa garantir que o esquema do banco de dados e os dados nele estejam exatamente como o código do servidor espera. Comece verificando as tabelas castle e seven_signs no seu banco de dados e comparando-as com os scripts SQL fornecidos com o seu pacote do servidor.

Editado por WaN202

spacer.png

Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...



×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.