PacifistaPlugins est un projet de plugins minecraft pour le serveur Pacifista. Il est basé sur l'api Folia qui est un fork multithreading de Paper. Et sur Velocity pour le proxy.
Je vous conseille d'abord de lire les documentations de Folia et Velocity avant de vous lancer dans le projet.
Folia : https://docs.papermc.io/folia
Velocity : https://docs.papermc.io/velocity/dev
Vous devez être à l'aise avec Java et Gradle pour pouvoir contribuer à ce projet. Vous piuvez prendre 10-15h de micro formation sur gradle si vous n'êtes pas familiarisé avant de commencer.
Je (Funix) me tiens évidemment disponible pour vous aider si vous avez des questions, le but principal est de vous amuser et passer du bon temps sur ce projet ❤️
- Aller dans le dossier plugin et lancer le script
./build.shOu si vous êtes sur windows
./build.bat- Vous devez avoir java jdk 21 installé sur votre environement gradle est embarqué avec le projet pas besoin de l'installer.
-
Il vous faut au moins 20go de ram pour lancer Pacifista sur votre PC
-
Pour lancer l'environement de dev de Pacifista vous devez installer docker sur votre environement. Consultez ce lien pour plus d'informations https://www.docker.com/products/docker-desktop/
-
Ensuite allez dans le dossier docker_dev_pacifista_minecraft et lancez le script de build des images. Faites le de temps en temps pour garder Folia et Velocity à jour. Les map sont cachées donc ne seront jamais supprimées.
./rebuild.bat./rebuild.sh🍵 Allez chercher un café pendant ce temps ça prend un moment !
Toujours dans le dossier docker_dev_pacifista_minecraft vous pouvez utiliser les scripts de lancement des serveurs.
./start.bat./start.shSi vous le souhaitez, mais je ne vous le recommande pas car vous ne verrez pas les logs d'erreur, vous pouvez lancer le serveur en arrière plan en ajoutant un -d à la fin de la commande start.sh ou start.bat
Avant de commencer à coder veuillez suivre la documentation technique de Pacifista. Elle est disponible dans le dossier docs.
Juste ici : Documentation technique de Pacifista
@NoArgsConstructor(access = lombok.AccessLevel.PRIVATE)
public class PacifistaPermissions {
public static final String ADMIN = "pacifista.admin";
public static final String MODERATOR = "pacifista.moderator";
public static final String HELPER = "pacifista.helpeur";
public static final String ANIMATOR = "pacifista.animator";
public static final String BUILDER = "pacifista.builder";
public static final String LEGENDARY = "pacifista.legendaire";
public static final String ELITE = "pacifista.elite";
public static final String PALADIN = "pacifista.paladin";
public static final String ADVENTURER = "pacifista.aventurier";
}-
PACIFISTA_API_URL_DOMAIN=https://api.pacifista.fr(if dev : https://dev.api.pacifista.fr else ignore) -
FUNIXPRODUCTIONS_API_TOKEN=token(token to be used to access api) -
SERVER_TYPE=hub(see enum in pacifista api) -
SERVER_PROXY=true(true/false) -
SERVER_GAMEMODE=hub(hub,survival,creative,skyblock) -
MEMORY_SERVER_GIGS=6(not less than 6) -
SENTRY_DSN=dsn(sentry dsn) -
SENTRY_ENV=developement(sentry env à spécifier en env de dev) -
DISCORD_BOT_TOKEN(token du bot discord)