Files
Documentation/content/getting-started/building-and-running.fr.md
2026-01-20 20:33:59 +01:00

247 lines
5.8 KiB
Markdown

---
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