--- title: Compilation et Exécution type: docs weight: 2 --- Ce guide explique comment configurer votre environnement de développement, compiler votre plugin et le déployer sur un serveur Hytale. ## Démarrage Rapide avec example-mod La façon la plus simple de commencer le développement de plugins est d'utiliser le template [example-mod](https://github.com/hytale-france/example-mod) qui inclut un script de configuration automatisé. ### 1. Cloner le Dépôt ```bash git clone https://github.com/hytale-france/example-mod.git cd example-mod ``` Ou téléchargez la dernière release depuis [GitHub Releases](https://github.com/hytale-france/example-mod/releases). ### 2. Télécharger les Outils (Une fois) Téléchargez les outils requis (hytale-downloader et décompilateur CFR) : ```bash ./setup.sh --download ``` Cela crée un répertoire `.bin/` avec : - `hytale-downloader-*` - Téléchargeur officiel du serveur Hytale - `cfr-0.152.jar` - Décompilateur Java pour les sources de référence ### 3. Télécharger le Serveur Téléchargez et extrayez le serveur Hytale : ```bash ./setup.sh --setup ``` Le serveur sera disponible dans `server/Server/HytaleServer.jar`. ### 4. Générer les Sources de Référence (Optionnel) Décompilez le JAR serveur pour obtenir les sources de référence de l'API : ```bash ./setup.sh --decompile ``` Cela crée `src-ref/` avec les sources Java décompilées pour l'autocomplétion IDE et la documentation. ## Structure du Projet Après la configuration, votre projet ressemblera à ceci : ``` example-mod/ ├── app/ │ ├── src/main/java/org/example/ │ │ └── ExamplePlugin.java │ ├── src/main/resources/ │ │ └── manifest.json │ └── build.gradle.kts ├── server/ │ ├── Server/ │ │ └── HytaleServer.jar │ └── Assets.zip ├── src-ref/ # Sources de référence décompilées ├── .bin/ # Outils téléchargés ├── setup.sh # Script d'automatisation ├── build.gradle.kts ├── settings.gradle.kts └── gradlew ``` ## Compilation du Plugin ### 1. Compiler avec Gradle ```bash # Sur Linux/macOS ./gradlew build # Sur Windows gradlew.bat build ``` ### 2. Localiser le JAR Compilé Après une compilation réussie, votre JAR de plugin sera dans : ``` app/build/libs/ExamplePlugin-1.0.0.jar ``` ## Exécution du Serveur ### 1. Configuration Initiale du Serveur Démarrez le serveur pour la première fois : ```bash cd server java -jar Server/HytaleServer.jar --assets Assets.zip ``` ### 2. S'Authentifier Une fois la console du serveur prête, exécutez la commande d'authentification : ``` /auth login device ``` Suivez les instructions pour vous authentifier avec votre compte Hytale. {{< callout type="warning" >}} **Authentification Requise :** Si aucun token serveur n'est configuré, vous verrez un avertissement au démarrage : ``` No server tokens configured. Use /auth login to authenticate. ``` Vous devez vous authentifier avant que les joueurs puissent rejoindre le serveur en mode non-singleplayer. {{< /callout >}} ### 3. Arrêter le Serveur Après l'authentification, vous pouvez arrêter le serveur : - **Linux/macOS:** Appuyez sur `Ctrl+C` - **Windows:** Appuyez sur `Ctrl+C` ou fermez le terminal ## Déploiement du Plugin ### 1. Copier le JAR Copiez le JAR compilé dans le dossier `mods` : ```bash cp app/build/libs/ExamplePlugin-1.0.0.jar server/mods/ ``` ### 2. Démarrer le Serveur ```bash cd server java -jar Server/HytaleServer.jar --assets Assets.zip ``` ### 3. Vérifier le Chargement Vous devriez voir votre plugin se charger dans la console : ``` [INFO] [PluginManager] Loading pending plugins from directory: mods [INFO] [PluginManager] - org.example:ExamplePlugin from path ExamplePlugin-1.0.0.jar ``` ## Mise à Jour du Serveur Lorsqu'une nouvelle version d'Hytale est publiée : ```bash ./setup.sh --update ``` Cela téléchargera la dernière version du serveur et mettra à jour votre installation. ## Problèmes Courants ### Version Java Incompatible {{< callout type="error" >}} **Erreur :** `Unsupported class file major version 69` {{< /callout >}} Assurez-vous d'utiliser Java 25 : ```bash java --version ``` ### Manifest Non Trouvé {{< callout type="error" >}} **Erreur :** `Failed to load manifest file!` {{< /callout >}} Assurez-vous que `manifest.json` est dans `src/main/resources/` et inclus dans le JAR. ### Script de Configuration Non Trouvé {{< callout type="error" >}} **Erreur :** `./setup.sh: Permission denied` {{< /callout >}} Rendez le script exécutable : ```bash chmod +x setup.sh ``` ## Configuration Manuelle (Alternative) Si vous préférez une configuration manuelle sans le script : ### Localiser l'Installation Hytale Trouvez votre répertoire d'installation Hytale : {{< tabs items="Windows,Linux,macOS" >}} {{< tab >}} ``` %appdata%\Hytale\install\release\package\game\latest ``` {{< /tab >}} {{< tab >}} ``` $XDG_DATA_HOME/Hytale/install/release/package/game/latest ``` Ou généralement : ``` ~/.local/share/Hytale/install/release/package/game/latest ``` {{< /tab >}} {{< tab >}} ``` ~/Application Support/Hytale/install/release/package/game/latest ``` {{< /tab >}} {{< /tabs >}} ### Configuration Manuelle du Serveur 1. Copiez `Server/` et `Assets.zip` depuis votre installation Hytale 2. Téléchargez CFR depuis [https://www.benf.org/other/cfr/](https://www.benf.org/other/cfr/) 3. Décompilez : `java -jar cfr.jar HytaleServer.jar --outputdir src-ref` ## Étapes Suivantes Maintenant que vous pouvez compiler et exécuter votre plugin, explorez : - [Cycle de Vie du Plugin](../plugin-lifecycle) - Comprendre setup, start et shutdown - [Commandes](../../commands) - Créer des commandes personnalisées - [Événements](../../events) - Écouter les événements du jeu