nolte.minecraft
ansible-minecraft
这是一个来自 https://github.com/devops-coop/ansible-minecraft/ 项目的分支,感谢原作者的贡献!
此角色用于安装 Minecraft 或 Spigot,并将其配置为在 systemd 下运行。
特性
- 支持 纯净版 Minecraft 和 Spigot
- 支持 Debian 9 及以上、Ubuntu 14.04、16.04、18.04、CentOS 7 和 8、Fedora 29 - 34
- 当在 systemd 下运行时安全使用 stop 停止服务器
- 使用 Docker 和 Molecule 运行集成测试
- 管理用户 ACL
- 管理 Bukkit/Spigot 插件
- 管理
server.properties
- 钩子:在执行过程中某些特定阶段包含任意任务
角色范围之外的内容
- 安装 Java Runtime,这必须在使用此角色之前完成,可以使用 nolte/ansible-role-msopenjdk 等。
- 执行备份和恢复
- 健康检查,如 Minecraft-Region-Fixer
- 处理实用程序服务,如 filebeat 或 prometheus
- 安装额外工具,如 rcon-cli。
所有这些都是必要的,但不是此角色的一部分! 你可以在 nolte/minecraft-infrastructure 找到示例。
使用
默认情况下,此角色将安装一个纯净版 Minecraft 服务器。
安装
ansible-galaxy install nolte.minecraft
或将其添加到你的 requirements.yml
中
- name: nolte.minecraft
然后执行 ansible-galaxy install -r requirements.yml
使用
- hosts: minecraft
roles:
- { role: nolte.minecraft, minecraft_whitelist: ["jeb_", "dinnerbone"]}
要求
- 在 Ansible 控制机器上需要 Python 3.x 以生成用户 ACL
- 在控制机器上需要 Ansible 2.7.0 及以上版本以获取 Minecraft 版本
- 目标系统需已安装兼容的 Java Runtime 以启动和安装 Minecraft。
贡献
贡献的最佳方式是使用此角色部署你自己的 Minecraft 服务器!我们非常感谢来自用户的错误报告。
如果你想帮助改善项目,这里是一些其他的贡献方式:
- 为其他服务器添加支持,如 Cuberite。
- 为 Minecraft 或 Spigot 特定的配置编写集成测试。
- 分享有用的钩子。
- 修复拼写错误……
许可证
Apache 2.0
声明
要执行自动安装,你必须接受 Minecraft EULA。请注意,通过使用此角色,你隐含地接受同样的 EULA。
你可以使用环境变量来处理接受,例如:export mc_accept_eula=true
,默认值为 false
表示不同意。