Création du dépôt instance config

Comme expliqué précédemment, SSM a besoin d'une image Docker pour créer les serveurs à la demande pour votre mini-jeu. Nous allons donc configurer un dépôt sur Gitea et Drone afin de construire une image Docker à chaque nouvelle modification.

Création du dépôt

Rendez-vous sur le Gitea, créez un nouveau dépôt, nommez-le ainsi : MiniJeuInstanceconfig, assurez-vous comme d'habitude que le propriétaire est bien l'organisation Ezariel et non votre compte personnel. Veillez à sélectionner le modèle Ezariel/TemplateInstanceConfig et à cocher la case Contenu Git (branche par défaut). Vous avez désormais un nouveau dépôt avec déjà du contenu à l'intérieur.

Bien quelle ne soit pas pertinente dans ce cas-ci, la branche staging est tout de même obligatoire. Vous pouvez néanmoins pousser vos modificatons directement sur la branche master et ne fusionner les changements dans staging que plus tard. À savoir qu'une nouvelle image Docker ne se formera à chaque push que sur la branche master. Vous n'avez d'ailleurs aucunement besoin de réaliser des Pull Requests. Nous créerons cette branche staging plus tard dans la page.

Qu'y a-t-il dans la boîte ?

Voici une brève explication sur le contenu de ce dépôt fraîchement créé.

  • Des fichiers liés à Docker et à Pterodactyl (Dockerfile, docker-entrypoint.sh).

  • Le fichier de configuration de Drone (.drone.yml).

  • Le dossier de configuration de Gitea Actions (.gitea/workflows).

  • Le dossier qui contient les fichiers d'un serveur à la demande pour votre mini-jeu pour le moment non configuré (data).

Configuration de Drone

  1. Vous devez d'abord vous rendre sur le panel Drone.

  2. Cliquez ensuite sur le bouton SYNC en haut à droite.

  3. Dans la liste des dépôts affichés, décochez l'option Active Only.

  4. Cherchez votre dépôt et cliquez dessus.

  5. Un message indiquant que votre dépôt n'est pas actif devrait s'afficher. Cliquez alors sur le bouton bleu pour activer le dépôt.

  6. Rendez-vous dans l'onglet Secrets (ne pas aller dans la section ORGANIZATION !).

  7. Vous devez maintenant préciser deux variables d'environnement : DOCKER_USERNAME et DOCKER_PASSWORD. Les valeurs de ces variables étant vos identifiants de connexion au Gitea.

Configuration du dépôt

  1. Je vous invite désormais à cloner le dépôt sur votre machine.

  2. Vous pouvez d'ores et déjà créer la branche staging et si vous le souhaitez travailler dessus avant de fusionner vers master. Mais c'est à votre convenance comme expliqué dans la note plus haut.

  3. Vous devez à présent modifier le nom de l'image Docker à publier dans le fichier .drone.yml, qui est au format git.intra.ezacorp.fr/ezariel/minijeuinstanceconfig.

  4. (Optionnel) Vous pouvez faire de-même dans le fichier de configuration de l'action Gitea (.gitea/workflows/deploy.yml). Si un jour, nous décidons miraculeusement de migrer vers Gitea Actions, la configuration sera déjà prête.

Configuration des données

Enfin, vous n'avez plus qu'à ajouter/supprimer des fichiers dans votre dépôt local, commit et pousser et admirer votre image Docker se faire construire en une vingtaine de secondes.

N'oubliez pas notamment : de vérifier que vos mondes Slime sont bien installés et configurés (fichier(s) monde.slime présent dans le dossier slime_worlds et monde configuré dans le fichier worlds.yml dans le dossier du plugin SlimeWorldManager). N'oubliez pas de supprimer les fichiers relatifs à la template (plugin de template, monde template etc...)

Voici les plugins généralement présents dans les serveurs à la demande :

  • FAWE

  • LuckPerms

  • PlaceholderAPI

  • ProtocolLib

  • SarkiAPI (server)

  • SarkiFramework

  • ReadyCheck

  • SlimeWorldManager

  • TAB

  • ViaVersion

  • ViaBackwards

Et bien évidemment le plugin de votre mini-jeu.

Last updated