init
This commit is contained in:
116
README.md
Normal file
116
README.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user