From 6e1bf6a467724c5d6b48071023d5f76bc63608f2 Mon Sep 17 00:00:00 2001 From: Salt Date: Fri, 15 May 2020 10:49:42 -0500 Subject: [PATCH] Polish up that Terraria role some more --- ec2.yml | 7 +++++-- roles/terraria/defaults/main.yml | 5 +++++ roles/terraria/tasks/main.yml | 6 ++++++ roles/terraria/templates/config | 13 +++++++++++++ roles/terraria/templates/terraria@.service | 2 +- 5 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 roles/terraria/templates/config diff --git a/ec2.yml b/ec2.yml index a6eafa4..8a7812e 100644 --- a/ec2.yml +++ b/ec2.yml @@ -90,9 +90,12 @@ vars: terraria_name: "vanilla1" terraria_zip: "https://terraria.org/server/terraria-server-1344.zip" - terraria_port: "7777" - terraria_worldsize: "large" terraria_password: "dicks" + terraria_worldsize: 3 + terraria_motd: "New major release edition" + terraria_worldname: "Blitzballs" + terraria_port: 7777 + terraria_difficulty: 1 - hosts: tag_minecraft_ultreload roles: - role: backups diff --git a/roles/terraria/defaults/main.yml b/roles/terraria/defaults/main.yml index 36046f8..d6aebe6 100644 --- a/roles/terraria/defaults/main.yml +++ b/roles/terraria/defaults/main.yml @@ -1 +1,6 @@ +terraria_difficulty: 0 +terraria_motd: "Please don't cut the purple trees!" +terraria_port: 7777 terraria_root: "/var/terraria" +terraria_worldname: "World" +terraria_worldsize: 3 diff --git a/roles/terraria/tasks/main.yml b/roles/terraria/tasks/main.yml index bb26fec..2ebc529 100644 --- a/roles/terraria/tasks/main.yml +++ b/roles/terraria/tasks/main.yml @@ -55,6 +55,12 @@ dest: "{{ terraria_root }}/{{ terraria_name }}" - name: Move zip contents shell: mv "{{ terraria_root }}/{{ terraria_name }}/Dedicated Server/*" "{{ terraria_root }}/{{ terraria_name }}" + - name: Create worlds directory + file: + path: "{{ terraria_root }}/{{ terraria_name }}/worlds" + owner: terraria + group: ter-admin + state: directory when: not stat_server_binary.stat.exists - name: Configure server block: diff --git a/roles/terraria/templates/config b/roles/terraria/templates/config new file mode 100644 index 0000000..4b2b919 --- /dev/null +++ b/roles/terraria/templates/config @@ -0,0 +1,13 @@ +# This configuration file is deployed via Ansible +# Changes made here will be overwritten! +maxplayers=8 +world={{ terraria_root }}/{{ terraria_name }}/worlds/world.wld +port={{ terraria_port }} +password={{ terraria_password }} +motd={{ terraria_motd }} +worldpath={{ terraria_root }}/{{ terraria_name }}/worlds +autocreate={{ terraria_worldsize }} +difficulty={{ terraria_difficulty }} +worldname={{ terraria_worldname }} +banlist=banlist.txt +secure=1 diff --git a/roles/terraria/templates/terraria@.service b/roles/terraria/templates/terraria@.service index 8fb6919..aeeb477 100644 --- a/roles/terraria/templates/terraria@.service +++ b/roles/terraria/templates/terraria@.service @@ -21,7 +21,7 @@ ProtectKernelModules=true # Implies MountAPIVFS=yes ProtectControlGroups=true -ExecStart=/bin/sh -c '/usr/bin/screen -DmS ter-%i ./TerrariaServer.bin.x86_64' +ExecStart=/bin/sh -c '/usr/bin/screen -DmS ter-%i ./TerrariaServer.bin.x86_64 -c ./config' ExecStop=/usr/bin/screen -p 0 -S ter-%i -X eval 'stuff "say Server is going down: Service was stopped"\\015' ExecStop=/usr/bin/screen -p 0 -S ter-%i -X eval 'stuff "exit"\\015'