L2J Java Setup: JDK, Eclipse e XAMPP sem adivinhação

Um l2j java setup que funciona tem menos a ver com instalar três programas e mais com fazer isso na ordem e nas versões certas. A maioria dos primeiros builds que falham vem de um JDK mais novo ou mais velho do que o pack espera, de um JAVA_HOME apontando para outra instalação ou de um banco que já ocupa a porta que o XAMPP quer. Este guia percorre o ambiente na ordem que evita essas armadilhas: JDK primeiro, banco depois, IDE em seguida e XAMPP só onde ele ajuda.
A ordem que economiza tempo
Instale o JDK, confirme pela terminal, instale o banco e só então abra o projeto no Eclipse. Começar pela IDE parece produtivo, mas o Eclipse vai se prender ao runtime errado e fazer você caçar erros de compilação que na verdade são erros de ambiente.
- Escolha a versão de JDK que o seu pack pede.
- Instale e configure
JAVA_HOME. - Instale MariaDB ou MySQL e crie o usuário do banco.
- Importe o pack no Eclipse e compile sem mexer em código.
- Só então comece a editar configuração e código.

Escolha o JDK que o seu pack pede
Não existe uma versão correta única de Java para servidores de Lineage 2. Cada pack declara a sua, e instalar a mais recente só porque é a mais recente é o caminho mais rápido para um build que falha no primeiro dia.
| Família de pack | Alvo comum | Notas |
|---|---|---|
| L2J Server oficial | Java 25 (Temurin) | Acompanha o JDK LTS atual |
| L2J Mobius | Java 17 ou superior | Revise o README da branch; branches antigas vinham do Java 8 |
| aCis | Java 21 | Revisões antigas esperam um JDK mais velho |
Abra primeiro o README do pack e procure a versão de Java. Se não houver nada, confira o arquivo de build ou as configurações do compilador Maven. Dois minutos de checagem evitam uma tarde de erros "Unsupported class file major version".
Para o runtime, use uma distribuição OpenJDK como o Eclipse Temurin. É gratuito, bem documentado e existe para Windows, Linux e macOS. O guia de instalação oficial do L2J usa a mesma distribuição.
Instale o JDK e configure JAVA_HOME
No Windows, o winget instala e registra o JDK em um passo. No Linux, use o gerenciador de pacotes da sua distribuição ou o repositório da Adoptium. Nos dois casos, o importante é a variável de ambiente.
- Windows: aponte
JAVA_HOMEpara a pasta do JDK, não para a subpastabin, e adicione%JAVA_HOME%\binaoPATH. - Linux: exporte
JAVA_HOMEno perfil do shell e coloque$JAVA_HOME/binprimeiro noPATH. - Várias versões: mantenha todas instaladas e troque de propósito. No Linux, o
update-alternativescuida das ferramentas de linha de comando.
Verifique os dois comandos, não apenas um: java --version e javac --version. Se eles discordarem, o PATH está misturando um JRE com um JDK, e o build vai falhar depois de um jeito confuso.

Eclipse: importar e compilar
Use o Eclipse IDE for Java Developers. Para um pack baseado em Maven, importe como projeto Maven existente e deixe resolver as dependências. Para um pack baseado em Ant, importe o projeto e confirme que o arquivo de build é detectado.
- Configure o JRE instalado com o mesmo JDK que o pack pede, não com o mais novo da máquina.
- Ajuste o nível de compilação para esse JDK.
- Defina a codificação de texto como UTF-8 antes de editar qualquer arquivo.
- Faça um build limpo antes de mudar código, para saber que o ponto de partida está saudável.
Se o projeto mostrar "JRE System Library unbound", o Eclipse aponta para um runtime removido ou renomeado. Corrija a lista de JREs instalados e recompile. Não adicione jars na mão para silenciar o erro.
XAMPP: útil, mas não obrigatório
O XAMPP empacota Apache, PHP, MariaDB e phpMyAdmin em um instalador. Para um servidor L2, só a parte do banco importa, e muitos packs funcionam perfeitamente com um MariaDB independente. O XAMPP é prático quando você quer phpMyAdmin sem configurar nada, e é uma escolha comum para o primeiro teste local.
Ele também traz duas armadilhas:
- Conflito de porta: se MariaDB ou MySQL já estão instalados como serviço, o XAMPP não consegue ocupar a porta 3306. Pare um antes de iniciar o outro.
- Padrões de desenvolvimento: o root pode acabar sem senha e o motor incluído pode escutar além do localhost. Defina senha de root e amarre ao localhost mesmo em um desktop.
Use o XAMPP para desenvolvimento local se gostar do painel, mas com senha de root e preso ao localhost. Para produção, instale MariaDB como serviço, crie um usuário dedicado e mantenha a porta fechada para a internet. O lado do banco está mais a fundo no guia de configuração do banco, e um build específico de pack no guia de instalação do aCis.
Um cliente de banco confiável
O phpMyAdmin serve para uma olhada rápida, mas um cliente desktop é mais rápido para carregar esquemas e conferir tabelas. HeidiSQL no Windows e DBeaver em qualquer plataforma conectam ao MariaDB e ao MySQL, mostram a estrutura com clareza e lidam com arquivos SQL grandes sem estourar o tempo de uma aba do navegador.
Teste a conexão com as mesmas credenciais que o game server vai usar, não com root. Se o usuário dedicado não conecta pelo cliente, o servidor também não vai conectar.
Erros de versão e o que significam
Erros de versão do Java costumam ser explícitos quando você sabe lê-los. Um class file compilado para um JDK mais novo não roda em um mais velho, e o número da versão maior diz qual release o gerou.
| Versão maior | Release do Java |
|---|---|
| 52 | Java 8 |
| 55 | Java 11 |
| 61 | Java 17 |
| 65 | Java 21 |
| 69 | Java 25 |
- "Unsupported class file major version": o runtime é mais velho que o compilador. Instale o JDK correspondente ou recompile com o alvo certo.
- "JAVA_HOME is not set": a variável falta ou aponta para a pasta errada. Aponte para a raiz do JDK e coloque
%JAVA_HOME%\binno PATH. - "Could not open jvm.cfg": um
java.exeantigo é resolvido primeiro, normalmente uma entrada PATH residual ou uma mistura de 32 e 64 bits. Remova. - "Port 3306 in use": dois motores de banco brigam pela mesma porta. Pare o que você não está usando.
Checklist antes do primeiro build
Passe por isto uma vez e a maioria dos problemas do primeiro build desaparece:
java --versionejavac --versionretornam a mesma versão maior.JAVA_HOMEaponta para a raiz do JDK e a pastabindela vem primeiro no PATH.- O serviço de banco está rodando e o usuário dedicado consegue entrar.
- O Eclipse usa o mesmo JDK e codificação UTF-8.
- Um build limpo funciona antes de você mudar qualquer código.
O ambiente é chato de propósito. Faça certo uma vez, anote as versões nas notas do projeto e você não repetirá a instalação na próxima máquina.
Quando o servidor estiver pronto para receber jogadores, adicione-o pelo formulário de listagem gratuita. Se quiser que ele se destaque, o posicionamento VIP coloca você à frente no diretório de servidores.
