Arffornia - 2016-Aujourd'hui

Une décennie d'apprentissage et d'innovation.

- Arffornia est plus qu'un serveur Minecraft.
C'est tout un écosystème combinant un site web Laravel avec MySQL, un launcher de jeu Electron, des instances de serveurs interconnectées avec un proxy Velocity, et une infrastructure Kubernetes (k8s) évolutive pour une haute disponibilité. Construit sur une virtualisation gérée par Proxmox.
- Ce projet de plus de 10 ans a été mon terrain de jeu pour l'apprentissage, l'innovation et l'affinement technique.
Et bien plus encore.

Technologies globales

Voir tous
Block image

Kubernetes

J'ai conçu mon infrastructure autour de Kubernetes pour la scalabilité et la fiabilité, permettant une interconnexion transparente de modules indépendants.

Block image

Electron

Framework d'applications de bureau multiplateforme, que j'ai utilisé pour créer mon launcher de jeu sur : Windows, Mac et Linux.

Block image

Laravel

Framework PHP backend, que j'ai utilisé pour créer mon site web et une API web en utilisant le modèle architectural MVC.

Devops schema

Aperçu

Projet Arffornia

Arffornia est un serveur Minecraft moddé où les joueurs peuvent créer des villes technologiques, magiques et diversifiées, partir à l'aventure avec des amis et partager des moments inoubliables avec la communauté.

La 5ème saison, qui sortira dans quelques mois, est actuellement en développement et comprendra des mises à jour majeures, notamment un nouveau launcher, un site web amélioré et l'introduction d'un système de progression à travers divers mods.

Application Electron

Launcher Arffornia

Le launcher de jeu permet aux utilisateurs, en seulement deux clics, de se connecter (en utilisant un compte Microsoft), de télécharger et d'installer le jeu ainsi que tous ses mods, de configurer les paramètres, la version de Java et de commencer à jouer de manière intuitive et conviviale sur Windows, Mac et Linux.

Initialement développé en JavaFX, je suis passé à Electron pour accélérer le développement et tirer parti des capacités front-end améliorées en utilisant Vue.js. Cette transition m'a permis de créer une application plus moderne et visuellement attrayante, simplifiant des tâches qui auraient été complexes et chronophages à réaliser avec JavaFX.

Devops schema

Technologies du launcher

Block image

Electron

Framework d'applications de bureau multiplateforme, que j'ai utilisé pour créer mon launcher de jeu sur : Windows, Mac et Linux.

Block image

Typescript

J'ai largement utilisé TypeScript pour développer le launcher de jeu construit sur Electron.

Block image

Java / JavaFX

J'ai développé le précédent launcher de jeu avec Java & JavaFX.

Devops schema

Site web Laravel

Site web Arffornia

Pour assurer une visibilité directe sur Internet et centraliser mes services, comme la gestion de compte, les téléchargements, l'API, et plus encore, j'ai développé un site web en utilisant Laravel. En 2023, j'ai migré vers Laravel pour améliorer la sécurité, étendre les fonctionnalités et rester à jour avec les technologies web modernes.

Technologies du site web

Voir tous
Block image

Laravel

Framework PHP backend, que j'ai utilisé pour créer mon site web et une API web en utilisant le modèle architectural MVC.

Block image

PHP

J'ai largement utilisé PHP pour l'API web et le site Laravel.

Block image

MySQL

J'ai utilisé MySQL pour gérer toutes mes bases de données.

Infrastructure

Infrastructure Arffornia

Les demandes élevées en ressources de plusieurs instances de serveurs Minecraft et de services supplémentaires nécessitaient une infrastructure hautement efficace et robuste pour garantir un gameplay fluide. L'infrastructure est construite autour de plusieurs machines physiques interconnectées, virtualisées avec Proxmox, et hébergeant un cluster Kubernetes (k8s) qui exécute et surveille tous les services.

Au-dessus de cela, j'utilise un service Pterodactyl pour gérer toutes les instances de serveurs Minecraft, avec un proxy Velocity les interconnectant. Pour permettre la communication entre tous les services, le site web Laravel, comportant une API personnalisée connectée à une base de données MySQL.

Devops schema

Technologies de l'infrastructure

Voir tous
Block image

Kubernetes

J'ai conçu mon infrastructure autour de Kubernetes pour la scalabilité et la fiabilité, permettant une interconnexion transparente de modules indépendants.

Block image

Docker

J'ai largement utilisé Docker pour créer des modules indépendants pour mon k8s.

Block image

ArgoCD

J'ai construit mon infrastructure k8s autour d'un contrôleur ArgoCD pour une intégration plus profonde avec le pipeline CI/CD.

Devops schema

DevOps

Philosophie de l'automatisation des processus.

L'écosystème Arffornia est construit avec une conception modulaire, permettant à de nouvelles fonctionnalités d'être intégrées de manière transparente grâce à une . Pour y parvenir, j'utilise ArgoCD et un pipeline CI/CD GitHub pour automatiser entièrement les déploiements. Toutes les configurations sont gérées dans un dépôt Git, garantissant que chaque changement est testé dans un environnement de staging dédié avant d'être déployé en production. L'infrastructure est conçue pour évoluer facilement en fonction de la charge actuelle du serveur, allouant dynamiquement des ressources pendant les périodes de pointe. En cas de problème, comme un crash d'instance de serveur, le pod Kubernetes correspondant redémarre automatiquement, et je suis immédiatement notifié pour assurer une résolution rapide.

Technologies DevOps

Voir tous
Block image

Kubernetes

J'ai conçu mon infrastructure autour de Kubernetes pour la scalabilité et la fiabilité, permettant une interconnexion transparente de modules indépendants.

Block image

Proxmox

Gère toutes mes machines virtuelles et les interconnecte avec plusieurs serveurs physiques.

Block image

Github CI/CD

Les déploiements automatisés et les pipelines de test ont été construits en utilisant Github CI/CD, connecté à mon k8s via ArgoCD.

Reconnaissance externe

Présenté devant 50 à 60 ingénieurs cloud, chez Theodo

J'ai eu l'occasion de présenter Arffornia et le HomeLab qui l'héberge lors de la première édition de la Homelab Night, un meetup organisé chez Theodo Cloud, avec une cinquantaine à soixante personnes spécialisées en cloud et infrastructure dans la salle.

Très bon accueil, retours solides sur l'architecture. C'est aussi l'occasion de mesurer concrètement le niveau d'exigence attendu pour tenir la route devant une salle d'ingénieurs cloud confirmés, et de voir que le projet et son infra tiennent la comparaison.

Présentation d'Arffornia et du HomeLab chez Theodo Cloud