totaldebug.minecraft

ansible-role-minecraft

Ce rôle installe Minecraft ou Spigot et le configure pour fonctionner sous systemd ou Supervisor.

Crédit à devops-coop qui a créé la majeure partie de cette version.

Installation

ansible-galaxy install totaldebug.minecraft

Fonctions

  • prend en charge Minecraft vanilla et Spigot
  • prend en charge Debian 10, Ubuntu 18.04, RHEL/CentOS 7 et RHEL/CentOS 8
  • arrête le serveur de manière sécurisée en utilisant stop lorsqu'il fonctionne sous systemd
  • Utilise Github Actions et Molecule pour exécuter des tests d'intégration
  • gère les ACL des utilisateurs
  • gère server.properties
  • hooks : incluez des tâches arbitraires à des étapes spécifiques pendant l'exécution

Variables du rôle

Variables du rôle

Les valeurs par défaut des variables suivantes sont définies dans defaults/main.yml.

minecraft_server_type choisissez entre minecraft ou spigot (par défaut : minecraft)

minecraft_version Version de Minecraft à installer (par défaut : latest)

Exemples :

.. code:: yaml

   minecraft_version: latest
   minecraft_version: 1.10
   minecraft_version: 1.9.1
   minecraft_version: 16w21a

minecraft_server_download_url URL de téléchargement de Minecraft (par défaut : https://launcher.mojang.com/v1/objects)

minecraft_server_download_checksum Somme de contrôle de l'URL de téléchargement de Minecraft

minecraft_user utilisateur système sous lequel Minecraft fonctionne (par défaut : minecraft)

minecraft_group groupe système sous lequel Minecraft fonctionne (par défaut : minecraft)

minecraft_home répertoire où installer Minecraft (par défaut : /srv/minecraft)

minecraft_max_memory mémoire maximale de Java (-Xmx) à allouer (par défaut : 1024M)

minecraft_initial_memory mémoire initiale de Java (-Xms) à allouer (par défaut : 1024M)

minecraft_service_name nom du service systemd ou du programme Supervisor (par défaut : minecraft)

minecraft_supervisor_name DÉPRÉCIÉ : nom du programme Supervisor (par défaut : {{ minecraft_service_name }})

minecraft_process_control Choisissez entre systemd et supervisor (par défaut : systemd).

minecraft_whitelist liste des noms d'utilisateur Minecraft à autoriser (par défaut : [])

minecraft_ops liste des noms d'utilisateur Minecraft à rendre ops sur le serveur (par défaut : [])

minecraft_banned_players liste des noms d'utilisateur Minecraft à bannir (par défaut : [])

minecraft_banned_ips liste des adresses IP à bannir (par défaut : [])

minecraft_server_properties dictionnaire des entrées de server.properties (par exemple server-port: 25565) à définir (par défaut : {})

Hooks et étapes d'exécution

ansible-minecraft organise l'exécution en plusieurs étapes :

setup

  • installer les prérequis (par exemple, Java)
  • créer l'utilisateur et le groupe Minecraft

download

  • récupérer la dernière version depuis l'API de lancement
  • télécharger Minecraft

install

  • créer un lien symbolique vers minecraft_server.jar
  • accepter le contrat de licence

acl

  • configurer les ACLs du serveur (liste blanche, joueurs bannis, etc.)

configure

  • définir server.properties

start

  • (re)démarrer le serveur

Vous pouvez exécuter des tâches personnalisées avant ou après des étapes spécifiques. Il suffit de spécifier un task include file <https://docs.ansible.com/ansible/playbooks_roles.html#task-include-files-and-encouraging-reuse>__ en utilisant la variable de rôle pertinente :

.. code:: yaml

- hosts: minecraft
  roles:
    - role: devops-coop.minecraft
      minecraft_hook_before_start: "{{ playbook_dir }}/download-world-from-s3.yml"

Les hooks disponibles sont :

minecraft_hook_before_setup exécuté avant les tâches de setup

minecraft_hook_after_setup exécuté après les tâches de setup

minecraft_hook_before_download exécuté avant les tâches de download

minecraft_hook_after_download exécuté après les tâches de download

minecraft_hook_before_install exécuté avant les tâches de install

minecraft_hook_after_install exécuté après les tâches de install

minecraft_hook_before_start exécuté avant les tâches de start

minecraft_hook_after_start exécuté après les tâches de start

Exemple

.. code:: yaml

- hosts: minecraft
  roles:
     - { role: devops-coop.minecraft, minecraft_whitelist: ["jeb_", "dinnerbone"]}

Contribution

Les demandes de tirage sont les bienvenues. Entre autres fonctionnalités, ce rôle manque de support pour des serveurs Minecraft personnalisés.

Versionnement

Ce projet suit le versionnement sémantique.

Dans le contexte du versionnement sémantique, considérez le contrat du rôle comme étant défini par les variables de rôle.

  • Les changements majeurs ou les changements qui nécessitent une intervention de l'utilisateur augmenteront la version majeure. Cela inclut le changement de la valeur par défaut d'une variable de rôle.
  • Les changements qui ne nécessitent pas d'intervention de l'utilisateur, mais qui ajoutent de nouvelles fonctionnalités, augmenteront la version mineure.
  • Les corrections de bogues augmenteront la version de patch.
À propos du projet

Provisions a vanilla minecraft or spigot server

Installer
ansible-galaxy install totaldebug.minecraft
Licence
Unknown
Téléchargements
120
Propriétaire