Migration de données
Migrer les données d'autres plugins vers zEssentials
zEssentials intègre des convertisseurs qui permettent de migrer les données des joueurs depuis d'autres plugins populaires. Chaque convertisseur lit les données dans le format de stockage du plugin source et les importe dans la base de données de zEssentials.
Prérequis
Tous les convertisseurs nécessitent que zEssentials utilise un stockage SQL (SQLITE, MYSQL, MARIADB ou HIKARICP). Le stockage JSON n'est pas supporté comme cible de migration. Vérifiez que votre base de données est configurée et fonctionnelle avant de lancer un convertisseur. En production, préférez MySQL/MariaDB à SQLite.
Avant de commencer
- Sauvegardez votre base de données avant de lancer un convertisseur.
- Fermez le serveur aux joueurs (par exemple avec la whitelist) ou assurez-vous qu'aucun joueur n'est connecté pendant la migration, pour éviter les conflits de données.
- Vérifiez que les fichiers de données du plugin source sont accessibles depuis le serveur.
- Lancez le convertisseur depuis la console du serveur pour de meilleurs résultats.
Commande
Tous les convertisseurs se lancent avec la même commande :
/zessentials convert <plugin>| Argument | Valeurs |
|---|---|
<plugin> | essentialsx, cmi, sunlight, playervaultx, coinsengine, huskhomes, axvaults |
- Alias :
/ess convert,/zessentials conv,/zessentials c - Permission :
essentials.convert
La conversion s'exécute de façon asynchrone. La progression et le résultat final (You have just converted your ... data to zEssentials !) sont envoyés à l'expéditeur de la commande.
Uniquement les homes d'EssentialsX
Si vous souhaitez seulement importer les homes d'EssentialsX (sans les soldes), vous pouvez aussi utiliser /homeimport essentialsx (permission essentials.home.import). Cette commande lit les mêmes fichiers plugins/Essentials/userdata/, ignore les homes dont le monde n'existe pas et fonctionne avec tous les types de stockage. Voir le module Home.
EssentialsX
Migre les données des joueurs depuis EssentialsX vers zEssentials.
Données migrées
| Type de données | Détails |
|---|---|
| Utilisateurs | UUID du joueur et dernier pseudo connu |
| Économie | Soldes des joueurs |
| Homes | Tous les homes des joueurs avec leur position complète |
Fonctionnement
Le convertisseur lit les fichiers d'EssentialsX situés dans plugins/Essentials/userdata/. Chaque fichier de ce dossier porte l'UUID d'un joueur (par exemple 550e8400-e29b-41d4-a716-446655440000.yml) et contient ses données.
Dans chaque fichier, le convertisseur récupère :
money-- Le solde du joueurlast-account-name-- Le dernier pseudo connu du joueurhomes-- La liste des homes, chacun contenant :world-name-- Le monde du homex,y,z-- Les coordonnéesyaw,pitch-- L'orientation du joueur
Prérequis
- Les fichiers userdata d'EssentialsX doivent être présents dans
plugins/Essentials/userdata/ - zEssentials doit utiliser un stockage SQL
Utilisation
- Vérifiez que le dossier
plugins/Essentials/userdata/contient les fichiers.ymldes joueurs - Lancez
/zessentials convert essentialsxdepuis la console - Le convertisseur parcourt tous les fichiers
.ymlet importe les données de chaque joueur
CMI
Migre les données des joueurs depuis CMI vers zEssentials.
Données migrées
| Type de données | Détails |
|---|---|
| Utilisateurs | UUID et pseudo du joueur |
| Économie | Soldes des joueurs |
| Homes | Tous les homes des joueurs avec leur position complète |
Fonctionnement
Le convertisseur lit la base SQLite de CMI (cmi.sqlite.db). Ce fichier doit être placé dans le dossier plugins/zEssentials/ avant de lancer le convertisseur.
Dans CMI, les positions des homes sont stockées sous forme de chaînes sérialisées. Le convertisseur les analyse pour en extraire le monde, les coordonnées, le yaw et le pitch de chaque home.
Prérequis
- Copiez
cmi.sqlite.dbdepuis le dossier de CMI versplugins/zEssentials/ - zEssentials doit utiliser un stockage SQL
Utilisation
- Copiez le fichier
cmi.sqlite.dbdansplugins/zEssentials/ - Lancez
/zessentials convert cmidepuis la console - Le convertisseur lit la base de CMI et importe les utilisateurs, les soldes et les homes
CoinsEngine
Migre les soldes multi-devises depuis CoinsEngine vers zEssentials.
Données migrées
| Type de données | Détails |
|---|---|
| Économie | Tous les soldes multi-devises de chaque joueur |
Fonctionnement
Le convertisseur lit deux sources :
plugins/CoinsEngine/data.db-- La base SQLite contenant les soldes des joueursplugins/CoinsEngine/currencies/*.yml-- Les fichiers de configuration des devises, utilisés pour déterminer le nom des colonnes dans la base
Chaque devise définie dans CoinsEngine correspond à une colonne de la base. Le convertisseur lit le nom des colonnes dans les fichiers de configuration des devises puis extrait le solde correspondant de chaque joueur.
Prérequis
- Le fichier de données de CoinsEngine doit être présent dans
plugins/CoinsEngine/data.db - Les fichiers de configuration des devises doivent être présents dans
plugins/CoinsEngine/currencies/ - Toutes les devises doivent déjà exister dans la configuration de l'économie de zEssentials avant de lancer le convertisseur. Créez d'abord les devises correspondantes dans zEssentials, puis lancez la migration.
- zEssentials doit utiliser un stockage SQL
Utilisation
- Vérifiez que
plugins/CoinsEngine/data.dbetplugins/CoinsEngine/currencies/sont accessibles - Créez toutes les devises correspondantes dans la configuration du module Économie de zEssentials
- Lancez
/zessentials convert coinsenginedepuis la console - Le convertisseur associe chaque devise de CoinsEngine à son équivalent dans zEssentials et importe tous les soldes
HuskHomes
Migre les données des joueurs depuis HuskHomes vers zEssentials.
Données migrées
| Type de données | Détails |
|---|---|
| Utilisateurs | UUID et pseudo du joueur |
| Homes | Tous les homes des joueurs avec leur position complète |
Fonctionnement
Le convertisseur lit la base SQLite de HuskHomes (HuskHomesData.db) si ce fichier est présent dans plugins/zEssentials/. Sinon, il lit les tables de HuskHomes dans la base de données de zEssentials (pratique lorsque les deux plugins partagent la même base MySQL). Le convertisseur lit quatre tables :
huskhomes_users-- Contient les UUID et pseudos des joueurshuskhomes_homes-- Contient le nom des homes et leur propriétairehuskhomes_saved_positions-- Associe chaque home à une positionhuskhomes_position_data-- Contient les coordonnées (monde, x, y, z, yaw, pitch)
Ces tables sont combinées pour reconstituer l'ensemble des homes de chaque joueur.
Prérequis
- Copiez
HuskHomesData.dbdepuis le dossier de HuskHomes versplugins/zEssentials/, ou assurez-vous que zEssentials peut accéder aux tables existantes de HuskHomes - zEssentials doit utiliser un stockage SQL
Utilisation
- Copiez le fichier
HuskHomesData.dbdansplugins/zEssentials/(ou configurez l'accès à la base partagée) - Lancez
/zessentials convert huskhomesdepuis la console - Le convertisseur combine les tables des utilisateurs, des homes et des positions, puis importe tous les homes des joueurs
PlayerVaultX
Migre le contenu des coffres depuis PlayerVaultX vers zEssentials.
Données migrées
| Type de données | Détails |
|---|---|
| Coffres | Tout le contenu des coffres des joueurs (items) |
Fonctionnement
Le convertisseur lit les fichiers de PlayerVaultX situés dans plugins/PlayerVaults/newvaults/. Chaque fichier contient les coffres d'un joueur, avec les items stockés sous forme de tableaux d'ItemStack encodés en Base64 au format CardboardBoxSerialization.
Le convertisseur décode chaque chaîne Base64 en objets ItemStack Minecraft et les importe dans le système de coffres de zEssentials.
Prérequis
- Les fichiers de PlayerVaultX doivent être présents dans
plugins/PlayerVaults/newvaults/ - Le plugin PlayerVaults doit être activé sur le serveur (nécessaire pour les classes de désérialisation
CardboardBoxSerialization) - zEssentials doit utiliser un stockage SQL
Utilisation
- Vérifiez que le plugin PlayerVaults est installé et activé sur le serveur
- Vérifiez que
plugins/PlayerVaults/newvaults/contient les fichiers.ymldes coffres - Lancez
/zessentials convert playervaultxdepuis la console - Le convertisseur décode et importe tous les items des coffres de chaque joueur
AxVaults
Migre le contenu des coffres depuis AxVaults vers zEssentials.
Données migrées
| Type de données | Détails |
|---|---|
| Coffres | Tout le contenu des coffres des joueurs (items) |
Fonctionnement
Le convertisseur lit les coffres directement dans la base de données d'AxVaults. Il utilise la réflexion Java pour accéder à la connexion interne du plugin AxVaults, puis interroge les tables des coffres pour récupérer tous les items de chaque joueur.
Prérequis
- Le plugin AxVaults doit être activé sur le serveur (nécessaire pour accéder à sa connexion à la base par réflexion)
- zEssentials doit utiliser un stockage SQL
Utilisation
- Vérifiez que le plugin AxVaults est installé et activé sur le serveur
- Lancez
/zessentials convert axvaultsdepuis la console - Le convertisseur accède à la connexion de la base d'AxVaults et importe tous les items des coffres
Sunlight
Migre les données des joueurs depuis Sunlight vers zEssentials.
Données migrées
| Type de données | Détails |
|---|---|
| Utilisateurs | UUID et pseudo du joueur |
| Homes | Tous les homes des joueurs avec leur position complète |
Fonctionnement
Le convertisseur lit la base SQLite de Sunlight (data.db). Ce fichier doit être placé dans le dossier plugins/zEssentials/ avant de lancer le convertisseur.
Sunlight stocke les positions dans un format différent de celui de zEssentials. Le convertisseur se charge de la conversion :
| Format Sunlight | Format zEssentials |
|---|---|
x, y, z, pitch, yaw, world | world, x, y, z, yaw, pitch |
Les champs sont réordonnés pour correspondre à la structure des positions de zEssentials pendant l'import.
Prérequis
- Copiez
data.dbdepuis le dossier de Sunlight versplugins/zEssentials/ - zEssentials doit utiliser un stockage SQL
Utilisation
- Copiez le fichier
data.dbdansplugins/zEssentials/ - Lancez
/zessentials convert sunlightdepuis la console - Le convertisseur lit la base de Sunlight, convertit le format des positions et importe les utilisateurs et les homes
Récapitulatif
| Convertisseur | Utilisateurs | Économie | Homes | Coffres | Format source | Emplacement des fichiers |
|---|---|---|---|---|---|---|
| EssentialsX | Oui | Oui | Oui | -- | Fichiers YAML | plugins/Essentials/userdata/ (sur place) |
| CMI | Oui | Oui | Oui | -- | SQLite | Copier cmi.sqlite.db dans plugins/zEssentials/ |
| CoinsEngine | -- | Oui | -- | -- | SQLite + YAML | plugins/CoinsEngine/ (sur place) |
| HuskHomes | Oui | -- | Oui | -- | SQLite / MySQL | Copier HuskHomesData.db dans plugins/zEssentials/ ou utiliser une base partagée |
| PlayerVaultX | -- | -- | -- | Oui | Fichiers YAML (Base64) | plugins/PlayerVaults/newvaults/ (sur place) |
| AxVaults | -- | -- | -- | Oui | Base de données (par réflexion) | Le plugin doit être activé |
| Sunlight | Oui | -- | Oui | -- | SQLite | Copier data.db dans plugins/zEssentials/ |
Tous les convertisseurs nécessitent qu'un stockage SQL (SQLITE, MYSQL, MARIADB ou HIKARICP) soit configuré dans zEssentials. Le stockage JSON ne peut pas être utilisé comme cible des migrations.