From d2bc318f6ee5779ef3eac85890cfd76de9f77a50 Mon Sep 17 00:00:00 2001
From: Egbert Verhage <egbert@eggiecode.org>
Date: Sun, 21 Aug 2016 12:54:27 +0200
Subject: Fixed issue #1

---
 defaults/main.yml                      | 16 ++++++++++++++++
 tasks/config.yml                       | 16 ++++++++++++++++
 templates/teamspeak3-server.service.j2 |  5 ++++-
 templates/ts3server.ini.j2             | 17 +++++++++++++++++
 4 files changed, 53 insertions(+), 1 deletion(-)
 create mode 100644 tasks/config.yml
 create mode 100644 templates/ts3server.ini.j2

diff --git a/defaults/main.yml b/defaults/main.yml
index fd667dc..0c6ece1 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -10,3 +10,19 @@ teamspeak:
   version: "3.0.12.4"
   checksum: "sha256:6bb0e8c8974fa5739b90e1806687128342b3ab36510944f576942e67df7a1bd9"
   keep: 2
+
+teamspeak_ini:
+  machine_id: ""
+  voice:
+    ip: 0.0.0.0
+    create_default: true 
+    default_port: 9987
+  filetransfer:
+    ip: 0.0.0.0
+    port: 10011 
+    query:
+      ip: 0.0.0.0
+      port: 33003
+  db_plugin: ts3db_sqlite3
+  logpath: /var/log/teamspeak3-server
+  logquerycommands: false
diff --git a/tasks/config.yml b/tasks/config.yml
new file mode 100644
index 0000000..0b41513
--- /dev/null
+++ b/tasks/config.yml
@@ -0,0 +1,16 @@
+---
+# Config files and actions for teamspeak3 server
+- name: Short facts
+  set_fact:
+    ts3server_dir: "{{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64"
+
+- name: Create ts3server.ini 
+  template:
+    src: ts3server.ini.j2 
+    dest: "{{ ts3server_dir }}/ts3server.ini"
+    mode: 0644
+    owner: "{{ teamspeak.user }}"
+    group: "{{ teamspeak.user }}"
+  register: ts3server_ini
+
+
diff --git a/templates/teamspeak3-server.service.j2 b/templates/teamspeak3-server.service.j2
index 4579694..03a8be3 100644
--- a/templates/teamspeak3-server.service.j2
+++ b/templates/teamspeak3-server.service.j2
@@ -7,8 +7,11 @@ Type=simple
 User={{ teamspeak.user }}
 Group={{ teamspeak.user }}
 WorkingDirectory={{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64
-Environment='LD_LIBRARY_PATH="{{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64/:$LD_LIBRARY_PATH"'
+{% if teamspeak.ini_file is not none %}
+ExecStart={{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64/ts3server_minimal_runscript.sh inifile={{ teamspeak.ini_file }}
+{% else %}
 ExecStart={{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64/ts3server_minimal_runscript.sh
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
diff --git a/templates/ts3server.ini.j2 b/templates/ts3server.ini.j2
new file mode 100644
index 0000000..ee6d6f3
--- /dev/null
+++ b/templates/ts3server.ini.j2
@@ -0,0 +1,17 @@
+machine_id={{ teamspeak_ini.machine_id }}
+
+default_voice_port={{teamspeak_ini.voice.default_port}}
+voice_ip={{teamspeak_ini.voice.ip}}
+
+query_port={{teamspeak_ini.query.port}}
+query_ip={{teamspeak_ini.query.ip}}
+
+filetransfer_port={{teamspeak_ini.filetransfer.port}}
+filetransfer_ip={{teamspeak_ini.filetransfer.ip}}
+
+dbplugin={{ teamspeak_ini.db_plugin }}
+dbpluginparameter={{ 'ts3db_mysql.ini' if teamspeak_ini.db_plugin == 'ts3db_mysql' else ''  }}
+dbsqlpath=sql/
+dbsqlcreatepath={{ 'create_mysql/' if teamspeak_ini.db_plugin == 'ts3db_mysql' else 'create_sqlite/'  }}
+logpath={{ teamspeak_ini.logpath }}
+logquerycommands={{ teamspeak_ini.logquerycommands }}
-- 
cgit v1.2.3-70-g09d2