wasteland_clans
Organização e tecnologia · Lua
O custo de fundar um clã é pago em item físico, nunca em saldo — e a fonte de verdade dos outros quatro sistemas mora aqui.
- Lua
- 1.564 linhas
- Tabelas próprias
- 4
criadas na subida, com SQL para importação manual
- Cargos
- 5
- Clã por jogador
- 1
garantido por índice único, não por checagem
Fonte verificada no repositório interno em 08/09/2026
O que faz
Em uso
O sistema central do projeto. Fundação de clã paga em item físico, cinco cargos hierárquicos, convite por passaporte, expulsão, promoção e rebaixamento — tudo com registro.
Os registros ficam em tabela própria porque são consultáveis pelos membros dentro do jogo: é gameplay, não apenas auditoria de administração. O espelho externo é opcional e não faz parte do caminho crítico.
O estado vive em tabelas relacionais próprias, e não num armazenamento genérico de chave e valor — decisão que torna consulta, migração e correção manual possíveis sem reescrever o sistema.
Evidência
Como o sistema aparece
Capturas da interface real, renderizada com payload de demonstração derivado dos contratos do resource — organizações, cargos, pessoas e identificadores são sintéticos. Onde não existe interface, entra visualização técnica, rotulada como tal.
Interface do sistema Painel do clã: identidade, cargo e lotação.
Interface do sistema Membros: as ações que aparecem dependem do cargo de quem abriu — e o servidor revalida.
Interface do sistema Território: os QGs que o clã controla, lidos do sistema de território.
Interface do sistema Árvore de tecnologia: o custo é em item físico e a dependência é declarada, não implícita.
Interface do sistema A aba de Operações mora aqui: para o jogador é uma tela só, mesmo sendo outro resource.
Por dentro da engenharia
Decisões de implementação
Um bloco por decisão de implementação. Abra o que interessa.
Um clã por jogador é restrição de esquema
Problema
Limitar a um clã por jogador com uma consulta antes da inserção é uma corrida consigo mesmo: dois convites aceitos ao mesmo tempo leem "nenhum clã" e ambos inserem.
Solução
Índice único sobre o passaporte na tabela de membros. A segunda inserção é recusada pelo banco.
Por que foi feito assim
Regra que precisa valer sempre pertence ao esquema. Código pode ser contornado por um caminho que ninguém lembrou de proteger; um índice único, não.
Fundação de clã paga com itens; tablet permanece como ferramenta
Problema
Cobrar a fundação de um clã em saldo abstrato desconecta o preço da economia real do servidor — e um saldo pode ser inflado por qualquer sistema que erre.
Solução
A fundação é paga em itens que alguém precisou coletar. O tablet que dá acesso ao sistema é exigido para usar, mas nunca consumido: é ferramenta, não insumo.
Por que foi feito assim
Preço em item liga o custo social do clã ao trabalho real de coletar. E ferramenta consumida por engano é o tipo de bug que o jogador sente como roubo.
Registros consultáveis pelos membros
Problema
Registro que só a administração enxerga vira dado morto: ninguém consulta, e quando alguém precisa, ele já foi rotacionado.
Solução
Os registros ficam em tabela própria e são consultáveis pelos membros dentro do jogo, com rótulo legível por tipo de evento. O espelho externo é opcional e protegido: se não estiver disponível, nada quebra.
Por que foi feito assim
Um clã que consegue ver quem promoveu quem resolve o próprio conflito. E a mesma tabela serve para a administração quando ela precisa.
Stack
O que foi usado
Servidor
- Lua
- FiveM
- vRP
Dados
- MySQL 8.0
- 4 tabelas relacionais próprias
- Índice único como invariante
Interface
- HTML, CSS e JavaScript na interface em jogo