Ir para o conteúdo

Módulo Web & GDPR

O módulo Web gerencia a integração com a loja virtual, entrega de kits VIP, webhooks de pagamento e conformidade com a LGPD/GDPR — dando aos jogadores controle sobre seus dados pessoais.


Conformidade com LGPD/GDPR

Os jogadores podem exportar, deletar e gerenciar o consentimento de seus dados armazenados diretamente no jogo.

Comandos

Todos os comandos GDPR são exclusivos para jogadores e não requerem permissão especial.

Comando Descrição
/nexus gdpr Mostrar informações de GDPR e configurações de consentimento atuais
/nexus gdpr export Exportar todos os dados pessoais para um arquivo JSON em gdpr/
/nexus gdpr delete Deletar todos os dados pessoais (direito ao esquecimento)
/nexus consent <tipo> <accept\|deny> Conceder ou negar um tipo específico de consentimento

Tipos de Consentimento

Tipo O que Cobre
activity_tracking Dados de entrada/saída e tempo de jogo
purchase_history Registros de transações
discord_notifications Ações do jogador vinculadas ao Discord
statistics Estatísticas e conquistas do jogador
marketing Anúncios e promoções do servidor

Exclusão de dados

Registros financeiros mais recentes que gdpr.legal-retention-years são anonimizados em vez de deletados, para cumprir os requisitos legais mínimos de retenção. Todos os outros dados são removidos imediatamente.


Integração com Loja Virtual

Entrega de Kits VIP

Quando um jogador compra um rank ou kit na loja virtual, o pedido é colocado em fila. No próximo acesso do jogador, auto-deliver: true entrega o kit automaticamente.

kits:
  VIP:
    items:
      - material: DIAMOND
        amount: 5
    commands:
      - "lp user {player} group set vip"
      - "tell {player} Bem-vindo ao VIP!"

Segurança

Criptografia de Dados

Com security.enable-encryption: true (padrão), dados sensíveis são criptografados com AES-256-CBC com IV aleatório por entrada. A chave é gerada uma vez e salva em plugins/NexusPrism/web/encryption.key.

Faça backup de encryption.key

Se este arquivo for perdido, os dados previamente criptografados não poderão ser recuperados. Inclua-o nos backups do servidor. Nunca o commite em um repositório git.

Segredo do Receiver (Stream Panel)

O plugin abre uma porta HTTP (nexus-tools.receiver-port, padrão 8080) para receber eventos Twitch do Stream Panel. Configure nexus-tools.receiver-secret com um segredo compartilhado e use o mesmo valor no Stream Panel. Requisições sem o header Authorization: Bearer <secret> correto são rejeitadas com 401.


Configuração (web-config.yml)

discord:
  webhook-url: ""
  server-invite: "https://discord.gg/seu-invite"
  notifications-enabled: false

api:
  enabled: false
  endpoint: "https://seu-site.com/api"
  key: ""                          # Gerado automaticamente na primeira execução
  rate-limit: 60

security:
  require-api-key: true
  enable-ip-whitelist: false
  whitelisted-ips:
    - "127.0.0.1"
    - "seu-ip-do-servidor"
  enable-encryption: true          # AES-256-CBC; chave em web/encryption.key

gdpr:
  enabled: true
  log-transactions: true
  data-retention-days: 365
  legal-retention-years: 7
  allow-data-export: true
  allow-data-deletion: true

payments:
  enabled: false
  provider: "custom"               # stripe | paypal | mercadopago | custom
  webhook-secret: ""               # Gerado automaticamente na primeira execução
  currency: "BRL"

nexus-tools:
  receiver-port: 8080              # Porta HTTP para eventos do Stream Panel
  receiver-secret: ""              # Segredo compartilhado — deve coincidir com o Stream Panel

vip-kits:
  enabled: true
  auto-deliver: true
  verify-payment: true

Campos de Configuração

Campo Padrão Descrição
api.endpoint URL base da loja virtual para verificação de pedidos
api.key (auto-gerado) Copie para a variável de ambiente NEXUS_API_KEY da loja
security.require-api-key true Rejeita requisições sem API key válida — nunca desabilite em produção
security.enable-encryption true Criptografia AES-256-CBC para dados sensíveis armazenados
payments.webhook-secret (auto-gerado) Deve coincidir com o segredo configurado no painel do provedor de pagamento
nexus-tools.receiver-secret `` Segredo compartilhado para autenticação HTTP Stream Panel → plugin
vip-kits.auto-deliver true Entrega kits pendentes automaticamente ao jogador entrar
vip-kits.verify-payment true Verifica status do pagamento via API antes de entregar o kit