Painel de atividade dos jogadores em tempo real no painel da proteção: HWID, contas, IP e país, com ban e concessão de janelas em um clique.
O monitoramento de servidores foi adicionado ao painel da proteção, disponível nos planos Premium+.
Total de registros, banidos, horário do último relatório e um indicador Online/Offline — conforme a atualidade dos dados da proteção.
Na config da proteção você pode ativar o monitoramento, colar o token e alterar a frequência de envio dos dados ao painel.
Verificação de hash dos arquivos do cliente: o Lin2Guard bloqueia a entrada com .exe, .dll ou recursos modificados. O utilitário FileHasher monta a lista de arquivos verificados em um minuto.
O FileHasher é um utilitário independente que escaneia a pasta do cliente, calcula as somas de verificação dos arquivos e gera o files.xml. O Guard distribui essa lista aos jogadores e confere os hashes a cada login: se um único arquivo protegido for diferente do original, o cliente não conecta ao servidor.
A verificação de hash bloqueia modificações do cliente: um l2.exe trocado, .dll de terceiros (injetores, bibliotecas de cheat), edições de interface e recursos (.u, .xdat), arquivos .ini alterados. Mesmo que um bot se disfarce de arquivo do sistema, a diferença na soma de verificação o revela na hora.
Na janela do FileHasher, indique a pasta raiz do cliente e clique em “START GAME SCAN”. Ele percorre todas as pastas system*, calcula o MD5 de .exe, .dll, .bin, .u, .xdat, .ini e mostra uma tabela “arquivo — hash”. Use as caixas de seleção para marcar quais arquivos são obrigatórios (instáveis como engine.dll / nwindow.dll são excluídos automaticamente). Também é possível adicionar arquivos fora de system manualmente.
Execute o FileHasher.exe e selecione a pasta raiz do cliente do jogo.
Clique em “START GAME SCAN” e aguarde o fim da varredura.
Na aba “Files/Hashes”, marque os arquivos obrigatórios; na aba “Result” clique em “Save as files.xml”.
Coloque o files.xml na configuração da proteção — o Guard passará a conferir os hashes no login dos jogadores:
<FilesSettings>
<filestocheck>
<file value="system/l2.exe">
<hash value="A1-B2-C3-D4-E5-F6-07-18-29-3A-4B-5C-6D-7E-8F-90" />
</file>
<file value="system/engine.dll" ignore="1">
<hash value="11-22-33-44-55-66-77-88-99-AA-BB-CC-DD-EE-FF-00" />
</file>
</filestocheck>
</FilesSettings>
Os hashes são calculados com MD5 e armazenados no lado do servidor. Após atualizar o cliente, basta gerar o files.xml novamente — atualizar a lista de arquivos leva alguns minutos.
Atualização automática integrada do arquivo de proteção l2.exe: quando sai uma nova versão da proteção, o jogador baixa o l2.exe novo do servidor ao entrar. Não precisa de launcher separado.
O Lite Launcher é um mecanismo integrado para atualizar o arquivo de proteção. Quando sai uma nova versão do Lin2Guard, você não precisa distribuir o l2.exe atualizado aos jogadores manualmente. Após uma verificação de HWID bem-sucedida, o Guard envia ao cliente os links do litelauncher.xml, e o cliente baixa automaticamente o l2.exe atual do servidor com uma barra de progresso. Os jogadores sempre entram com a versão mais recente da proteção.
A configuração leva uma única linha — preencher os links no litelauncher.xml. O resto é automático: o jogador inicia o jogo → o Guard verifica o HWID → em caso de sucesso envia ao cliente o endereço de atualização → o cliente baixa o l2.exe de proteção novo e inicia o jogo já na nova versão. Você atualiza a proteção uma vez no lado do servidor, e cada jogador a recebe sozinho no próximo login.
Envie o l2.exe de proteção atual para o seu hosting/nuvem e obtenha um link direto de download.
Coloque-o em downloadlink. Para maior confiabilidade, adicione um espelho em downloadlinktwo e um link de reserva em failupdatelink.
Salve o litelauncher.xml ao lado da configuração da proteção e reinicie o Guard:
<LiteLauncherSettings>
<downloadlink value="https://cdn.your-server.com/update/l2.exe" />
<downloadlinktwo value="https://mirror.your-server.com/update/l2.exe" />
<failupdatelink value="https://your-server.com/download" />
</LiteLauncherSettings>
downloadlink — link principal para o l2.exe de proteção atualizado. downloadlinktwo — espelho de reserva caso o principal esteja indisponível. failupdatelink — link que o jogador vê se a atualização automática falhar (por exemplo, uma página de download manual).
A atualização é enviada ao cliente apenas após uma verificação de HWID bem-sucedida. Se todos os links estiverem vazios, o Lite Launcher fica desligado e o cliente inicia sem atualizar o l2.exe. Clientes antigos que não suportam atualização automática simplesmente ignoram o comando — a compatibilidade não é quebrada.
Permite que os jogadores colem texto da área de transferência (Ctrl+V) no chat do jogo. Especialmente útil nas crônicas Interlude (IL) — ativado com uma única flag no config.
Nas crônicas Interlude (IL), colar texto no chat costuma estar indisponível — o jogador tem que digitar tudo à mão. A flag enablectrlv traz de volta o comportamento familiar: o jogador pode colar um link, um nick ou uma mensagem pronta com Ctrl+V. É gerenciada no lado do servidor — dá para ligar e desligar a qualquer momento, sem recompilar nem redistribuir o cliente.
Abra o arquivo de configurações da proteção config.xml.
Encontre a linha enablectrlv e defina o valor como True (use False para desativar).
Salve o arquivo e reinicie o Guard — o recurso se aplica no próximo login dos jogadores:
<!-- Ctrl+V paste into the in-game chat -->
<enablectrlv value="True"/>
Especialmente relevante para builds Interlude. Por padrão o recurso fica desligado (False). Clientes antigos que não suportam esse parâmetro simplesmente o ignoram — a compatibilidade não é quebrada.
Permite que o jogador abra uma página no navegador a partir de um link HTML dentro do jogo — via um pacote especial. Especialmente útil em crônicas antigas (IL+), onde não há forma nativa de levar os jogadores a páginas web. Ativado com uma única flag no servidor.
Nas crônicas antigas (Interlude e superiores, IL+) não há uma forma conveniente de abrir uma página externa direto do jogo. O BrowserBypass resolve isso: permite que o jogador abra uma página no navegador a partir do HTML — por um link em uma janela HTML dentro do jogo (diálogos de NPC, community board, etc.). O servidor envia ao cliente um pacote especial com o link, e ele abre no navegador. Assim você pode levar os jogadores a uma página de doação, abrir o anúncio de um evento, uma promoção ou as notas de atualização — sem links externos no chat. O recurso é ativado no lado do servidor com uma única flag no config.xml.
Abra o arquivo de configurações da proteção config.xml no servidor.
Encontre a linha browserbypass e defina o valor como True (use False para desativar).
Salve o arquivo e reinicie o Guard — o recurso passa a funcionar no próximo login dos jogadores:
<!-- Permitir abrir o navegador do jogador a partir de um link HTML -->
<browserbypass value="True" />
Para abrir o navegador, o servidor envia ao cliente um pacote com o opcode 0xFF (255):
1 byte — 0xFF (opcode)
1 byte — 0x03 (subtipo: abrir navegador)
Unicode string — link (URL a abrir)
Especialmente relevante para crônicas antigas IL+. Por padrão o recurso fica desligado (False). É aberto o navegador padrão do sistema do jogador. Clientes antigos que não suportam esse parâmetro simplesmente ignoram o pacote — a compatibilidade não é quebrada.
Os jogadores salvam a conta uma vez e entram no jogo sem digitar login e senha a cada inicialização.
Este plugin adiciona uma lista de contas salvas à janela de login. O jogador escolhe a conta e entra no jogo em poucos cliques.
A janela de login recebe uma lista separada de contas salvas. O jogador pode escolher uma conta existente, entrar rápido ou adicionar uma nova.
Abra o arquivo de configurações da proteção config.xml:
<saveaccounts value="True" accountsversion="1" />
No primeiro uso, mantenha accountsversion="1". Se após um wipe ou mudança de dados as contas salvas antigas precisarem deixar de funcionar, aumente esse valor em 1.
A integração com o Discord ajuda a atrair novos jogadores: os amigos veem que você joga no seu servidor. Ao iniciar o jogo, o status do Discord mostra o nome do seu servidor, a imagem, a descrição e o tempo de jogo.
A integração com o Discord ajuda a atrair novos jogadores: os amigos veem que você joga no seu servidor. Ao iniciar o jogo, o status do Discord mostra o nome do seu servidor, a imagem, a descrição e o tempo de jogo.
Entre no Discord pela web ou crie uma conta. Abra o Developer Portal e clique em «New Application».
Dê um nome ao seu projeto.
Preencha as informações gerais, envie um ícone e clique em «Save Changes». Copie e guarde o APPLICATION ID (exemplo: 1000344216532160543).
No menu à esquerda abra Rich Presence → Art Assets, envie uma imagem e anote o ASSET ID (exemplo: lineage_2_logo). Aguarde ~10 minutos para o Discord salvar a imagem.
Abra a configuração de proteção config.xml — há um bloco do Discord. Defina seus valores:
<!-- Discord integration -->
<discord enabled="True" appid="1000344216532160543" biglogo="lineage_2_logo"
details="Playing Lineage 2" state="In Game"
biglogotext="" />
enabled="True" ativa a integração; appid — seu APPLICATION ID; biglogo — seu ASSET ID. Reinicie o servidor lin2guard para aplicar.
O arquivo config.xml está com a codificação errada — deve estar em UTF-8. Salve novamente como UTF-8 (por exemplo, com Notepad++).
O compartilhamento de atividade está desativado no seu Discord. Abra Configurações de Usuário (engrenagem) → Configurações de Atividade → Privacidade de Atividade e ative tudo.
Desenha texto e FPS dentro da janela do jogo.
Mostra o texto que você definir. Opcionalmente, você pode alterar a cor do texto, o tamanho do texto e a posição, e ativar ou desativar o texto ou os FPS.
Escolha os módulos que precisa agora e adicione os demais quando o servidor crescer.