Como montar uma loja de doação no Lineage 2 em que os jogadores confiem

A loja de doação é como a maioria dos servidores privados de Lineage 2 paga o servidor dedicado, a proteção contra DDoS e o domínio. Também é onde muitos deles acabam, sem perceber, matando a própria população. Este guia cobre as três partes que você realmente precisa construir: a loja dentro do jogo (multisell), o caminho do pagamento até o item e as regras sobre o que colocar à venda. Também fala da exposição legal, assunto que ninguém gosta de tocar.
Monte a loja em multisell, não numa loja customizada
Todo emulador da família L2J, dos packs de Interlude até High Five e além, já vem com o mecanismo de que você precisa: o multisell. A documentação do datapack L2J o descreve como uma loja "especial" em que o jogador entrega itens chamados ingredientes e recebe itens chamados produtos. Uma mesma entrada pode pedir vários ingredientes e entregar vários produtos. Cada lista é um arquivo XML com o nome do seu ID numérico de multisell.
Esse modelo encaixa bem numa loja de doação. Você cria um item customizado "Donate Coin", define ele como ingrediente, e a recompensa é o produto. Sem adena, sem código Java novo, sem pacote customizado. Um tópico no Bitbucket do projeto L2 Extender dá o mesmo conselho: um NPC de multisell em cada cidade é o jeito mais rápido de vender itens de doação.
É nos atributos da lista que os donos costumam errar. Dois deles vêm desligados por padrão, e vale saber o que cada um faz antes de mexer:
- applyTaxes: quando ligado, o preço em adena é taxado e o imposto vai para o castelo dono da região. Custos em Ancient Adena são taxados parcialmente em adena comum. Deixe desligado numa loja de moedas. Do contrário, o preço que o doador paga muda conforme quem segura o castelo naquela semana.
- maintainEnchantment: quando ligado, no modo só-inventário, o produto mantém o nível de enchant da arma ou armadura entregue. O exemplo da documentação transforma um Crystal Staff +3 em um Crystal Staff with Body Bless +3. É o atributo certo para trocas em que o jogador troca uma peça de equipamento por uma variante sem perder o enchant.
Dica: leia o documentation.txt na pasta de multisell do seu próprio fork antes de copiar listas de fórum. Os nomes dos atributos e o schema dos itens podem variar entre datapacks.
Lista completa vs modo só-inventário
O datapack expõe dois bypasses, e eles se comportam de forma diferente:
| Bypass | O que o jogador vê | Use para |
|---|---|---|
npc_%objectId%_multisell | A lista inteira, como está escrita no XML | Uma loja de moedas normal: buffs, cosméticos, consumíveis |
npc_%objectId%_exc_multisell | Só as entradas cujos ingredientes são armas ou armaduras desequipadas no inventário do jogador | Trocas e upgrades, junto com maintainEnchantment |
Mantenha as duas separadas. Uma janela que mistura compras com moedas e trocas de equipamento confunde o jogador, e jogador confuso abre ticket.

Leve o pagamento até o item sem depender de um GM
O multisell só gasta moedas. Colocar as moedas na conta depois que alguém paga é a metade mais difícil, e é onde os processos manuais quebram. Se um GM precisa ler um e-mail de pagamento e rodar um comando de admin, o doador espera horas.
Você tem três caminhos realistas:
- Um painel pronto. O VDSystem no GitHub (nightw0lv) lista suporte aos DenArt Designs Automatic Donation Panels em projetos Mobius. Também existem opções pagas. Um exemplo é um community board web em Node.js para Interlude, vendido no Gumroad, que oferece doações via Stripe com um fluxo de "doe e resgate as recompensas".
- Seu próprio handler de webhook. O provedor de pagamento chama seu endpoint, você verifica a chamada, grava uma recompensa pendente no banco de dados e o jogador a resgata dentro do jogo. Uma etapa de resgate é mais segura do que empurrar itens para um inventário ativo.
- Entrega manual. Serve na primeira semana de um servidor minúsculo. Depois disso não escala, e deposita confiança demais numa conta de GM.
Seja qual for a escolha, registre cada ID de transação e recuse creditar o mesmo duas vezes. Um handler que credita a cada notificação recebida, sem checar, distribui moedas de graça na primeira vez que uma mensagem chegar duplicada.
Se o seu script de PayPal IPN parou de creditar moedas
Muitos painéis antigos de doação automática foram construídos sobre o PayPal IPN. O próprio guia de migração Payments v1 para v2 do PayPal diz que os webhooks substituem o IPN e que o notify_url não é mais suportado. Se as moedas pararam de chegar e nada mudou no seu código, comece por aí.
A migração vai além de trocar uma URL. Os campos mudam de lugar:
| IPN (antigo) | Webhook (v2) |
|---|---|
mc_gross | resource.amount.value |
custom | custom_id |
| status "Completed" | status "COMPLETED" |
A última linha pega muita gente. Um script que compara o status com "Completed" como string exata vai rejeitar todo pagamento válido sem dar erro. O campo custom costumava ser onde os painéis antigos guardavam o nome da conta, então, se o seu código ainda lê a chave antiga, as moedas não vão para lugar nenhum. A verificação também muda: você confere a assinatura ou chama a API verify-webhook-signature. Nunca credite moedas numa chamada não verificada, porque qualquer um pode mandar um POST com JSON falso para um endpoint público.
Você vai encontrar uma data específica de desligamento do IPN em blogs de terceiros. Não conseguimos confirmá-la na documentação do PayPal, então migre agora em vez de esperar um prazo.

O que vender sem transformar o servidor em pay-to-win
O jogo oficial é o modelo que a maioria dos donos copia. O Lineage II norte-americano virou free to play em 30 de novembro de 2011, junto com Goddess of Destruction. A partir daí tudo era gratuito, exceto os itens e pacotes da L2 Galleria, como Exploration Packs com Luxury Cocktails, Super Minion Coupons e Blessed Spiritshots. High Five, lançado em fevereiro de 2011, não tinha item mall em nada do que encontramos. Ou seja, uma loja de moedas num servidor High Five ou Interlude acrescenta algo que a chronicle original nunca teve. E os jogadores sabem disso.
Uma divisão aproximada que funciona na maioria dos servidores:
- Geralmente seguro: cosméticos, mudança de cor de nome ou título, conveniências como opções extras de teleporte ou armazém, e consumíveis que qualquer jogador também consegue farmar.
- Com cuidado: scrolls de buff e boosts de XP ou drop. Aceleram a progressão, mas não decidem uma luta sozinhos. Mantenha a duração curta.
- Mata servidores: armas e armaduras de top grade, scrolls de enchant e qualquer coisa que decida PvP ou sieges. Quando um clã pode comprar o castelo, os jogadores free vão embora, e os doadores vão atrás, porque não sobra ninguém para vencer.
Publique o conteúdo da loja no seu site antes do lançamento. Uma tabela de preços pública, que não muda no meio da temporada, é a confiança mais barata que você pode comprar.
O lado legal que você não deve ignorar
Todo servidor privado de Lineage 2 roda sobre a propriedade intelectual da NCSoft, e cobrar dinheiro aumenta a exposição. Os precedentes são reais. O FBI e a NCsoft derrubaram o L2Extreme em 2006. Um tribunal grego decidiu contra o e-GLOBAL. Em março de 2026, o Tribunal Distrital Central de Seul concedeu à NCSoft o arresto provisório das contas bancárias dos operadores de quatro servidores privados ilegais do Lineage original, com ações de indenização em andamento. A NC apontou especificamente o lucro ilícito com troca por dinheiro e comércio de itens.
O caso coreano envolve o Lineage original, não o Lineage II, mas é a mesma publisher com a mesma tese jurídica. Existe um contraexemplo: um tribunal de propriedade intelectual de Taiwan reverteu uma condenação em recurso porque o operador não havia modificado nem reproduzido o jogo. Não leia isso como porto seguro. A decisão dependeu dos fatos daquele caso específico.
O ponto prático: uma loja de doação cria um rastro de dinheiro que leva até a sua conta de pagamento. Saiba disso antes de abrir uma e procure orientação jurídica local se os valores forem relevantes.
Coloque jogadores na frente da loja
Uma loja de doação só rende se as pessoas entrarem no jogo. Depois que as listas de multisell carregam, o handler credita moedas a partir de um webhook verificado e a tabela de preços está pública, o próximo problema é tráfego. Cadastre seu servidor no L2Calendar de graça para que os jogadores que buscam por chronicle e data de abertura realmente o encontrem. Se quiser os primeiros lugares na semana de lançamento, o destaque VIP coloca você acima das listagens gratuitas quando isso mais importa.
