# Sistema de Votação com Recompensas

## Visão Geral

O Sistema de Votação com Recompensas permite que os jogadores votem em múltiplos sites de top servers e recebam recompensas em saldo por suas contribuições. O sistema integra com três principais sites de votação:

- **L2jBrasil** (https://top.l2jbrasil.com)
- **L2oops** (https://en.l2oops.com)  
- **L2TopZone** (https://l2topzone.com)

## Características

### 🎯 Funcionalidades Principais
- **Múltiplos Sites**: Suporte para 3 sites de votação simultaneamente
- **Cooldown Individual**: Cada site tem seu próprio cooldown de 12 horas
- **Recompensas Automáticas**: $0.25 por voto verificado
- **Integração com Saldo**: Recompensas adicionadas automaticamente ao saldo de doações
- **Histórico Completo**: Rastreamento de todos os votos e recompensas
- **Interface Responsiva**: Design moderno e mobile-friendly

### 🔧 Configurações
- **Recompensa por Voto**: $0.25 (configurável)
- **Cooldown**: 12 horas por site (configurável)
- **Sites Habilitados**: Todos os 3 sites por padrão
- **Sistema Habilitado**: Ativo por padrão

## Instalação

### 1. Executar o Script de Instalação
```bash
php install_vote_reward_system.php
```

### 2. Verificar Tabelas Criadas
O script criará as seguintes tabelas:
- `acm_vote_rewards` - Armazena os votos e recompensas
- `acm_vote_reward_settings` - Configurações do sistema

### 3. Configurar URLs dos Sites
As URLs dos sites de votação são configuradas automaticamente, mas podem ser ajustadas se necessário.

## Estrutura de Arquivos

```
├── classes/
│   └── VoteRewardSystem.class.php          # Classe principal do sistema
├── controllers/
│   ├── vote-reward.php                     # Controller da página principal
│   ├── vote-reward/
│   │   └── verify.php                      # Controller de verificação
│   └── webhooks/
│       └── vote-reward-verify.php          # Webhook para APIs externas
├── views/
│   └── vote-reward.php                     # Interface do usuário
├── public/assets/img/vote-sites/
│   ├── l2jbrasil.svg                       # Logo do L2jBrasil
│   ├── l2oops.svg                          # Logo do L2oops
│   └── l2topzone.svg                       # Logo do L2TopZone
├── database/
│   └── vote_reward_system.sql              # Script SQL de instalação
├── locale/pt_BR/LC_MESSAGES/
│   └── messages.po                         # Traduções em português
└── install_vote_reward_system.php          # Instalador automático
```

## Como Funciona

### 1. Processo de Votação
1. **Usuário clica em "Votar"** em um dos sites
2. **Sistema gera token único** de verificação
3. **Usuário é redirecionado** para o site de votação
4. **Após votar**, o usuário é redirecionado de volta
5. **Sistema verifica o voto** e credita a recompensa
6. **Saldo é atualizado** automaticamente

### 2. Sistema de Cooldown
- Cada site tem **cooldown independente** de 12 horas
- **Timer visual** mostra tempo restante para próximo voto
- **Validação automática** impede votos durante cooldown

### 3. Verificação de Votos
- **Tokens únicos** garantem segurança
- **Verificação por IP** (opcional)
- **Status de voto**: Pendente, Verificado, Falhado

## Configuração Avançada

### Personalizar Recompensas
```php
// Na tabela acm_vote_reward_settings
UPDATE acm_vote_reward_settings 
SET setting_value = '0.50' 
WHERE setting_key = 'reward_amount';
```

### Ajustar Cooldown
```php
// Alterar cooldown para 6 horas
UPDATE acm_vote_reward_settings 
SET setting_value = '6' 
WHERE setting_key = 'cooldown_hours';
```

### Habilitar/Desabilitar Sites
```php
// Habilitar apenas L2jBrasil e L2oops
UPDATE acm_vote_reward_settings 
SET setting_value = 'l2jbrasil,l2oops' 
WHERE setting_key = 'sites_enabled';
```

## APIs dos Sites

### L2jBrasil
- **URL**: https://top.l2jbrasil.com/vote.php
- **Parâmetros**: server, return

### L2oops  
- **URL**: https://en.l2oops.com/vote
- **Parâmetros**: server, callback

### L2TopZone
- **URL**: https://l2topzone.com/vote
- **Parâmetros**: server, return_url

## Monitoramento

### Estatísticas Disponíveis
- **Total de votos** por site
- **Votos verificados** vs pendentes
- **Total de recompensas** distribuídas
- **Último voto** por site
- **Histórico completo** de votos

### Logs do Sistema
- **Votos criados** e verificados
- **Erros de verificação**
- **Tentativas de fraude**
- **Webhook calls** dos sites

## Segurança

### Medidas Implementadas
- **Tokens únicos** para cada voto
- **Verificação por IP** (opcional)
- **Cooldown rigoroso** por site
- **Validação de dados** em todas as etapas
- **Logs detalhados** para auditoria

### Prevenção de Fraude
- **Um voto por IP** por período de cooldown
- **Tokens expiram** após verificação
- **Validação dupla** (criação + verificação)
- **Monitoramento de padrões** suspeitos

## Troubleshooting

### Problemas Comuns

**1. Sistema não aparece no menu**
- Verificar se as tabelas foram criadas
- Confirmar se o sistema está habilitado
- Verificar permissões de arquivo

**2. Votos não são verificados**
- Verificar URLs de retorno dos sites
- Confirmar configuração de webhook
- Verificar logs de erro

**3. Recompensas não são creditadas**
- Verificar se sistema de saldo está ativo
- Confirmar configuração de recompensa
- Verificar logs de transação

### Logs de Debug
```bash
# Verificar logs do sistema
tail -f error_log

# Verificar logs específicos do webhook
grep "Vote Reward" error_log
```

## Suporte

Para suporte técnico ou dúvidas sobre o sistema:

1. **Verificar logs** de erro primeiro
2. **Consultar documentação** completa
3. **Testar em ambiente** de desenvolvimento
4. **Contatar administrador** se necessário

## Changelog

### v1.0.0
- ✅ Sistema inicial implementado
- ✅ Suporte a 3 sites de votação
- ✅ Cooldown de 12 horas por site
- ✅ Recompensas de $0.25 por voto
- ✅ Interface responsiva
- ✅ Tradução em português
- ✅ Sistema de instalação automática
