diff options
Diffstat (limited to 'minecraft')
| -rw-r--r-- | minecraft/aws-s3-backup/files/minecraft-s3-backup-lifecycle.json | 2 | ||||
| -rw-r--r-- | minecraft/aws-s3-backup/files/minecraft-s3-backup.sh | 8 | ||||
| -rw-r--r-- | minecraft/aws-s3-backup/handlers/main.yaml | 2 | ||||
| -rw-r--r-- | minecraft/aws-s3-backup/tasks/main.yaml | 11 | ||||
| -rw-r--r-- | minecraft/aws-s3-backup/templates/[email protected] | 2 | ||||
| -rw-r--r-- | minecraft/server/defaults/main.yaml | 6 | ||||
| -rw-r--r-- | minecraft/server/handlers/main.yaml | 2 | ||||
| -rw-r--r-- | minecraft/server/tasks/main.yaml | 20 | ||||
| -rw-r--r-- | minecraft/server/templates/[email protected] (renamed from minecraft/server/templates/minecraft.service.j2) | 6 | ||||
| -rw-r--r-- | minecraft/server/vars/main.yaml | 5 |
10 files changed, 30 insertions, 34 deletions
diff --git a/minecraft/aws-s3-backup/files/minecraft-s3-backup-lifecycle.json b/minecraft/aws-s3-backup/files/minecraft-s3-backup-lifecycle.json index c408e9b..44036c0 100644 --- a/minecraft/aws-s3-backup/files/minecraft-s3-backup-lifecycle.json +++ b/minecraft/aws-s3-backup/files/minecraft-s3-backup-lifecycle.json @@ -5,7 +5,7 @@ "Filter": {}, "Status": "Enabled", "NoncurrentVersionExpiration": { - "NoncurrentDays": 5 + "NoncurrentDays": 30 } } ] diff --git a/minecraft/aws-s3-backup/files/minecraft-s3-backup.sh b/minecraft/aws-s3-backup/files/minecraft-s3-backup.sh index bd6fa08..1e41ae4 100644 --- a/minecraft/aws-s3-backup/files/minecraft-s3-backup.sh +++ b/minecraft/aws-s3-backup/files/minecraft-s3-backup.sh @@ -1,10 +1,12 @@ #!/bin/bash -BUCKET=$1 +BACKUP_WORLD_NAME=$1 BACKUP_DIR=$2 -BACKUP_TAR="/tmp/$BUCKET.tgz" +BUCKET=$3 +BACKUP_TAR_DIR=$4 +BACKUP_TAR="${BACKUP_TAR_DIR}/${BUCKET}.tgz" -tar -zc -f $BACKUP_TAR $BACKUP_DIR +tar -zc -f $BACKUP_TAR -C $BACKUP_DIR $BACKUP_WORLD_NAME {$BACKUP_WORLD_NAME}_nether ${BACKUP_WORLD_NAME}_the_end aws s3 mb "s3://$BUCKET/" aws s3api put-bucket-versioning --bucket "$BUCKET" --versioning-configuration Status=Enabled aws s3api put-bucket-lifecycle-configuration --bucket "$BUCKET" --lifecycle-configuration "file:///usr/local/share/minecraft-s3-backup-lifecycle.json" diff --git a/minecraft/aws-s3-backup/handlers/main.yaml b/minecraft/aws-s3-backup/handlers/main.yaml index a931eb4..dde3942 100644 --- a/minecraft/aws-s3-backup/handlers/main.yaml +++ b/minecraft/aws-s3-backup/handlers/main.yaml @@ -1,5 +1,5 @@ --- - name: reload s3 backup service - systemd: name="minecraft-s3-backup@{{minecraft_s3_backup_bucket}}.service" enabled="yes" daemon_reload="yes" + systemd: name="minecraft-s3-backup@{{minecraft_s3_backup_world_name}}.service" enabled="yes" daemon_reload="yes" become: yes diff --git a/minecraft/aws-s3-backup/tasks/main.yaml b/minecraft/aws-s3-backup/tasks/main.yaml index 2bc68b3..c3818d4 100644 --- a/minecraft/aws-s3-backup/tasks/main.yaml +++ b/minecraft/aws-s3-backup/tasks/main.yaml @@ -14,13 +14,20 @@ dest: "/usr/local/share/minecraft-s3-backup-lifecycle.json" mode: "0755" +- name: create minecraft tar dir + become: yes + file: + path: "{{minecraft_s3_backup_tar_dir}}" + mode: "0755" + state: "directory" + - name: configure minecraft s3 backup systemd service become: yes template: src: "[email protected]" - dest: "/lib/systemd/system/minecraft-s3-backup@{{minecraft_s3_backup_bucket}}.service" + dest: "/lib/systemd/system/minecraft-s3-backup@{{minecraft_s3_backup_world_name}}.service" notify: reload s3 backup service - name: ensure minecraft s3 backup service is started become: yes - systemd: name="minecraft-s3-backup@{{minecraft_s3_backup_bucket}}.service" enabled="yes" + systemd: name="minecraft-s3-backup@{{minecraft_s3_backup_world_name}}.service" enabled="yes" diff --git a/minecraft/aws-s3-backup/templates/[email protected] b/minecraft/aws-s3-backup/templates/[email protected] index 84bfdb7..5be93a9 100644 --- a/minecraft/aws-s3-backup/templates/[email protected] +++ b/minecraft/aws-s3-backup/templates/[email protected] @@ -3,7 +3,7 @@ Description=Minecraft s3 backup for "%I" [Service] Type=oneshot -ExecStart=/usr/local/bin/minecraft-s3-backup.sh %i "{{minecraft_s3_backup_dir}}" +ExecStart=/usr/local/bin/minecraft-s3-backup.sh %i "{{minecraft_s3_backup_dir}}" "{{minecraft_s3_backup_bucket}}" "{{minecraft_s3_backup_tar_dir}}" [Install] WantedBy=aws-s3-backup.target diff --git a/minecraft/server/defaults/main.yaml b/minecraft/server/defaults/main.yaml index e98b8c7..f7143c5 100644 --- a/minecraft/server/defaults/main.yaml +++ b/minecraft/server/defaults/main.yaml @@ -1,7 +1,6 @@ --- minecraft_user: "minecraft" -minecraft_fork: "vanilla" # paper minecraft_parent_dir: "/opt" minecraft_motd: "A Minecraft Server" minecraft_mem: "2G" @@ -9,14 +8,13 @@ minecraft_seed: "" minecraft_difficulty: "hard" minecraft_whitelist: "true" minecraft_view_distance: "10" - -minecraft_vanilla_hash: "0a269b5f2c5b93b1712d0f5dc43b6182b9ab254e" +minecraft_world_name: "world" # https://papermc.io minecraft_paper_version: "1.17.1" minecraft_paper_build: "98" -minecreat_paper_plugins_enabled: +minecreat_plugins_enabled: - "dynmap" - "geyser" diff --git a/minecraft/server/handlers/main.yaml b/minecraft/server/handlers/main.yaml index b5baff0..00bb9d3 100644 --- a/minecraft/server/handlers/main.yaml +++ b/minecraft/server/handlers/main.yaml @@ -2,4 +2,4 @@ - name: restart minecraft become: yes - systemd: name="minecraft.service" state="restarted" daemon_reload="yes" + systemd: name="minecraft@{{minecraft_world_name}}.service" state="restarted" daemon_reload="yes" diff --git a/minecraft/server/tasks/main.yaml b/minecraft/server/tasks/main.yaml index d80b9cf..a5d3337 100644 --- a/minecraft/server/tasks/main.yaml +++ b/minecraft/server/tasks/main.yaml @@ -2,19 +2,11 @@ - name: add minecraft user become: yes - user: name="{{minecraft_user}}" home="{{minecraft_dir}}" + user: name="{{minecraft_user}}" home="{{minecraft_parent_dir}}/minecraft" - name: install adoptopenjdk include_tasks: adoptopenjdk.yaml -- name: set minecraft fork - set_fact: minecraft_url="{{minecraft_vanilla_url}}" - when: minecraft_fork == "vanilla" - -- name: set minecraft fork - set_fact: minecraft_url="{{minecraft_paper_url}}" - when: minecraft_fork == "paper" - - name: create minecraft dir become: yes file: @@ -72,8 +64,7 @@ - name: install plugins include_tasks: "{{item}}.yaml" - loop: "{{minecreat_paper_plugins_enabled}}" - when: minecraft_fork == "paper" + loop: "{{minecreat_plugins_enabled}}" - name: create server.properties become: yes @@ -94,6 +85,7 @@ notify: restart minecraft loop: - {key: "motd", value: "{{minecraft_motd}}"} + - {key: "level-name", value: "{{minecraft_world_name}}"} - {key: "level-seed", value: "{{minecraft_seed}}"} - {key: "difficulty", value: "{{minecraft_difficulty}}"} - {key: "white-list", value: "{{minecraft_whitelist}}"} @@ -104,10 +96,10 @@ - name: install systemd service become: yes template: - src: "minecraft.service.j2" - dest: "/lib/systemd/system/minecraft.service" + src: "[email protected]" + dest: "/lib/systemd/system/[email protected]" notify: restart minecraft - name: ensure service is started become: yes - systemd: name="minecraft.service" enabled="yes" state="started" + systemd: name="minecraft@{{minecraft_world_name}}.service" enabled="yes" state="started" diff --git a/minecraft/server/templates/minecraft.service.j2 b/minecraft/server/templates/[email protected] index 0f0e91a..df1defb 100644 --- a/minecraft/server/templates/minecraft.service.j2 +++ b/minecraft/server/templates/[email protected] @@ -1,14 +1,12 @@ [Unit] -Description=Minecraft Server +Description=Minecraft Server %I Documentation=https://minecraft.gamepedia.com/Tutorials/Setting_up_a_server - -Wants=network.target After=network.target [Service] User={{minecraft_user}} Group={{minecraft_user}} -WorkingDirectory={{minecraft_dir}} +WorkingDirectory={{minecraft_parent_dir}}/minecraft/%i Restart=on-failure RestartSec=20 5 ExecStart=/usr/bin/java -Xms{{minecraft_mem}} -Xmx{{minecraft_mem}} -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar nogui diff --git a/minecraft/server/vars/main.yaml b/minecraft/server/vars/main.yaml index ded1dc0..cb07da6 100644 --- a/minecraft/server/vars/main.yaml +++ b/minecraft/server/vars/main.yaml @@ -1,8 +1,7 @@ --- -minecraft_dir: "{{minecraft_parent_dir}}/minecraft/{{minecraft_fork}}" -minecraft_paper_url: "https://papermc.io/api/v1/paper/{{minecraft_paper_version}}/{{minecraft_paper_build}}/download" -minecraft_vanilla_url: "https://launcher.mojang.com/v1/objects/{{minecraft_vanilla_hash}}/server.jar" +minecraft_dir: "{{minecraft_parent_dir}}/minecraft/{{minecraft_world_name}}" +minecraft_url: "https://papermc.io/api/v1/paper/{{minecraft_paper_version}}/{{minecraft_paper_build}}/download" # paper is a spigot derivative minecraft_dynmap_url: "http://dynmap.us/builds/dynmap/Dynmap-{{minecraft_dynmap_version}}-spigot.jar" |
