Files
farm-tracker-sao/README.md
2026-06-30 10:56:41 +02:00

117 lines
4.6 KiB
Markdown

# Farm Tracker — application Linux
Une vraie application de bureau (Electron). Au premier lancement, elle te demande
ton dossier `.minecraft`, **une seule fois**. Tu arrives ensuite sur un écran
d'accueil avec une liste d'outils (pour l'instant : Farm Tracker). Ouvrir un outil
ne ferme pas les autres : ils continuent de tourner en arrière-plan, même quand
tu es revenu à l'accueil ou sur un autre outil.
Tout se sauvegarde **automatiquement** sur le disque : kills, items, cols, prix
de vente, et chances de drop — rien à exporter ni recharger toi-même au jour le
jour. Au prochain lancement, l'appli retrouve directement ton dossier et reprend
exactement où tu en étais.
## Où sont stockées les données (et pourquoi en deux fichiers)
Tout est dans `~/.config/farm-tracker/` :
- **`app-state.json`** — le dossier Minecraft choisi, et l'état de session de
chaque outil (kills, xp, items, prix...). Personnel, pas fait pour être
partagé.
- **`dropstats.json`** — uniquement les chances de drop cumulées. Volontairement
séparé du reste : c'est le fichier fait pour être **lu, partagé et fusionné**
avec celui d'autres joueurs (voir plus bas). Les noms d'items y sont stockés
en clair (`"name": "Peau de Sanglier"`) en plus du format coloré du jeu, pour
que tu puisses l'ouvrir et le comprendre sans l'appli.
## 1. Installer et lancer
```bash
node -v # si absent : sudo apt install nodejs npm (ou via nvm)
npm install
npm start
```
## 2. (Optionnel) Construire un AppImage
```bash
npm run dist
```
Voir la section "entrée de menu" plus bas si tu veux l'épingler à ton menu
d'applications.
## 3. Partager et fusionner les chances de drop entre joueurs
C'est le point important si plusieurs personnes farment le même mob : un seul
joueur a un échantillon limité (quelques dizaines de kills), mais en combinant
15 joueurs vous obtenez un échantillon de plusieurs centaines de kills — bien
plus fiable pour estimer les drops rares.
**Option A — depuis l'appli (le plus simple) :**
Dans le panneau "Chance de drop" de Farm Tracker :
- **📤 Exporter mes stats** → choisis où sauvegarder ton fichier (clé USB,
Discord, dossier partagé...).
- **📥 Importer / fusionner…** → sélectionne **plusieurs fichiers à la fois**
(ceux de tous les autres joueurs) : tout est additionné en une seule fois
dans tes propres stats.
**Option B — en ligne de commande (pratique si quelqu'un centralise les 15
fichiers de tout le monde) :**
```bash
node tools/merge-dropstats.js fusion.json joueur1.json joueur2.json joueur3.json ...
```
Ça fusionne tous les fichiers donnés en un seul `fusion.json`, avec un résumé
affiché (mobs suivis, kills cumulés). Ce script ne nécessite que Node — pas
besoin d'installer Electron juste pour fusionner des fichiers. Le fichier
résultat peut ensuite être réimporté par n'importe qui via l'option A.
## 4. Utilisation générale
- **Accueil** : clique sur une tuile pour ouvrir l'outil correspondant.
- **🏠 Accueil** (en haut) : revient à la liste d'outils sans rien arrêter.
- **Changer de dossier** (en haut, global) : repointe tous les outils vers un
autre dossier `.minecraft`. Remet à zéro la session de farm en cours, mais
**ne touche jamais** aux chances de drop déjà enregistrées.
- **Réinitialiser la session** (dans Farm Tracker) : remet à zéro kills/xp/items
de la session affichée, sans toucher aux chances de drop.
- **Réinitialiser** (dans le panneau Chance de drop) : efface l'historique
cumulé de drop — sépare exprès de la réinitialisation de session, exporte
avant si tu veux le garder.
## 5. Sauvegarder / migrer tes données manuellement
```bash
cp -r ~/.config/farm-tracker ~/backup-farm-tracker-$(date +%F)
```
Pour restaurer (l'appli doit être fermée) :
```bash
cp -r ~/backup-farm-tracker-2026-06-28/* ~/.config/farm-tracker/
```
## 6. Entrée de menu (AppImage)
Si tu as construit l'AppImage (`npm run dist`), utilise
`install-desktop-entry.sh` (fourni séparément) pour créer l'entrée de menu —
il détecte automatiquement le fichier `.AppImage` dans `dist/`.
## Structure du projet
```
farm-tracker-app/
├── package.json
├── main.js → process principal : fenêtre, fichiers, persistance
├── preload.js → pont sécurisé entre main.js et l'interface
├── lib/
│ └── dropstats.js → logique de fusion, partagée appli + script CLI
├── tools/
│ └── merge-dropstats.js → fusionne N fichiers dropstats.json en ligne de commande
└── renderer/
└── index.html → écran dossier -> accueil -> outils, toute la logique UI
```