**ATTENTION**
Doc en court de rédaction, veuillez excuser la présentation et l'orthographe approximative (rédigée à la volée)
[toc]
#Server
Sur le serveur :
Commencez par vous créer un user (avec un password) pour minecraft.
```console
sudo adduser minecraft
```
Ce qui suit doit être réalisé loggué avec ce user.
Dans le home minecraft créez un repertoire qui va recevoir les fichiers de votre serveur (l'instance).
Dans l'exemple il sera appelé **server-1.18**
Nous n'allons utiliser le java de votre serveur mais un spécifique que nous allons désarchiver dans le dossier de l'instance.
Récupérer en local la version la java 18 pour linux x64 sous forme de JRE [ici](https://adoptium.net/temurin/releases/)
[image:6 size:medium]
Sélectionner la bonne version java
Envoyer le fichier dans le répertoire de l'instance distante comme suit. Placez vous dans le répertoire où le fichier du java a été téléchargé puis :
```console
scp ./OpenJDK18U-jre_x64_linux_hotspot_18.0.2.1_1.tar.gz minecraft@domaine.fr:/home/minecraft/server-1.18
```
Sur le serveur logué avec minecraft, placez vous dans le répertoire de l'instance et décompressez l'archive comme suit :
```console
tar -xvf OpenJDK18U-jre_x64_linux_hotspot_18.0.2.1_1.tar.gz
```
Créez un script qui va ajouter java dans le path et positionner la variable java home
```console
touch set-java.sh
```
Editez le fichier nouvellement créé et insérez le code suivant :
```text
#!/bin/bash
JAVA_VERSION=$(find . -name 'jdk-*-jre' | sed 's/.*jdk-//; s/-jre//')
export JAVA_HOME=jdk-$JAVA_VERSION-jre/bin/java
export PATH=jdk-$JAVA_VERSION-jre/bin:$PATH
```
Rendez le script executable avec :
```console
chmod +x set-java.sh
```
Ajoutez les variables du script à l'environnement d'exécution avec :
```console
source set-java.sh
```
Dorénavant lorsque vous allez saisir la commande suivante la version de java renvoyé sera bien celle que nous avons téléchargé.
```console
java -version
```
Nous allons télécharger forge (l'api qui permet de charger les mods dans minecraft) directement dépuis le serveur.
Rendez vous sur le site suivant : [forge](https://files.minecraftforge.net/net/minecraftforge/forge/)
Selectionnez la bonne version dans le menu déroulant gauche, pour nous la version **1.18.2**
Faites un clique droit sur le bouton Installer de la version latest et copiez le lien.
Vous allez devoir nettoyer le lien avant de le télécharger depuis votre serveur afin de retirer l'intermédiaire publicitaire.
Pour l'instant votre lien ressemble à ça :
```text
https://adfoc.us/serve/sitelinks/?id=271228&url=https://maven.minecraftforge.net/net/minecraftforge/forge/1.18.2-40.1.85/forge-1.18.2-40.1.85-installer.jar
```
Une fois nettoyé:
```text
https://maven.minecraftforge.net/net/minecraftforge/forge/1.18.2-40.1.85/forge-1.18.2-40.1.85-installer.jar
```
Copier ce lien puis dans la console de votre serveur faites un wget depuis le répertoire de l'instance:
```console
wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.18.2-40.1.85/forge-1.18.2-40.1.85-installer.jar
```
Nous allons exécuter forge afin d'installer le serveur à proprement parlé.
``` console
java -jar forge-1.18.2-40.1.85-installer.jar --installServer
```
Lancez le serveur une première fois afin qu'il crée les fichiers nécessaires à sa configuration
```console
./run.sh
```
Une fois le serveur fermé, acceptez les conditions d'utilisation en passant la variable **eula** à **true** dans le fichier **eula.txt** nouvellement apparu suite à l'exécution du serveur.
Relancez le serveur.Une fois le lancement du serveur terminé fermez le avec la commande **stop**
Si besoin quittez la console du serveur forge avec un ctrl+c si besoin apres le stop.
Editez le fichier **user_jvm_args.txt** et insérez les arguments suivant (ici on octroie 6 GB au serveur, adaptez cette valeur):
```text
-Xmx6G -XX:+UseShenandoahGC -XX:+UnlockExperimentalVMOptions -XX:+AlwaysPreTouch -XX:+UseStringDeduplication -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true -XX:-OmitStackTraceInFastThrow -XX:+OptimizeStringConcat -Dfml.readTimeout=180
```
Voici le [poste reddit](https://www.reddit.com/r/feedthebeast/comments/r24zg4/upgrade_your_java_to_one_that_has_the_shenandoah/) qui a servit à créer cette ligne d'arguments
Puisque à chaque mise à jour de forge le run.sh va être mise à jour nous allons créer notre propre fichier de démarrage du serveur.
```console
touch server-start.sh
chmod +x server-start.sh
```
Editez ce fichier avec les mêmes lignes que nous avions mis dans le set-java.sh auxquelles on adjoint le reste des parametres suivant :
```text
#!/bin/bash
JAVA_VERSION=$(find . -name 'jdk-*-jre' | sed 's/.*jdk-//; s/-jre//')
export JAVA_HOME=jdk-$JAVA_VERSION-jre/bin/java
export PATH=jdk-$JAVA_VERSION-jre/bin:$PATH
VERSION=$(find . -name 'forge-*-installer.jar' | sed 's/.*forge-//; s/-installer.jar//')
screen -dmS minecraft java @user_jvm_args.txt @libraries/net/minecraftforge/forge/$VERSION/unix_args.txt "$@"
screen -r minecraft
```
**ATTENTION** Afin de faciliter les mises à jours ce script va dynamiquement récupérer la version de forge et de java dans votre instance, afin qu'il fonctionne vous ne devez donc avoir qu'un seul répertoire **jdk-version-jre** et qu'un seul installeur forge **forge-version-installer.jar**
Dans le fichier *server.properties* vous pouvez modifier *online-mod* à *false* afin de cacher votre serveur.
**ATTENTION**
Si vous avez un firewall sur le serveur il va falloir ouvrir le port 25565 (par defaut, à vérifier dans server.properties)
exécutez le script **server-start.sh**
Au vue de ce qu'il contient il s’exécute dans un screen nommé **minecraft**.
Le screen permet de pouvoir se détacher de la console forge et clore la connexion ssh sans que le serveur se ferme.
Pour se détacher du screen faites la commande
ctr+a (lachez puis faites)d
Pour lister les screens:
```console
screen -ls
```
Pour reprendre le screen :
```console
screen -r minecraft
```
Si vous n'avez qu'un seul screen vous pouvez simplement faire **screen -r**
Le nom du screen peut aussi être l'id, juste le nom, ou l'id+.nom
#Client
Sous linux
Installez [multi mc](https://multimc.org/#Download)
Dans le répertoire de multimc désarchiez le meme java que nous avions mis sur le serveur
Faites modifier l'instance et dans les parametres cliquez installation java et selectionnez la version de java que nous venons de dézipper (selectionnez java dans bin)
passez le maximum de ram à 8g0.
Dans les arguments java copiez la ligne suivante :
```text
-XX:+UseShenandoahGC -XX:+UnlockExperimentalVMOptions -XX:+AlwaysPreTouch -XX:+UseStringDeduplication -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true -XX:-OmitStackTraceInFastThrow -XX:+OptimizeStringConcat -Dfml.readTimeout=180
```
Cliquez **Lancer** afin d'initialiser puis fermez le.
Dans modifier l'instance, puis dans version installez forge à la même version que celle sur le serveur.
Vous pouvez relancer le jeu en local.
#Installer un mod
Téléchargez un mod pour votre version de minecraft.
N'oubliez pas les dépendances si besoin.
Par exemple pour tree harverster (permet de miner tout un arbre en tapant la base de celui ci)
[tree harvester sur curesforge](https://www.curseforge.com/minecraft/mc-mods/tree-harvester/files/4074125)
On voit qu'il a besoin de la dépendance [collective](https://www.curseforge.com/minecraft/mc-mods/collective/files/4086462)
La plupart des mods sont à mettre à la fois en local et sur le serveur dans le répertoire **mods**
Certains sont uniquement en local, d'autres uniquement sur le serveur.
Il est conseillé de faire trois repertoire locaux (local mods, server mods et common mods) de cette manière vous n'aurez qu'à envoyer common mods et server mods sur le serveur et à installer en local common mods et local mods.
Les fichiers de configuration des mods sont dans le repertoire config.
#Liste de mods sympa
**ATTENTION** Chaque mod peut nécessiter une ou plusieurs dépendances. Elle ne sont pas spécifiées ici.
##quality of life
- [Tree Harvester](https://www.curseforge.com/minecraft/mc-mods/tree-harvester/) : Permet d'abattre la totalité des blocs d'un arbre en un coup
- [Fast Leaf](https://www.curseforge.com/minecraft/mc-mods/fast-leaf-decay) : Les feuilles d'un arbre tombent plus vite
- [Just enough items](https://www.curseforge.com/minecraft/mc-mods/jei) : JEI est un mod de visualisation d'articles et de recettes pour Minecraft.
- [JEI integration](https://www.curseforge.com/minecraft/mc-mods/jei-integration) : addon pour JEI ajoute des infos bulles et l'integration de recettes pour certains mods
- [JEI Enchantment Info](https://www.curseforge.com/minecraft/mc-mods/jei-enchantment-info) : ajoute des infos sur les enchantements
- [Just Enough Descriptions](https://www.curseforge.com/minecraft/mc-mods/just-enough-descriptions-jed) : mod qui ajoute des descriptions à chaque élément et bloc
- [Just Enough Professions](https://www.curseforge.com/minecraft/mc-mods/just-enough-professions-jep) : Ce mod ajoute de nouvelles fonctionnalités à JEI. Cette nouvelle fonctionnalité permet à l'utilisateur de déterminer quelles tables de travail sont nécessaires pour chaque métier de villageois.
- [Just Enough Resources](https://www.curseforge.com/minecraft/mc-mods/just-enough-resources-jer) : Informe des mobs des mobs drop, dongeons loots et emplacement des minerais
- [The One probe](https://www.curseforge.com/minecraft/mc-mods/the-one-probe) : Permet l'affichage de détail en ciblant une entité
- [Grave Stone](https://www.curseforge.com/minecraft/mc-mods/gravestone-mod) : Créer une tombe à la mort avec votre stuff à l'intérieur
- [MmmMmmMmmMmm](https://www.curseforge.com/minecraft/mc-mods/mmmmmmmmmmmm) : Ajoute un mannequin à frapper pour mesurer son dps
- [JourneyMap](https://www.curseforge.com/minecraft/mc-mods/journeymap) : JourneyMap cartographie votre monde Minecraft en temps réel pendant que vous explorez.Vous pouvez afficher la carte dans un navigateur Web ou dans le jeu sous forme de mini-carte ou en plein écran.
- [Iron Chests](https://www.curseforge.com/minecraft/mc-mods/iron-chests) : ajoute des coffres upgradable
- [Nature's Compass](https://www.curseforge.com/minecraft/mc-mods/natures-compass) : Ajoute une boussole qui permet de connaître la direction des biomes
- [Carry On](https://www.curseforge.com/minecraft/mc-mods/carry-on) : Permet de porter des coffres pleins
- [Craftable Horse Armour & Saddle](https://www.curseforge.com/minecraft/mc-mods/cha-s) : Permet de crafter des armures et des selles pour les chevaux
- [Crafting Tweaks](https://www.curseforge.com/minecraft/mc-mods/crafting-tweaks) : Ajoute des boutons aux tables de craft pour tourner, équilibrer les items. etc
- [NetherPortalFix](https://www.curseforge.com/minecraft/mc-mods/netherportalfix) : Permet d'être certain de ressortir au même endroit lorsque l'on repasse par le même portail pour le nether malgré le rapport 8:1 qui provoque parfois une confusion entre des portails trop proches.
- [Ocean Floor - Clay Sand and Dirt](https://www.curseforge.com/minecraft/mc-mods/ocean-floor-clay-sand-and-dirt) : Ajoute des matériaux dans le fond des océans
- [Sophisticated Backpacks](https://www.curseforge.com/minecraft/mc-mods/sophisticated-backpacks) : Ajoute des sac à dos que l'on peut poser.
- [Waystones](https://www.curseforge.com/minecraft/mc-mods/waystones) : Ajoute des pierres de téléportation sur la map.
- [Traveler's Titles](https://www.curseforge.com/minecraft/mc-mods/travelers-titles) : (COTE CLIENT UNIQUEMENT) Ajoute un message quand vous entrez dans un biome
- [Scannable](https://www.curseforge.com/minecraft/mc-mods/scannable) : Ajoute un scanner
- [Scaffolding Drops Nearby (Forge)](https://www.curseforge.com/minecraft/mc-mods/scaffolding-drops-nearby) : Ajoute des échafaudages
- [Moving Elevators](https://www.curseforge.com/minecraft/mc-mods/moving-elevators) : Ajoute des ascenseurs
- [Experience Obelisk](https://www.curseforge.com/minecraft/mc-mods/experience-obelisk) : Permet de stocker l'xp
- [Disenchanting]() : Permet de désanchanter un objet et de transférer l'enchantement sur un livre
- [Corail Recycler](https://www.curseforge.com/minecraft/mc-mods/corail-recycler) : Ajoute un recycleur d'objets
##Équipement
- [Tinkers Construct](https://www.curseforge.com/minecraft/mc-mods/tinkers-construct) : Ajoute la possibilité de crafter des armes modulables
- [Redstone Arsenal](https://www.curseforge.com/minecraft/mc-mods/redstone-arsenal) : Redstone Arsenal ajoute des outils et des armes qui exploitent la puissance de Redstone Flux, le système énergétique ajouté par CoFH et Thermal Expansion.
- [Tool's Complement](https://www.curseforge.com/minecraft/mc-mods/tools-complement) : Ajoute de l'équipement armure et armes, fonctionne bien avec thermal
- [Mining Gadgets](https://www.curseforge.com/minecraft/mc-mods/mining-gadgets) : Outils de minage
- [Comforts (Forge)](https://www.curseforge.com/minecraft/mc-mods/comforts) : Ajoute de sacs de couchage
- [Baubles reborn](https://www.curseforge.com/minecraft/mc-mods/baubles-reborn) : Ajoute des emplacements d'équipement (bagues, etc)
##tech
- [Mekanism](https://www.curseforge.com/minecraft/mc-mods/mekanism) : Mods technique qui ajoute tout un tas de machines stuff et power generation
- [Mekanism Additions](https://www.curseforge.com/minecraft/mc-mods/mekanism-additions)
- [Mekanism Generators](https://www.curseforge.com/minecraft/mc-mods/mekanism-generators)
- [Mekanism Tools](https://www.curseforge.com/minecraft/mc-mods/mekanism-tools)
- [Applied Energistics 2](https://www.curseforge.com/minecraft/mc-mods/applied-energistics-2): Mod d'automatisation et de stockage dématérialisé
- [Applied Energistics 2 Wireless Terminals](https://www.curseforge.com/minecraft/mc-mods/applied-energistics-2-wireless-terminals) : Ajoute un terminal sans fil à applied
- [Applied Mekanistics](https://www.curseforge.com/minecraft/mc-mods/applied-energistics-2-wireless-terminals) : addon applied pour la comptabilité mekanism
- [AE Additions - ExtraCells2 Fork](https://www.curseforge.com/minecraft/mc-mods/ae-additions-extra-cells-2-fork) : Ajoute des capacités de stockage en plus
- [AE2 Extras](https://www.curseforge.com/minecraft/mc-mods/ae2-extras) : Ajoute des capacités de craft (les gros blocs là)
- [Applied Botanics Addon](https://www.curseforge.com/minecraft/mc-mods/applied-botanics-addon) : Addon applied pour botanica
- [CC: Tweaked](https://www.curseforge.com/minecraft/mc-mods/cc-tweaked) : computer et robots (en attendant open computer)
- [Advanced Peripherals](https://www.curseforge.com/minecraft/mc-mods/advanced-peripherals) : addon pour CC :Tweaked
- [Flux Networks](https://www.curseforge.com/minecraft/mc-mods/flux-networks) : réseau d'énergie sans fil
- [Thermal fondation et ses addons](https://www.curseforge.com/minecraft/mc-mods/thermal-foundation) : coeur de thermal mod technique.
- [Thermal Expansion](https://www.curseforge.com/minecraft/mc-mods/thermal-expansion) : addon Thermal
- [Thermal Expansion](https://www.curseforge.com/minecraft/mc-mods/thermal-expansion) : addon Thermal
- [Thermal Cultivation](https://www.curseforge.com/minecraft/mc-mods/thermal-cultivation) : addon Thermal
- [Thermal Innovation](https://www.curseforge.com/minecraft/mc-mods/thermal-innovation) : addon Thermal
- [Thermal Integration](https://www.curseforge.com/minecraft/mc-mods/thermal-integration) : addon Thermal
- [Thermal Locomotion](https://www.curseforge.com/minecraft/mc-mods/thermal-locomotion) : addon Thermal
- [Pipez](https://www.curseforge.com/minecraft/mc-mods/pipez) : cable électriques lag friendly
- [Open Computer 2](https://www.curseforge.com/minecraft/mc-mods/oc2) : Mod très complet qui introduit des ordinateur mais en cours de réécriture.
- [Charging Gadgets](https://www.curseforge.com/minecraft/mc-mods/charging-gadgets) : station de recharge des outils
- [Extreme Reactors](https://www.curseforge.com/minecraft/mc-mods/extreme-reactors) : Ajoute des réacteurs nucléaire
- [Deep Resonance](https://www.curseforge.com/minecraft/mc-mods/deep-resonance) : Ajoute des générateur de RF
##déco
- [Waystone Towers](https://www.curseforge.com/minecraft/mc-mods/waystone-towers) : Ajoute des tours décoratives.
- [Waddles](https://www.curseforge.com/minecraft/mc-mods/waddles) : Ajoute des pingouins dans les biomes froids
- [Simply Houses](https://www.curseforge.com/minecraft/mc-mods/simply-houses) : Ajoute quelques structures un peu partout
- [Corail Pillar](https://www.curseforge.com/minecraft/mc-mods/corail-pillar) : Ajoute des pilliers
- [Corail Woodcutter](https://www.curseforge.com/minecraft/mc-mods/corail-woodcutter) : ajoute un coupeur de bois
- [Construction Wand](https://www.curseforge.com/minecraft/mc-mods/construction-wand) : Ajoute un outil pour poser plusieurs block à la fois
- [Connectible Chains [FORGE]](https://www.curseforge.com/minecraft/mc-mods/connectible-chains-forge) : Permet de connecter les chaines entre elles
- [Castle in the Sky](https://www.curseforge.com/minecraft/mc-mods/castle-in-the-sky-the-fairytale-of-laputa) : Ajoute des chateaux dans le ciel
- [Chisels & Bits - For Forge](https://www.curseforge.com/minecraft/mc-mods/chisels-bits) : Ajoute des outils permettant de tailler des formes dans les blocs
- [BlockCarpentry](https://www.curseforge.com/minecraft/mc-mods/blockcarpentry) : Ajoute des blocs de déco
- [Building Gadgets](https://www.curseforge.com/minecraft/mc-mods/building-gadgets) : Outils de construction
##Nourriture
- [Cooking for Blockheads](https://www.curseforge.com/minecraft/mc-mods/cooking-for-blockheads) : Ce mod ajoute un livre de cuisine avec une cuisine fonctionnelle à Minecraft.
- [Pam's HarvestCraft 2 - Food Core](https://www.curseforge.com/minecraft/mc-mods/pams-harvestcraft-2-food-core) : Ajoute des ingrédients et des recettes
- [Pam's HarvestCraft 2 - Crops](https://www.curseforge.com/minecraft/mc-mods/pams-harvestcraft-2-crops)
- [Pam's HarvestCraft 2 - Trees](https://www.curseforge.com/minecraft/mc-mods/pams-harvestcraft-2-trees)
- [Pam's HarvestCraft 2 - Food Extended](https://www.curseforge.com/minecraft/mc-mods/pams-harvestcraft-2-food-extended)
- [FarmersDelight](https://www.curseforge.com/minecraft/mc-mods/farmers-delight) : Ajoute des options à l'agriculture et des recettes
##Magique
- [Botania](https://www.curseforge.com/minecraft/mc-mods/botania):Botania est un mod sur le thème de la magie naturelle à base de fleur
##utilitaires et fonctionnalités
- [chunck loader](https://www.curseforge.com/minecraft/mc-mods/chunk-loaders) : permet de laisser des chuncks chargés même lorsque aucun joueur n'est pas dedans (attention fonctionne meme lorsque aucun joueur n'est connecté)
- [all the ores](https://www.curseforge.com/minecraft/mc-mods/ato) : va prendre en charge la génération des minerais afin d'éviter que chaque mod génère les siens et de finir par avoir des doublons, il faut donc désactiver la génération des minerais dans les autres mods
- [Almost Unified](https://www.curseforge.com/minecraft/mc-mods/almost-unified) : Va faire en sorte d'unifier les recettes. Par exemple un cuivre cuit dans un four thermal ou mekanism donnera le même lingot
- [JAOPCA](https://www.curseforge.com/minecraft/mc-mods/jaopca) : Complémentaire avec almost unified pour les poudres
- [Simple Backup](https://www.curseforge.com/minecraft/mc-mods/simple-backups) : Ce mod est utilisé pour créer des sauvegardes. (UNIQUEMENT COTE SERVEUR)
- [Time Control](https://www.curseforge.com/minecraft/mc-mods/time-control) : Permet de paramétrer la durée du cycle jour nuit
- [Snow! Real Magic!](https://www.curseforge.com/minecraft/mc-mods/snow-real-magic) : améliore la neige
- [Serene Seasons](https://www.curseforge.com/minecraft/mc-mods/serene-seasons) : ajoute des saisons à Minecraft !
- [Server Performance - Smooth Chunk Save](https://www.curseforge.com/minecraft/mc-mods/smooth-chunk-save) : Améliore les performances du serveur
- [Realistic Bees](https://www.curseforge.com/minecraft/mc-mods/realistic-bees) : Rend les abeilles plus réalistes
- [nutritionalbalance](https://www.curseforge.com/minecraft/mc-mods/nutritional-balance): Si vous mangez varié vous serez plus fort
- [No Hostiles Around Campfire (Forge)](https://www.curseforge.com/minecraft/mc-mods/no-hostiles-around-campfire) : Les mobs ne peuvent pas spawner autour des feux de camps
- [Regrowth](https://www.curseforge.com/minecraft/mc-mods/regrowth) : Mods complexe, voir le lien
- [Polymorph](https://www.curseforge.com/minecraft/mc-mods/polymorph) : Permet de choisir entre différentes recettes en cas de conflit entre mod
- [Flower Seeds](https://www.curseforge.com/minecraft/mc-mods/flower-seeds) : Ajoute des graines pour les fleurs
- [Oh The Biomes You'll Go](https://www.curseforge.com/minecraft/mc-mods/oh-the-biomes-youll-go) : Ajoute des biomes
- [Fix Experience Bug]() : Corrige un bug qui parfois affiche l'xp a zero quand on change de dimension
- [DoggyTalents](https://www.curseforge.com/minecraft/mc-mods/doggy-talents) : Permet de dresser les chiens et de leur apprendre des choses
- [allthemodium](https://www.curseforge.com/minecraft/mc-mods/allthemodium) : Ajoute le minerai modium
- [AI improvements](https://www.curseforge.com/minecraft/mc-mods/ai-improvements) : (UNIQUEMENT COTE SERVEUR) Améliore les performances du serveur