Guia L2JServer: compile, configure e rode um servidor de Lineage 2

Este guia de l2jserver acompanha donos de servidores na compilação, configuração e lançamento de um servidor completo de Lineage 2 a partir do código-fonte. O L2J Server é um emulador gratuito e de código aberto escrito em Java e distribuído sob a GPLv3, e continua sendo um dos projetos mais antigos e mais bifurcados do cenário de servidores privados. A stack se divide em um login server e um game server, e o lado do jogo se divide ainda mais entre o core e o datapack. Este artigo cobre os pré-requisitos, a compilação com Maven, o banco de dados, a configuração, o registro do servidor, as portas e a primeira conexão do cliente, para você sair de uma máquina limpa e chegar a um mundo em funcionamento.
O que é o L2J Server e quando usá-lo
O L2J Server é um emulador de servidor de Lineage 2 gratuito e de código aberto, escrito inteiramente em Java e distribuído sob a GPLv3. É um dos projetos L2J mais antigos e foi bifurcado muitas vezes ao longo dos anos. A documentação oficial fica na documentação do L2J Server, e é o primeiro lugar a consultar quando algum passo daqui difere do seu ambiente.
O projeto é mais um ecossistema do que um único binário. Ele se divide em três partes:
- Login Server — autentica as contas e aponta o cliente para o game server.
- Core do Game Server — o repositório do core l2j_server, o motor em si.
- Datapack — o repositório l2j-server-datapack, que guarda scripts, spawns, quests e dados estáticos.
Sobre a escolha: o L2J Server é a linha clássica. Na prática, donos que rodam Interlude costumam recorrer ao aCis, enquanto mundos de High Five frequentemente escolhem o L2J Server ou o L2JMobius. O Mobius cobre muitas crônicas e é muito ativo; o aCis é focado em Interlude. Escolha o L2J Server quando quiser a stack Java clássica e bem documentada no High Five.

Pré-requisitos antes de compilar
Prepare isto primeiro para que a compilação e o boot não travem no meio do caminho:
- Um JDK recente. As compilações atuais do L2J Server miram em Java 11 ou mais novo, e o Java 21 é uma escolha moderna e segura.
- MySQL ou MariaDB. A página de download do MariaDB tem pacotes para os principais sistemas operacionais.
- Um cliente de Lineage 2 compatível e um system patch feito para a revisão do seu servidor.
- Git e utilitários úteis, como o HeidiSQL para o banco de dados e o 7-Zip para os arquivos compactados.
Rode tudo em uma máquina que você controla. Um VPS pequeno basta para testes; em produção você normalmente vai querer mais RAM quando jogadores e spawns aumentarem.
Obter o código-fonte e compilar com Maven
Clone os dois repositórios do Bitbucket. Ainda existe um espelho antigo no GitHub, mas o projeto migrou para o Bitbucket, então trate o Bitbucket como fonte canônica e ignore forks desatualizados em outros lugares.
Três branches importam:
- master — a versão mais recente de High Five.
- develop — o desenvolvimento atual de High Five, mais novo e um pouco menos testado.
- Interlude — um branch legado mantido, ainda atualizado.
A compilação moderna usa o wrapper do Maven, então você não precisa de uma instalação de Maven no sistema. No Linux rode ./mvnw clean install; no Windows rode mvnw.cmd clean install. Tutoriais antigos usavam Gradle e Eclipse, então trate-os como história e não como instruções atuais.
Se você preferir pular a compilação por completo, há uma imagem de contêiner mantida publicada na imagem Docker do L2J Server.

Configurar o banco de dados MySQL ou MariaDB
Crie os esquemas. Um layout comum usa dois bancos, por exemplo l2jls para o login server e l2jgs para o game server, embora algumas instalações mantenham um único l2jdb para os dois. Qualquer um funciona, desde que seus arquivos de configuração concordem com ele.
Os instaladores de banco de dados ficam em server/tools: dbinst_ls para o esquema do login e dbinst_gs para o esquema do jogo. O datapack também traz seu próprio instalador de banco de dados. Rode o instalador correspondente em cada esquema e confirme que as tabelas foram criadas antes de continuar.
Crie um usuário de banco de dados dedicado ao servidor em vez de usar o root. Conceda a ele direitos apenas sobre os esquemas de que o servidor precisa e defina uma senha forte.
Configurar o login e o game server
Dois arquivos controlam a conexão com o seu banco de dados: config/loginserver.properties e config/server.properties. Em cada um, defina a URL JDBC e as chaves Login e Password para que batam com o usuário de banco de dados que você acabou de criar.
Aproveite que está ali e revise também:
- O host e a porta aos quais o login server se vincula.
- Os endereços externo e interno do game server, que precisam bater com o modo como os jogadores chegam até você.
- Rates, multiplicadores de spawn e limites de jogadores — deixe os padrões até o servidor subir sem erros e só então ajuste.
Mantenha os dois arquivos de configuração sob controle de versão. Quando algo quebrar depois de uma mudança, um diff rápido é melhor do que adivinhar.
Registrar, iniciar e conectar
Antes que o game server possa falar com o login server, registre-o. Rode a ferramenta de registro do game server para gerar um arquivo hexid.txt e depois copie esse arquivo para a pasta de configuração do login server. Pular isso é o motivo mais comum de uma instalação nova se recusar a conectar.
Inicie na ordem. Suba primeiro o login server com startLoginServer.bat no Windows ou startLoginServer.sh no Linux, e depois inicie o game server com startGameServer.bat ou startGameServer.sh. Acompanhe os dois consoles em busca de erros durante o boot; eles são muito mais fáceis de corrigir agora do que depois do lançamento.
Portas: o login server e o game server usam por padrão as portas 2106 e 7777. As duas precisam estar acessíveis. Em uma máquina de teste local os padrões servem, mas para jogar fora do localhost abra-as no firewall do sistema operacional e em qualquer security group da nuvem, e depois teste a partir de uma rede externa.
Antes de abrir para os jogadores
Quando o cliente conectar, faça uma passada no básico: verifique a criação de contas, entre com um personagem de teste e confirme que rates e NPCs se comportam como você espera. Troque todas as senhas padrão e desative tudo o que você não precisa deixar exposto.
Comece com uma build privada, comprove o ciclo completo de login e jogo na sua própria máquina e só então abra o firewall. Depurar uma camada por vez economiza horas.
Quando estiver pronto para atrair jogadores, divulgue seu mundo pelo formulário de envio gratuito de servidores, ou adquira uma colocação VIP para ter mais visibilidade. Você também pode explorar o diretório completo de servidores para ver como outros donos apresentam seus rates, crônica e recursos antes de escrever o seu próprio anúncio.
