totaldebug.minecraft

ansible-role-minecraft

Este rol instala Minecraft o Spigot y lo configura para que funcione bajo systemd o Supervisor.

Créditos a devops-coop, quien creó la mayor parte de esta versión.

Instalación

ansible-galaxy install totaldebug.minecraft

Características

  • Soporta Minecraft normal y Spigot
  • Soporta Debian 10, Ubuntu 18.04, RHEL/CentOS 7 y RHEL/CentOS 8
  • Detiene el servidor de manera segura usando "stop" cuando se ejecuta bajo systemd
  • Usa Github Actions y molecule para ejecutar pruebas de integración
  • Gestiona los ACLs de usuarios
  • Gestiona server.properties
  • Hooks: incluye tareas arbitrarias en etapas específicas durante la ejecución

Variables del rol

Variables del rol

Las siguientes variables tienen valores predeterminados definidos en defaults/main.yml.

minecraft_server_type elige entre minecraft o spigot (predeterminado: minecraft)

minecraft_version versión de Minecraft a instalar (predeterminado: latest)

Ejemplos:

.. code:: yaml

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

minecraft_server_download_url URL de descarga de Minecraft (predeterminado: https://launcher.mojang.com/v1/objects)

minecraft_server_download_checksum Suma de verificación de la URL de descarga de Minecraft

minecraft_user usuario del sistema bajo el cual corre Minecraft (predeterminado: minecraft)

minecraft_group grupo del sistema bajo el cual corre Minecraft (predeterminado: minecraft)

minecraft_home directorio donde se instalará Minecraft (predeterminado: /srv/minecraft)

minecraft_max_memory memoria máxima de Java (-Xmx) a asignar (predeterminado: 1024M)

minecraft_initial_memory memoria inicial de Java (-Xms) a asignar (predeterminado: 1024M)

minecraft_service_name nombre del servicio systemd o nombre del programa de Supervisor (predeterminado: minecraft)

minecraft_supervisor_name DEPRECADO: nombre del programa de Supervisor (predeterminado: {{ minecraft_service_name }})

minecraft_process_control elige entre systemd y supervisor (predeterminado: systemd).

minecraft_whitelist lista de nombres de usuario de Minecraft a permitir (predeterminado: [])

minecraft_ops lista de nombres de usuario de Minecraft para hacer operadores del servidor (predeterminado: [])

minecraft_banned_players lista de nombres de usuario de Minecraft a prohibir (predeterminado: [])

minecraft_banned_ips lista de direcciones IP a prohibir (predeterminado: [])

minecraft_server_properties diccionario de entradas para server.properties (e.g. server-port: 25565) a establecer (predeterminado: {})

Hooks y etapas de ejecución

ansible-minecraft organiza la ejecución en varias etapas:

setup

  • instalar requisitos previos (e.g., Java)
  • crear usuario y grupo de Minecraft

download

  • obtener la última versión de la API del lanzador
  • descargar Minecraft

install

  • crear un enlace simbólico a la minecraft_server.jar
  • aceptar el EULA

acl

  • configurar ACLs del servidor (whitelist, jugadores prohibidos, etc.)

configure

  • establecer server.properties

start

  • (re)iniciar el servidor

Puedes ejecutar tareas personalizadas antes o después de etapas específicas. Simplemente especifica un task include file <https://docs.ansible.com/ansible/playbooks_roles.html#task-include-files-and-encouraging-reuse>__ usando la variable de rol correspondiente:

.. code:: yaml

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

Los hooks disponibles son:

minecraft_hook_before_setup ejecutar antes de las tareas de setup

minecraft_hook_after_setup ejecutar después de las tareas de setup

minecraft_hook_before_download ejecutar antes de las tareas de download

minecraft_hook_after_download ejecutar después de las tareas de download

minecraft_hook_before_install ejecutar antes de las tareas de install

minecraft_hook_after_install ejecutar después de las tareas de install

minecraft_hook_before_start ejecutar antes de las tareas de start

minecraft_hook_after_start ejecutar después de las tareas de start

Ejemplo

.. code:: yaml

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

Contribuyendo

Las solicitudes de extracción son bienvenidas. Entre otras características, este rol no tiene soporte para servidores Minecraft personalizados.

Versionado

Este proyecto sigue el versionado semántico.

En el contexto del versionado semántico, considera que el contrato del rol está definido por las variables del rol.

  • Los cambios que rompen la compatibilidad o que requieren intervención del usuario aumentarán la versión principal. Esto incluye cambiar el valor predeterminado de una variable de rol.
  • Los cambios que no requieren intervención del usuario, pero que añaden nuevas características, aumentarán la versión menor.
  • Las correcciones de errores aumentarán la versión de parche.
Acerca del proyecto

Provisions a vanilla minecraft or spigot server

Instalar
ansible-galaxy install totaldebug.minecraft
Licencia
Unknown
Descargas
120
Propietario