Update 4 files

- /group_vars/all.yml
- /roles/minecraft/templates/mods.txt.j2
- /roles/minecraft/templates/docker-compose.yml.j2
- /roles/minecraft/tasks/main.yml
This commit is contained in:
Administrator 2025-11-05 10:38:26 +00:00
parent 13899a4b0c
commit 3181ed9bf6
4 changed files with 34 additions and 12 deletions

View File

@ -153,16 +153,19 @@ teamspeak_query_port: "10011"
teamspeak_voice_port: "9987" teamspeak_voice_port: "9987"
teamspeak_file_port: "30033" teamspeak_file_port: "30033"
# ------------ games (192.168.1.208) ------------ # ------------ games (192.168.1.208) ------------
# Minecraft # Minecraft
minecraft_base_dir: "/mnt/minecraft" minecraft_base_dir: "/mnt/minecraft"
minecraft_data_dir: "{{ minecraft_base_dir }}/data" minecraft_data_dir: "{{ minecraft_base_dir }}/data"
minecraft_port: "45131" minecraft_port: "25565"
minecraft_memory: "4G" minecraft_memory: "4G"
minecraft_version: "1.21.1" minecraft_version: "1.21.1"
minecraft_type: "NEOFORGE" minecraft_type: "NEOFORGE"
minecraft_eula: "true" minecraft_eula: "true"
minecraft_motd: "NeoForge Minecraft @ zailon.ru" minecraft_motd: "Minecraft @ zailon.ru"
minecraft_online_mode: "true" minecraft_online_mode: "true"
minecraft_mods:
- "https://mediafilez.forgecdn.net/files/7178/775/create-1.21.1-6.0.8.jar"
# ------------ manage (192.168.1.228) ------------ # ------------ manage (192.168.1.228) ------------
meshcentral_base_dir: "/opt/meshcentral" meshcentral_base_dir: "/opt/meshcentral"

View File

@ -1,5 +1,5 @@
--- ---
- name: Ensure Minecraft NeoForge directories exist - name: Ensure Minecraft directories exist
ansible.builtin.file: ansible.builtin.file:
path: "{{ item }}" path: "{{ item }}"
state: directory state: directory
@ -10,7 +10,15 @@
- "{{ minecraft_base_dir }}" - "{{ minecraft_base_dir }}"
- "{{ minecraft_data_dir }}" - "{{ minecraft_data_dir }}"
- name: Deploy docker-compose.yml for NeoForge Minecraft - name: Deploy mods.txt from template
ansible.builtin.template:
src: mods.txt.j2
dest: "{{ minecraft_mods_file }}"
owner: root
group: root
mode: '0644'
- name: Deploy docker-compose.yml
ansible.builtin.template: ansible.builtin.template:
src: docker-compose.yml.j2 src: docker-compose.yml.j2
dest: "{{ minecraft_base_dir }}/docker-compose.yml" dest: "{{ minecraft_base_dir }}/docker-compose.yml"
@ -18,7 +26,7 @@
group: root group: root
mode: '0640' mode: '0640'
- name: Start Minecraft NeoForge via docker compose - name: Start Minecraft via docker compose
ansible.builtin.shell: | ansible.builtin.shell: |
docker compose -f "{{ minecraft_base_dir }}/docker-compose.yml" up -d docker compose -f "{{ minecraft_base_dir }}/docker-compose.yml" up -d
args: args:

View File

@ -2,20 +2,28 @@ version: '3.8'
services: services:
minecraft: minecraft:
image: itzg/minecraft-server:latest image: itzg/minecraft-server:latest
container_name: minecraft-neoforge container_name: minecraft
restart: unless-stopped restart: unless-stopped
ports: ports:
- "{{ minecraft_port }}:25565/tcp" - "{{ minecraft_port }}:25565/tcp"
- "{{ minecraft_port }}:25565/udp" - "{{ minecraft_port }}:25565/udp"
environment: environment:
EULA: "{{ minecraft_eula }}" SERVER_NAME: "Olimp-Minecraft-Server"
TYPE: "{{ minecraft_type }}" EULA: "{{ minecraft_eula }}"
VERSION: "{{ minecraft_version }}" TYPE: "{{ minecraft_type }}"
MEMORY: "{{ minecraft_memory }}" VERSION: "{{ minecraft_version }}"
MOTD: "{{ minecraft_motd }}" MEMORY: "{{ minecraft_memory }}"
ONLINE_MODE: "{{ minecraft_online_mode }}" MOTD: "{{ minecraft_motd }}"
ONLINE_MODE: "{{ minecraft_online_mode }}"
SPAWN_ANIMALS: "true"
SPAWN_MONSTERS: "true"
PVP: "FALSE"
TZ: "{{ timezone }}"
GUI: "FALSE"
MODS_FILE: /extras/mods.txt
volumes: volumes:
- "{{ minecraft_data_dir }}:/data" - "{{ minecraft_data_dir }}:/data"
- "{{ minecraft_mods_file }}:/extras/mods.txt:ro"
networks: networks:
- minecraft-net - minecraft-net

View File

@ -0,0 +1,3 @@
{%- for mod_url in minecraft_mods %}
{{ mod_url }}
{%- endfor %}