From fa9a2397a708636e2ece8886a128ed27894caf92 Mon Sep 17 00:00:00 2001
From: Salt <rehashedsalt@cock.li>
Date: Fri, 1 Jan 2021 00:32:41 -0600
Subject: [PATCH] Make role actually allow different memory configuration WOW
 that took long enough

---
 tasks/main.yml               | 2 ++
 templates/env                | 2 ++
 templates/minecraft@.service | 3 ++-
 3 files changed, 6 insertions(+), 1 deletion(-)
 create mode 100644 templates/env

diff --git a/tasks/main.yml b/tasks/main.yml
index c3bc842..cbaa888 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -18,6 +18,8 @@
       file: path={{ minecraft_home }}/{{ minecraft_name }} state=directory
     - name: accept eula
       template: src=eula.txt dest={{ minecraft_home }}/{{ minecraft_name }}/eula.txt
+    - name: template out env
+      template: src=env dest={{ minecraft_home }}/{{ minecraft_name }}/env
     - name: configure server properties
       lineinfile:
         dest: "{{ minecraft_home }}/{{ minecraft_name }}/server.properties"
diff --git a/templates/env b/templates/env
new file mode 100644
index 0000000..a4ac387
--- /dev/null
+++ b/templates/env
@@ -0,0 +1,2 @@
+JRE_XMX={{ minecraft_jre_xmx }}
+JRE_XMS={{ minecraft_jre_xms }}
diff --git a/templates/minecraft@.service b/templates/minecraft@.service
index c13de59..135129b 100644
--- a/templates/minecraft@.service
+++ b/templates/minecraft@.service
@@ -12,6 +12,7 @@ After=network.target
 User=minecraft
 Group=minecraft
 WorkingDirectory={{ minecraft_home }}/%i
+EnvironmentFile={{ minecraft_home }}/%i/env
 PrivateUsers=true
 ProtectSystem=full
 ProtectHome=true
@@ -22,7 +23,7 @@ ProtectKernelModules=true
 # Implies MountAPIVFS=yes
 ProtectControlGroups=true
 
-ExecStart=/bin/sh -c '/usr/bin/screen -DmS %i /usr/bin/java -Xms{{ minecraft_jre_xms }} -Xmx{{ minecraft_jre_xmx }} -jar server.jar nogui'
+ExecStart=/bin/sh -c '/usr/bin/screen -DmS %i /usr/bin/java -Xms${JRE_XMS} -Xmx${JRE_XMX} -jar server.jar nogui'
 
 ExecReload=/usr/bin/screen -p 0 -S %i -X eval 'stuff "reload"\\015'