minecraft

ansible-role-minecraft

Эта роль устанавливает Minecraft или Spigot и настраивает его для работы под управлением systemd или Supervisor.

Благодарности devops-coop, который создал большую часть этого релиза.

Установка

ansible-galaxy install totaldebug.minecraft

Особенности

  • поддерживает стандартный Minecraft и Spigot
  • поддерживает Debian 10, Ubuntu 18.04, RHEL/CentOS 7 и RHEL/CentOS 8
  • безопасно останавливает сервер с помощью команды stop при работе под управлением systemd
  • Использует Github Actions и molecule для проведения интеграционных тестов
  • управляет правами пользователей
  • управляет server.properties
  • хуки: включите произвольные задачи на определенных этапах выполнения

Переменные роли

Переменные роли

Следующие значения по умолчанию определены в defaults/main.yml.

minecraft_server_type выбрать между minecraft или spigot (по умолчанию: minecraft)

minecraft_version версия Minecraft для установки (по умолчанию: latest)

Примеры:

.. code:: yaml

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

minecraft_server_download_url URL для скачивания Minecraft (по умолчанию: https://launcher.mojang.com/v1/objects)

minecraft_server_download_checksum Контрольная сумма URL для скачивания Minecraft

minecraft_user системный пользователь, от имени которого запускается Minecraft (по умолчанию: minecraft)

minecraft_group системная группа, от имени которой запускается Minecraft (по умолчанию: minecraft)

minecraft_home директория для установки Minecraft (по умолчанию: /srv/minecraft)

minecraft_max_memory максимальная память Java (-Xmx) для выделения (по умолчанию: 1024M)

minecraft_initial_memory начальная память Java (-Xms) для выделения (по умолчанию: 1024M)

minecraft_service_name имя службы systemd или программа Supervisor (по умолчанию: minecraft)

minecraft_supervisor_name УСТАРЕЛО: имя программы Supervisor (по умолчанию: {{ minecraft_service_name }})

minecraft_process_control Выберите между systemd и supervisor (по умолчанию: systemd).

minecraft_whitelist список имен пользователей Minecraft для белого списка (по умолчанию: [])

minecraft_ops список имен пользователей Minecraft для назначения прав администратора на сервере (по умолчанию: [])

minecraft_banned_players список имен пользователей Minecraft для блокировки (по умолчанию: [])

minecraft_banned_ips список IP-адресов для блокировки (по умолчанию: [])

minecraft_server_properties словарь записей server.properties (например, server-port: 25565) для установки (по умолчанию: {})

Хуки и стадии выполнения

ansible-minecraft организует выполнение в несколько стадий:

setup

  • установка необходимых зависимостей (например, Java)
  • создание пользователя и группы Minecraft

download

  • получение последней версии с API лаунчера
  • загрузка Minecraft

install

  • создание симлинка на версию в minecraft_server.jar
  • согласие с EULA

acl

  • конфигурация прав доступа сервера (белый список, заблокированные игроки и т.д.)

configure

  • установка server.properties

start

  • (пере)запуск сервера

Вы можете выполнить пользовательские задачи до или после определенных стадий. Просто укажите файл включения задачи https://docs.ansible.com/ansible/playbooks_roles.html#task-include-files-and-encouraging-reuse с использованием соответствующей переменной роли:

.. code:: yaml

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

Доступные хуки:

minecraft_hook_before_setup выполнить перед задачами setup

minecraft_hook_after_setup выполнить после задач setup

minecraft_hook_before_download выполнить перед задачами download

minecraft_hook_after_download выполнить после задач download

minecraft_hook_before_install выполнить перед задачами install

minecraft_hook_after_install выполнить после задач install

minecraft_hook_before_start выполнить перед задачами start

minecraft_hook_after_start выполнить после задач start

Пример

.. code:: yaml

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

Участие в проекте

Pull-запросы приветствуются. Среди прочих возможностей, у этой роли нет поддержки для пользовательских серверов Minecraft.

Версии

Этот проект следует семантическому версионированию.

В контексте семантического версионирования, контракт роли определяется переменными роли.

  • Ломающее изменения или изменения, требующие вмешательства пользователя, увеличивают мажорную версию. Это включает изменение значения по умолчанию переменной роли.
  • Изменения, не требующие вмешательства пользователя, но добавляющие новые функции, увеличивают минорную версию.
  • Исправления ошибок увеличивают патч-версию.
О проекте

Provisions a vanilla minecraft or spigot server

Установить
ansible-galaxy install totaldebug/ansible-role-minecraft
Лицензия
Unknown
Загрузки
111
Владелец