totaldebug.minecraft
ansible-role-minecraft
Ten rol instaluje Minecraft lub Spigot i konfiguruje go do uruchamiania pod systemd lub Supervisor.
Uznanie dla devops-coop, który stworzył większość tej wersji.
Instalacja
ansible-galaxy install totaldebug.minecraft
Cechy
- obsługuje zwykły Minecraft i Spigot
- działa na Debianie 10, Ubuntu 18.04, RHEL/CentOS 7 i RHEL/CentOS 8
- bezpiecznie zatrzymuje serwer używając stop, gdy działa pod systemd
- Używa Github Actions i molecule do przeprowadzania testów integracyjnych
- zarządza uprawnieniami użytkowników (ACL)
- zarządza plikiem
server.properties
- haki: pozwala na dodawanie dowolnych zadań na określonych etapach wykonania
Zmienne roli
Zmienne roli
Następujące wartości domyślne zmiennych są zdefiniowane w defaults/main.yml
.
minecraft_server_type
wybierz pomiędzy minecraft
lub spigot
(domyślnie: minecraft
)
minecraft_version
wersja Minecraft do zainstalowania (domyślnie: latest
)
Przykłady:
.. kod:: yaml
minecraft_version: latest
minecraft_version: 1.10
minecraft_version: 1.9.1
minecraft_version: 16w21a
minecraft_server_download_url
URL do pobierania Minecraft (domyślnie:
https://launcher.mojang.com/v1/objects
)
minecraft_server_download_checksum
Suma kontrolna URL do pobrania Minecraft
minecraft_user
systemowy użytkownik, pod którym działa Minecraft (domyślnie: minecraft
)
minecraft_group
systemowa grupa, pod którą działa Minecraft (domyślnie: minecraft
)
minecraft_home
katalog, w którym zainstalowany będzie Minecraft (domyślnie: /srv/minecraft
)
minecraft_max_memory
maksymalna pamięć Java (-Xmx
) do przydzielenia (domyślnie: 1024M
)
minecraft_initial_memory
początkowa pamięć Java (-Xms
) do przydzielenia (domyślnie: 1024M
)
minecraft_service_name
nazwa usługi systemd lub nazwa programu Supervisor (domyślnie: minecraft
)
minecraft_supervisor_name
NIEZALECANE: nazwa programu Supervisor (domyślnie: {{ minecraft_service_name }}
)
minecraft_process_control
wybierz pomiędzy systemd
a supervisor
(domyślnie: systemd
).
minecraft_whitelist
lista nazw użytkowników Minecraft do dodania do białej listy (domyślnie: []
)
minecraft_ops
lista nazw użytkowników Minecraft, którzy będą mieć uprawnienia serwera (domyślnie: []
)
minecraft_banned_players
lista nazw użytkowników Minecraft do zbanowania (domyślnie: []
)
minecraft_banned_ips
lista adresów IP do zbanowania (domyślnie: []
)
minecraft_server_properties
słownik wpisów do server.properties (np. server-port: 25565
) do ustawienia (domyślnie: {}
)
Haki i etapy uruchamiania
ansible-minecraft organizuje wykonanie w kilka etapów:
setup
- instalacja wymaganych pakietów (np. Java)
- utworzenie użytkownika i grupy Minecraft
download
- pobranie najnowszej wersji z API launchera
- pobranie Minecraft
install
- utworzenie dowiązania do
minecraft_server.jar
- zaakceptowanie EULA
acl
- konfigurowanie ACL serwera (biała lista, zbanowani gracze itp.)
configure
- ustawienie
server.properties
start
- (re)uruchomienie serwera
Możesz wykonać niestandardowe zadania przed lub po określonych etapach. Wystarczy określić plik z zadaniami za pomocą odpowiedniej zmiennej roli:
.. kod:: yaml
- hosts: minecraft
roles:
- role: devops-coop.minecraft
minecraft_hook_before_start: "{{ playbook_dir }}/download-world-from-s3.yml"
Dostępne haki to:
minecraft_hook_before_setup
uruchamiane przed zadaniami setup
minecraft_hook_after_setup
uruchamiane po zadaniach setup
minecraft_hook_before_download
uruchamiane przed zadaniami download
minecraft_hook_after_download
uruchamiane po zadaniach download
minecraft_hook_before_install
uruchamiane przed zadaniami install
minecraft_hook_after_install
uruchamiane po zadaniach install
minecraft_hook_before_start
uruchamiane przed zadaniami start
minecraft_hook_after_start
uruchamiane po zadaniach start
Przykład
.. kod:: yaml
- hosts: minecraft
roles:
- { role: devops-coop.minecraft, minecraft_whitelist: ["jeb_", "dinnerbone"]}
Współpraca
Proszę o zgłaszanie propozycji zmian. Ta rola nie obsługuje jeszcze niestandardowych serwerów Minecraft.
Wersjonowanie
Projekt ten stosuje zasady wersjonowania semantycznego.
W kontekście wersjonowania semantycznego, umowa dotycząca roli jest definiowana przez zmienne roli.
- Zmiany, które łamią zgodność lub wymagają interwencji użytkownika, zwiększą wersję major. Dotyczy to zmiany domyślnej wartości zmiennej roli.
- Zmiany, które nie wymagają interwencji użytkownika, ale dodają nowe funkcje, zwiększą wersję minor.
- Poprawki błędów zwiększą wersję patch.
Provisions a vanilla minecraft or spigot server
ansible-galaxy install totaldebug.minecraft