Elvenarchy: as estatísticas de Elvenar que faltavam
Porque criei o Elvenarchy, um site de estatísticas de Elvenar (Elvenar stats) com rankings, torneios, irmandades e histórico de 50 mundos — o que se pode encontrar lá e como funciona por dentro.
Quem joga Elvenar há algum tempo acaba sempre a fazer as mesmas perguntas: quem da minha irmandade está mesmo ativo? Quantos pontos preciso de fazer no torneio desta semana? Em que Maravilha Antiga compensa investir os meus KP? Que irmandade tem vagas e joga ao meu ritmo?
O jogo não responde a quase nenhuma destas perguntas — mostra o ranking do momento e pouco mais. Foi daí que nasceu o Elvenarchy: um site de estatísticas de Elvenar (Elvenar stats) que recolhe os dados públicos de dezenas de mundos do jogo, guarda o histórico e transforma-o em rankings, gráficos e ferramentas.
Porque criei o Elvenarchy
Durante anos, a referência para estatísticas de Elvenar foi o ElvenStats. Só que o ElvenStats deixou de ser desenvolvido, e as atualizações recentes do jogo começaram a deixá-lo para trás: há dados que deixaram de aparecer ou de bater certo, e funcionalidades que deixaram de funcionar. Para quem gere uma irmandade e depende destes números todas as semanas, ficar sem uma ferramenta mantida era um problema real.
Ao mesmo tempo, mesmo quando funcionava, faltavam-me coisas: as listas cortavam no top-100, guardava-se pouco histórico e a informação não se cruzava — o torneio de um jogador não aparecia ao lado da evolução da cidade, e a saída de um membro não aparecia ao lado da quebra de pontos da irmandade.
Por isso decidi construir uma alternativa que guardasse tudo, desde sempre, para o maior número possível de mundos, que acompanhasse as mudanças do jogo e que respondesse às perguntas que eu e a minha irmandade fazíamos todas as semanas. Como é também um bom projeto para experimentar recolha de dados em grande escala, SQLite com dezenas de milhões de registos e um backend em Node.js a correr 24/7, juntei o útil ao agradável.
O Elvenarchy em números
Valores aproximados, em outubro de 2026.
| O quê | Quantidade |
|---|---|
| Mundos acompanhados | 50 (PT, BR, EN, US, DE, FR, ES, PL, NL, IT e mais) |
| Jogadores | cerca de 1 milhão |
| Irmandades com membros | cerca de 75 mil |
| Resultados de torneio guardados | cerca de 33 milhões, desde 2016 |
| Registos de pontuação (histórico) | cerca de 81 milhões |
Os dados são atualizados ao longo de todo o dia, em ciclos contínuos que passam por todos os mundos acompanhados. A cobertura continua a crescer: ainda há alguns mundos por acompanhar.
O que podes encontrar no Elvenarchy
Tudo o que está nesta secção é público e não precisa de conta.
Dashboard — o resumo do mundo: eventos a decorrer, o que mudou esta semana e este mês, recordes, e as notícias oficiais do jogo (anúncios, beta e notas de versão) reunidas num sítio só.
Jogadores — o ranking completo de cada mundo, sem corte no top-100, com filtros por raça e capítulo. Cada jogador tem a sua página, com uma linha do tempo que junta num só gráfico a evolução da pontuação, os resultados de torneio semana a semana, as subidas de nível das Maravilhas e as mudanças de irmandade.
Irmandades — ranking por pontuação, membros e desempenho em torneio. A página de cada irmandade mostra:
- a linha do tempo da irmandade: pontuação, pontos de torneio (as semanas ganhas a dourado) e as entradas e saídas de membros no mesmo eixo, para se perceber de onde vêm os saltos;
- a saúde da irmandade: quem está ativo, quem só dá sinais de vida na cidade e quem parou;
- a lista de membros, com a média de torneio de cada um nas últimas 4 semanas, e as vagas livres.
Torneios — os resultados semanais por jogador e por irmandade, com o histórico completo, e rankings globais que comparam as melhores pontuações entre os mundos acompanhados.
Planeador de Torneio — marca as províncias e os encontros que fizeste (ou planeias) e vê quantos pontos dão, já com os bónus das Maravilhas e as arcas da irmandade. Também faz o caminho inverso: a partir de uma pontuação, diz quantas províncias completas lhe correspondem. Os valores vêm de uma tabela medida no próprio jogo, não de estimativas.
Pináculo da Eternidade e Aventuras de Irmandade — classificações e histórico, ronda a ronda.
Momentum e Transferências — que jogadores e irmandades estão a subir ou a descer, e a que ritmo; quem entrou, saiu ou mudou de irmandade, e quando.
Com conta registada
Para quem cria conta há ferramentas extra, pensadas para quem gere uma irmandade ou quer otimizar a cidade:
- AW Farmer — encontra as Maravilhas Antigas onde compensa investir KP: quase fechadas e com lugares de prémio ainda baratos. Calcula o lucro de cada vaga e avisa quando aparece uma vaga lucrativa numa maravilha que segues.
- Scout — ajuda a recrutar: procura candidatos para a tua irmandade pelos resultados de torneio das últimas semanas (elite, em crescimento ou consistentes), pode mostrar só quem está sem irmandade e prepara a mensagem de convite pronta a colar no jogo.
- Comparar — jogadores e irmandades lado a lado.
- Alertas — um sino no site avisa quando alguém entra ou sai de uma irmandade que segues, quando um membro deixa de jogar, e outras mudanças.
- Extensão de browser (opcional) — envia ao Elvenarchy os dados que tu próprio vês no jogo. Com ela, o teu perfil passa a mostrar os bónus reais das tuas Maravilhas, o dano e a vida reais das tuas unidades e o mapa do mundo centrado na tua cidade.
Como funciona por dentro
De onde vêm os dados. Há duas fontes atuais e uma herança do passado:
- a GameAPI da InnoGames: com contas de jogo registadas nos vários mundos, um processo entra no jogo só para ler rankings, torneios, irmandades e cidades (níveis exatos de Maravilhas, edifícios, cultura, áreas desbloqueadas) — nunca faz nenhuma ação no jogo. É daqui que vêm os rankings e os torneios atualizados ao longo do dia, e é o que permite acompanhar as atualizações do jogo sem depender de terceiros;
- a API pública do ElvenStats, que trouxe o histórico antigo (os resultados de torneio desde 2016) e que já deixei de usar na recolha corrente: os boosts das cidades, que só ela fornecia, passaram a ser calculados a partir da grelha do mapa do jogo;
- a extensão, para os dados que só o próprio jogador vê.
A arquitetura. O backend é Node.js com Express, a base de dados é SQLite (via better-sqlite3) e as atualizações em tempo real chegam ao browser por WebSocket. À frente está o Apache, e à frente deste a Cloudflare — o servidor só aceita ligações vindas dela.
O better-sqlite3 é síncrono: enquanto uma consulta corre, o processo não faz mais nada. Com dezenas de milhões de linhas, uma consulta lenta no processo do site deixava-o parado para toda a gente. Por isso a recolha e os cálculos pesados correm num processo filho separado (o worker), e tudo o que é agregado (médias de torneio, rankings, crescimento) é calculado em segundo plano para tabelas de cache. As páginas leem dessas tabelas, nunca da tabela de dez milhões de linhas.
Algumas armadilhas que aprendi pelo caminho:
- Os ids repetem-se entre mundos. A irmandade nº 9 do mundo PT1 e a nº 9 do DE1 são irmandades diferentes. Parece óbvio, mas qualquer consulta que se esqueça do mundo mistura dados de dois servidores — e durante algum tempo isso acontecia em vários sítios.
- Não confiar no rank que vem de fora. Fontes diferentes numeram a sua lista (o top-100 de uma, a página devolvida pela outra), e nenhuma sabe a posição real no mundo. As posições de torneio passaram a ser calculadas pelo próprio Elvenarchy a partir dos pontos, com regras de empate iguais em todo o site.
- Séries que mudam de fonte. O histórico de pontuação tem duas eras, com escalas diferentes. Comparar um valor de uma era com um da outra dá crescimentos de milhões que nunca aconteceram — por isso as comparações só usam valores da mesma era.
- Uma aplicação de página única não é uma página para o Google. Sem JavaScript, o Google via o menu do site em vez dos dados. Os jogadores e irmandades têm agora páginas próprias geradas no servidor, que abrem sem JavaScript e entram no sitemap.
Como podes ajudar
- Partilha o site com a tua irmandade, no Discord ou nos fóruns do Elvenar.
- Reporta erros ou sugere funcionalidades — muitas das ferramentas que lá estão nasceram de pedidos de jogadores.
- Empresta uma conta de jogo num mundo sem cobertura GameAPI: a password é guardada cifrada e usada só para leitura. O administrador do site consegue vê-la, por isso não uses uma password que uses noutros serviços.
Experimenta em elvenarchy.fuzzalab.pt — escolhe o teu mundo no topo e procura o teu nome.
Partilhar
Comentários 0
Ainda sem comentários — sê o primeiro.