Repository navigation
v1.0.0-beta
Pre-releaseStatCraft-Server
Description
StatCraft Server est une application Streamlit permettant de visualiser en temps réel les statistiques des joueurs de Minecraft sur des serveur ayant installé Statcraft. Ce projet aide à analyser l'évolution des performances des joueurs en suivant des métriques telles que le score total, le nombre de blocs minés, les mobs tués, les objets craftés, et le temps de jeu.
Fonctionnalités
- Visualisation par Session : Choisissez une session pour visualiser les performances des joueurs.
- Graphiques d'Évolution :
- Score total
- Nombre de blocs minés
- Nombre de mobs tués
- Nombre d'objets craftés
- Temps de jeu
- Interface Interactive : Utilisation de Streamlit pour une expérience utilisateur intuitive et interactive.
Installation
-
Clonez le dépôt du projet :
git clone https://github.com/votre-utilisateur/statcraft-server.git cd statcraft-server -
Construisez l'image Docker :
docker build -t statcraft-server . -
Exécutez le conteneur en utilisant Docker Compose :
docker-compose up
L'application sera accessible à l'adresse http://localhost:8501.
Utilisation
Interface Streamlit
- Sélectionnez une session : Choisissez une session Minecraft pour accéder aux statistiques correspondantes.
- Sélectionnez un joueur : Sélectionnez un joueur pour afficher ses statistiques individuelles.
- Visualisez les statistiques : Des graphiques interactifs montrent l’évolution du score et des autres métriques de chaque joueur au fil du temps.
Exigences pour les Données
L’application utilise des fichiers XML situés dans ./data/player_statistics. Assurez-vous que les données suivent la structure suivante :
data/
└── player_statistics/
└── session0/
└── joueur1/
├── 2024-10-24_14-47-33.xml
├── 2024-10-25_10-22-18.xml
└── ...
Chaque fichier XML doit inclure les données suivantes pour être compatible :
scoreTotaltotalBlocsMinestotalMobsTuestotalObjetsCraftestempsDeJeu
Exemple de fichier XML
<joueur nom="CelestineRelou">
<blocsMines>
<minerai nom="Fer">6</minerai>
<minerai nom="Charbon">89</minerai>
<totalBlocsMines>195</totalBlocsMines>
</blocsMines>
<mobsTues>
<totalMobsTues>6</totalMobsTues>
</mobsTues>
<objetsCraftes>
<objet nom="Épée en pierre">1</objet>
<objet nom="Pioche en bois">1</objet>
<objet nom="Pioche en pierre">1</objet>
<objet nom="Pioche en fer">1</objet>
<totalObjetsCraftes>4</totalObjetsCraftes>
</objetsCraftes>
<tempsDeJeu>21</tempsDeJeu>
<scoreTotal>434</scoreTotal>
</joueur>Dépendances
- Streamlit - Interface utilisateur interactive
- Matplotlib - Visualisation des données
- Pandas - Manipulation des données
- xml.etree.ElementTree - Parsing des fichiers XML
Contributeurs
Projet initialement créé par Loutreee. Contributions bienvenues pour ajouter de nouvelles fonctionnalités ou améliorer l'interface.