totaldebug.minecraft

ansible-role-minecraft

Diese Rolle installiert Minecraft oder Spigot und konfiguriert es, um unter systemd oder Supervisor zu laufen.

Kredit gilt devops-coop, der den Großteil dieser Version erstellt hat.

Installation

ansible-galaxy install totaldebug.minecraft

Funktionen

  • unterstützt die ursprüngliche Version von Minecraft und Spigot
  • unterstützt Debian 10, Ubuntu 18.04, RHEL/CentOS 7 und RHEL/CentOS 8
  • stoppt den Server sicher mit "stop", wenn er unter systemd läuft
  • Verwendet Github Actions & Molecule, um Integrationstests durchzuführen
  • verwaltet Benutzer-ACLs
  • verwaltet server.properties
  • Hooks: schließt beliebige Aufgaben zu bestimmten Zeitpunkten während der Ausführung ein

Rollenvariablen

Rollenvariablen

Die folgenden Standardwerte für die Variablen sind in defaults/main.yml definiert.

minecraft_server_type wähle zwischen minecraft oder spigot (Standard: minecraft)

minecraft_version Die Minecraft-Version, die installiert werden soll (Standard: latest)

Beispiele:

.. code:: yaml

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

minecraft_server_download_url Download-URL für Minecraft (Standard: https://launcher.mojang.com/v1/objects)

minecraft_server_download_checksum Prüfziffer für die Minecraft-Download-URL

minecraft_user Systembenutzer, unter dem Minecraft läuft (Standard: minecraft)

minecraft_group Systemgruppe, unter der Minecraft läuft (Standard: minecraft)

minecraft_home Verzeichnis, in das Minecraft installiert wird (Standard: /srv/minecraft)

minecraft_max_memory Maximalen Speicher in Java (-Xmx) zuweisen (Standard: 1024M)

minecraft_initial_memory Anfangsspeicher in Java (-Xms) zuweisen (Standard: 1024M)

minecraft_service_name Systemd-Dienstname oder Supervisor-Programname (Standard: minecraft)

minecraft_supervisor_name VERALTET: Supervisor-Programname (Standard: {{ minecraft_service_name }})

minecraft_process_control Wähle zwischen systemd und supervisor (Standard: systemd).

minecraft_whitelist Liste von Minecraft-Benutzernamen, die auf die Whitelist gesetzt werden (Standard: [])

minecraft_ops Liste von Minecraft-Benutzernamen, die zu Server-Administratoren gemacht werden (Standard: [])

minecraft_banned_players Liste von Minecraft-Benutzernamen, die gesperrt werden (Standard: [])

minecraft_banned_ips Liste von IP-Adressen, die gesperrt werden (Standard: [])

minecraft_server_properties Wörterbuch von Einträgen in server.properties (z.B. server-port: 25565) (Standard: {})

Hooks und Ausführungsphasen

ansible-minecraft organisiert die Ausführung in mehrere Phasen:

setup

  • installiere Voraussetzungen (z.B. Java)
  • erstelle Minecraft-Benutzer und -Gruppe

download

  • lade die neueste Version von der Launcher-API herunter
  • lade Minecraft herunter

install

  • erstelle eine Symlink-Version zu minecraft_server.jar
  • stimme der EULA zu

acl

  • konfiguriere die Server-ACLs (Whitelist, gesperrte Spieler usw.)

configure

  • setze server.properties

start

  • (re)starte den Server

Du kannst benutzerdefinierte Aufgaben vor oder nach bestimmten Phasen ausführen. Gib einfach eine task include file <https://docs.ansible.com/ansible/playbooks_roles.html#task-include-files-and-encouraging-reuse>__ mit der entsprechenden Rollenvariable an:

.. code:: yaml

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

Die verfügbaren Hooks sind:

minecraft_hook_before_setup führe vor den setup-Tasks aus

minecraft_hook_after_setup führe nach den setup-Tasks aus

minecraft_hook_before_download führe vor den download-Tasks aus

minecraft_hook_after_download führe nach den download-Tasks aus

minecraft_hook_before_install führe vor den install-Tasks aus

minecraft_hook_after_install führe nach den install-Tasks aus

minecraft_hook_before_start führe vor den start-Tasks aus

minecraft_hook_after_start führe nach den start-Tasks aus

Beispiel

.. code:: yaml

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

Mitwirken

Pull-Requests sind willkommen. Diese Rolle unterstützt unter anderem keine benutzerdefinierten Minecraft-Server.

Versionsverwaltung

Dieses Projekt folgt der semantischen Versionierung.

Im Kontext der semantischen Versionierung gilt das Rollenvertrag als durch die Rollenvariablen definiert.

  • Breaking Changes oder Änderungen, die eine Benutzerintervention erfordern, erhöhen die Hauptversion. Dazu gehört auch die Änderung des Standardwerts einer Rollenvariable.
  • Änderungen, die keine Benutzerintervention erfordern, aber neue Funktionen hinzufügen, erhöhen die Nebenversion.
  • Fehlerbehebungen erhöhen die Patch-Version.
Über das Projekt

Provisions a vanilla minecraft or spigot server

Installieren
ansible-galaxy install totaldebug.minecraft
GitHub Repository
Lizenz
Unknown
Downloads
120
Besitzer