BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
무료 마인크래프트 서버 분석 플랫폼, 실시간 플레이어 수·성장 추세·성능을 모니터링, 수천 명의 서버 운영자와 함께
Free Minecraft server analytics platform. Monitor player counts, track growth trends, and analyze server performance in real-time. Join thousands of server owners.
게임TypeScript · JavaScriptGitHub @Sportek온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Minecraft-Stats is a website that allows you to track players amount statistics in more than 300 differents servers. If the server is not listed, you can add it instantly. We store all the data, so you can see the evolution of your server.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Plateforme web qui suit en continu le nombre de joueurs sur les serveurs Minecraft référencés, et publie leurs courbes historiques. Accessible sur minecraft-stats.fr et minecraft-stats.com — même application, deux domaines. Minecraft Stats ping chaque serveur Minecraft référencé toutes les 10 minutes et stocke les mesures. Le résultat : des courbes de joueurs sur plusieurs mois, des classements par activité réelle, des métriques de croissance hebdomadaires et mensuelles — au lieu des classements par votes accumulés des sites concurrents.README 전문 보기 ↗
Plateforme web qui suit en continu le nombre de joueurs sur les serveurs Minecraft référencés, et publie leurs courbes historiques.
Accessible sur minecraft-stats.fr et minecraft-stats.com — même application, deux domaines.
Minecraft Stats ping chaque serveur Minecraft référencé toutes les 10 minutes et stocke les mesures. Le résultat : des courbes de joueurs sur plusieurs mois, des classements par activité réelle, des métriques de croissance hebdomadaires et mensuelles — au lieu des classements par votes accumulés des sites concurrents.
Aujourd'hui : ~520 serveurs référencés, ~28 000 visiteurs uniques par mois, hébergé sur un VPS en France.
Collecte automatisée
Un scheduler ping chaque serveur toutes les 10 minutes via @minescope/mineping, espace les requêtes pour ne pas saturer les serveurs cibles, et bulk insert les mesures dans PostgreSQL. Toutes les 6 heures, un second job rafraîchit les favicons (Sharp → WebP) et recalcule les métriques de croissance.
Visualisation Page d'accueil avec stats globales (24 h, 7 j, 30 j, 6 mois, 1 an) et intervalles d'agrégation (30 min, 1 h, 6 h, 1 jour, 1 semaine). Chaque page serveur affiche son historique complet via AG Charts, son pic, sa moyenne, sa médiane, sa croissance.
Recherche et filtres Pagination côté serveur, recherche par nom ou IP, filtres multi-sélection par catégorie (Survival, Creative, PvP, Roleplay, Minigames…) et langue (FR, EN, ES, DE, IT, PT, RU…).
Comptes
Inscription email avec vérification (MJML + Resend), OAuth Google et Discord (Ally), hash Argon2, rate limiting par route. Un utilisateur connecté peut soumettre un serveur et gérer ceux qu'il a ajoutés. Rôles : user, writer (blog), admin.
Blog et API publique
Blog d'articles avec éditeur Tiptap côté admin. API REST versionnée /api/v1, documentée automatiquement via Swagger/Scalar UI sur /docs. Cache Redis applicatif + headers Cache-Control sur les endpoints publics.
| Couche | Techno |
|---|---|
| Frontend | Next.js 16 (App Router) + React 19 |
| Charts | AG Charts Community |
| Forms | React Hook Form + Zod |
| Styling | Tailwind CSS + Radix UI (shadcn) |
| Backend | AdonisJS 6 |
| ORM | Lucid |
| Base de données | PostgreSQL |
| Cache + rate limiting | Redis |
| Auth OAuth | Ally |
| Resend + MJML | |
| Images | Sharp (PNG → WebP) |
| Ping Minecraft | @minescope/mineping |
| Monitoring | Prometheus + Grafana |
| Hébergement | VPS Pulseheberg (France) |
┌────────────────────┐
│ Cloudflare CDN │
└──────────┬─────────┘
│
┌────────────────────┴───────────────────┐
│ │
┌─────▼──────┐ ┌──────▼─────┐
│ Next.js │ ── REST /api/v1 ──▶ │ AdonisJS 6 │
│ App Router│ │ (Node 24) │
│ ISR + SSR │ └──────┬─────┘
└────────────┘ │
┌────────────────────┼───────────────────┐
│ │ │
┌─────▼─────┐ ┌──────▼──────┐ ┌──────▼──────┐
│ PostgreSQL│ │ Redis │ │ Scheduler │
│ (Lucid) │ │ cache + RL │ │ pings 10min │
└───────────┘ └─────────────┘ │ growth 6h │
└──────┬──────┘
│
┌──────▼──────┐
│ Minecraft │
│ servers (×N)│
└─────────────┘
servers — un serveur Minecraft référencéserver_stats — une mesure de ping (one row per serveur per 10 min), table time-series partitionnable mensuellementserver_stats_hourly — agrégation horaire pré-calculée pour les vues longues plagesserver_growth_stats — métriques de croissance hebdomadaires/mensuelles recalculées par croncategories, languages + tables pivot — taxonomie many-to-manyusers, access_tokens, posts — comptes, OAuth, blogDocumentation interactive sur /docs (Scalar UI), spec OpenAPI sur /swagger.
| Endpoint | Description |
|---|---|
GET /api/v1/servers | Liste tous les serveurs avec leurs stats récentes |
GET /api/v1/servers/paginate | Pagination + filtres (catégories, langues, recherche) |
GET /api/v1/servers/:id | Détails d'un serveur |
GET /api/v1/servers/:id/stats | Historique d'un serveur (fromDate, toDate, interval) |
GET /api/v1/global-stats | Agrégation des joueurs sur tous les serveurs |
GET /api/v1/website-stats | Statistiques globales de la plateforme |
GET /api/v1/categories, /languages | Taxonomie publique |
POST /api/v1/login, /register, /verify-email | Auth email |
GET /api/v1/login/:provider | OAuth (Google, Discord) |
GET /metrics | Métriques Prometheus |
Rate limiting adaptatif par route, validation VineJS, CORS configuré pour les deux domaines.
code/
├── backend/ AdonisJS 6 — API REST + scheduler + ping Minecraft
├── frontend/ Next.js 16 — App Router + ISR + SSR
├── docs/ Documentation interne, scripts ops
├── analytics/ Données SQLite extraites pour analyses ad-hoc
└── CLAUDE.md Guide pour le développement assisté par IA
GPL-3.0 — voir LICENSE.
Gabriel Landry (Sportek) — github.com/Sportek — gabriel-landry.dev
Nom de domaine minecraft-stats.com offert par Pol Marnette (pol.tf).