A MAIOR COMUNIDADE DE LINEAGE 2 EM PORTUGUÊSSUA COMUNIDADE DE LINEAGE 2

  • +10.000 JOGADORES
  • SERVIDORES VERIFICADOS
  • ATUALIZAÇÃO DIÁRIA
ESCOLHA SUA PRÓXIMA AVENTURA
EXPLORE O L2CALENDAR

O que você está procurando?

Busque entre as seções do site.

SERVIDORES TOP

Descubra os servidores de Lineage 2 em destaque.

Blog

Guias, artigos e dicas para sua próxima aventura.

Vlog

Vídeos, cercos, PvP e momentos da comunidade.

Links

Clientes, downloads e recursos para Lineage 2.

Streamers

Encontre transmissões da comunidade.

Recrutamento

Recrutamento de clãs e constant parties (CP).

Comprar VIP (AUTO)

Visite a página de contratação de espaços VIP.

Adicionar servidor (Grátis)

Cadastre seu servidor no calendário.

Estender tempo VIP

Renove sua publicação VIP.

9 seções encontradas.

Edição de spawn de NPC no Lineage 2: como adicionar, corrigir e remover spawns

L2Calendar Team5 min de leitura
Editar spawn de NPC no Lineage 2: guia prático para donos

Editar o spawn de um NPC no Lineage 2 parece simples, até o NPC que você colocou sumir no restart, ou o guarda que você apagou voltar para a cidade na manhã seguinte. Quase toda essa dor vem de duas coisas: não saber qual comando de admin torna um spawn permanente e editar o armazenamento errado. Este guia cobre as duas coisas para emuladores da família L2J. Comandos e caminhos de arquivo mudam de build para build, então confira o código-fonte do seu pack antes de confiar em qualquer nome citado aqui.

Saiba onde o seu emulador guarda os spawns

Antes de mexer em qualquer coisa dentro do jogo, descubra o que o servidor lê na inicialização. Quem decide isso não é a chronicle, e sim o branch do emulador.

  • L2J clássico (spawns em SQL). Os spawns ficam em duas tabelas do banco, spawnlist e custom_spawnlist. Cada linha guarda count, npc_templateid, locx, locy, locz, heading, respawn_delay, respawn_random, loc_id, periodOfDay. As linhas da tabela custom podem reutilizar IDs da tabela original.
  • L2J Mobius e branches mais novos (spawns em XML). Os spawns são arquivos XML em dist/game/data/spawns/<Region>/, validados contra xsd/spawns.xsd.
  • Outros forks (aCis e companhia). Usam uma estrutura própria. Abra o loader de spawns no código-fonte e siga até os arquivos que ele lê, em vez de tentar adivinhar.

Uma entrada de spawn no estilo Mobius fica assim (tirada de um diff de 2022, da época do Fafurion, então o seu schema pode ser um pouco diferente):

<list>
  <spawn name="BalthusKnights">
    <group>
      <npc id="34359" x="190569" y="168057" z="-11228" heading="29292" respawnTime="60sec" />
    </group>
  </spawn>
</list>
ArmazenamentoOnde ficaSobrevive a uma atualização do datapack?
spawnlist (SQL)Banco de dados do gameNão. As atualizações reescrevem a tabela.
custom_spawnlist (SQL)Banco de dados do gameSim. As atualizações não mexem nela.
Arquivos XML de spawndata/spawns/<Region>/Só se você controlar suas edições (um arquivo separado ou seu próprio branch no git)
Editar spawn de NPC no Lineage 2: guia prático para donos
Lineage II © NCSOFT

Adicionando NPCs no jogo: //spawn vs //spawn_once

No L2J Server (datapack High Five), quem cuida do posicionamento é o AdminSpawn.java. A sintaxe básica é:

//spawn <id> [count] [respawnTime]

A ordem importa. O tempo de respawn só é lido se você também informar a quantidade, então //spawn 20001 60 não significa "respawn a cada 60". Significa 60 deles. Escreva //spawn 20001 1 60.

A diferença entre as variantes é a permanência:

  1. //spawn e //spawn_monster adicionam o spawn como permanente, ou seja, ele deve voltar depois de um restart.
  2. //spawn_once adiciona um spawn não permanente e desliga o respawn. Matou, ficou morto. Ótimo para bosses de evento, mobs de teste e shows pontuais de GM.
  3. Qualquer coisa spawnada enquanto você está dentro de uma instance é sempre não permanente, seja qual for o comando usado. Se o seu NPC novo sumir, confira se você não estava numa instance quando o colocou.

O mesmo handler também registra //show_spawns, //list_spawns, //list_positions, //unspawnall, //respawnall, //spawnday e //spawnnight. Rode //list_spawns antes de começar a posicionar coisas, para saber o que já existe ali e não empilhar uma segunda cópia de um NPC em cima da primeira.

Dica: fique exatamente onde quer o NPC e vire para a direção em que ele deve olhar antes de digitar o comando. Redigitar coordenadas à mão depois é a origem da maioria dos NPCs mal posicionados.

Timers de respawn e spawns de dia ou de noite

O respawn é controlado por um delay mais uma variação aleatória opcional. No layout SQL, isso é respawn_delay e respawn_random. No XML do Mobius, é o atributo respawnTime, escrito com unidade, como respawnTime="60sec".

Duas regras que vale guardar, segundo a documentação de spawn managers baseados no Mobius:

  • O respawn só é ativado quando o delay é maior que 0. Um delay de 0 significa que o NPC não volta depois de morrer.
  • Se o delay mínimo e o máximo forem diferentes, o servidor sorteia um valor entre eles. Essa variação é o que impede campers de cronometrar um mob ao segundo.

Para NPCs só de noite ou só de dia no L2J baseado em SQL, use periodOfDay: 0 é sempre, 1 é só de dia, 2 é só de noite. Os comandos //spawnday e //spawnnight levam o nome desses conjuntos de spawn diurno e noturno. Verifique o que eles fazem na sua build antes de depender deles para testes.

Editar spawn de NPC no Lineage 2: guia prático para donos (2)
Lineage II © NCSOFT

Apagando NPCs que insistem em voltar

Selecione o NPC como alvo e use //delete. No L2J Server, o AdminDelete.java remove a instância ativa, chama stopRespawn() e tira o spawn da SpawnTable, ou do RaidBossSpawnManager se for um raid boss.

O que não conseguimos confirmar é se isso também apaga a linha do banco nas builds atuais. E nos branches baseados em XML, o que é carregado na inicialização é o arquivo em disco. Então, se um NPC apagado voltou depois de um restart, parta do princípio de que a entrada armazenada sobreviveu e remova-a na origem:

  1. Anote o ID do NPC e as coordenadas aproximadas antes de apagar (//list_spawns ajuda aqui).
  2. Encontre a linha correspondente em spawnlist ou custom_spawnlist, ou a linha <npc> correspondente no arquivo XML da região.
  3. Remova ali e depois reinicie ou recarregue os spawns.
  4. Se veio da spawnlist, registre a mudança. A próxima atualização do datapack pode colocá-lo de volta.

Recarregando depois de uma edição: o que vale ao vivo

Essa pega muita gente. No L2J Server, //reload npc recarrega os templates de NPC via NpcData.load(). Ele não recarrega posições de spawn, e não existe nenhum tipo spawn no //reload. Os tipos suportados incluem config, npc, quest, htm, multisell, buylist, skill, item, door, zone e effect.

Para spawns existe um comando separado, //spawn_reload. Uma regra prática:

  • Mudou um template de NPC: //reload npc (e //reload htm se você editou as páginas HTML dele).
  • Mudou linhas ou arquivos de spawn: //spawn_reload.
  • Mudou muita coisa de uma vez num servidor ao vivo: faça numa janela de manutenção e reinicie. Reloads em massa com jogadores online são um ótimo jeito de acabar com mobs duplicados que você depois terá de limpar à mão.

Um fluxo seguro para editar spawns

  1. Faça backup das tabelas de spawn ou da pasta data/spawns antes de cada sessão de edição.
  2. Coloque seus NPCs na custom_spawnlist, ou num arquivo XML dedicado que seja seu, nunca direto nos arquivos originais.
  3. Posicione no jogo com //spawn, teste o respawn matando o NPC e depois reinicie um servidor de teste para provar que ele persiste.
  4. Mantenha um changelog dos IDs e coordenadas que você adicionou ou removeu, para poder refazer tudo depois de uma atualização do emulador.

Com o mundo limpo e seus NPCs custom estáveis, os jogadores ainda precisam encontrar o servidor. Cadastre seu servidor no L2Calendar de graça para ele aparecer no calendário de aberturas. Se quiser mais visibilidade na semana de lançamento, o destaque VIP coloca o servidor mais alto nas listagens.

Perguntas frequentes

Qual a diferença entre //spawn e //spawn_once?
No L2J Server, //spawn (e //spawn_monster) adiciona o spawn como permanente. //spawn_once adiciona um spawn não permanente e desliga o respawn, então depois que morre ele não volta. Qualquer coisa spawnada enquanto o GM está dentro de uma instance é sempre não permanente.
Devo editar a spawnlist ou a custom_spawnlist?
No L2J baseado em SQL, coloque seus NPCs na custom_spawnlist. As atualizações do datapack não mexem nessa tabela, enquanto a spawnlist pode ser reescrita por uma atualização. Branches baseados em XML, como o L2J Mobius, guardam os spawns em arquivos dentro de data/spawns, então mantenha suas adições num arquivo seu e controle suas edições.
Por que um NPC que removi com //delete voltou depois do restart?
O //delete remove o NPC ativo, desliga o respawn e o tira da tabela de spawns em memória, mas a entrada armazenada pode sobreviver dependendo da sua build. Encontre a linha correspondente na spawnlist ou na custom_spawnlist, ou a linha npc no arquivo XML de spawn, e remova-a ali.
O //reload npc aplica mudanças de spawn?
Não. No L2J Server, //reload npc recarrega os templates de NPC via NpcData.load(), e o //reload não tem um tipo spawn. Use o comando separado //spawn_reload para mudanças de spawn, ou reinicie durante a manutenção em edições grandes.

Top Servidores Privados Lineage 2 e Lista de Aberturas

L2Calendar é a principal top list e calendário de servidores privados de Lineage 2 para o lendário MMORPG Lineage II. Seja procurando servidores L2 Interlude, lançamentos High Five ou Classic — rastreamos todos os top servidores privados em um só lugar.

Fique atualizado com os melhores top servidores Lineage 2. Nosso calendário exibe próximas aberturas, rates de craft a PvP massivo, crônicas e horários de lançamento. Nunca mais perca a abertura de um servidor top L2 — favorite o L2Calendar.

Procurando o servidor L2 perfeito? Navegue em nossa lista completa de servidores privados Lineage 2 abrindo em 2025/2026. De reinos craft low-rate a servidores PvP, encontre sua próxima aventura em Lineage II aqui.