summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMalte Rabenseifner2015-07-12 19:22:09 +0200
committerMalte Rabenseifner2015-07-12 19:22:09 +0200
commit1dd3e5f93c3045bf8eb8e5e1a7937b8ad4b795d6 (patch)
tree86b0ed24abe55555a2be3613b5a6555e1e5c7342
downloadaur-1dd3e5f93c3045bf8eb8e5e1a7937b8ad4b795d6.tar.gz
Initial import
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD56
-rw-r--r--teamspeak3-server.default128
-rw-r--r--teamspeak3-server.install18
-rw-r--r--teamspeak3-server.service14
5 files changed, 238 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..f3d7843ff953
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,22 @@
+pkgbase = teamspeak3-server
+ pkgdesc = A proprietary VoIP conference software
+ pkgver = 3.0.11.3
+ pkgrel = 2
+ url = http://www.teamspeak.com
+ install = teamspeak3-server.install
+ arch = i686
+ arch = x86_64
+ license = custom
+ makedepends = curl
+ backup = etc/default/teamspeak3-server
+ source = teamspeak3-server.default
+ source = teamspeak3-server.service
+ sha256sums = ef0e074b8cb28ecb266d708c04e854664f31c3434023b7466fa8be24da719115
+ sha256sums = a9b3020c313e26cfc09544a15ed993235affe78aaf563e4299b2add7de6992aa
+ source_i686 = http://teamspeak.gameserver.gamed.de/ts3/releases/3.0.11.3/teamspeak3-server_linux-x86-3.0.11.3.tar.gz
+ sha256sums_i686 = adf1eaf74056b24ffee798a6668de6c001801546adea2423a626388215729fa6
+ source_x86_64 = http://teamspeak.gameserver.gamed.de/ts3/releases/3.0.11.3/teamspeak3-server_linux-amd64-3.0.11.3.tar.gz
+ sha256sums_x86_64 = 448d35de0de5c0c9b17feba0697fc232920fb68ac2880bbbf022e0386a17b63b
+
+pkgname = teamspeak3-server
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..75bd67165420
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,56 @@
+# Maintainer: Malte Rabenseifner <mail@malte-rabenseifner.de>
+# Contributor: EnteEnteEnte <ducksource@duckpond.ch>
+
+pkgname='teamspeak3-server'
+pkgver='3.0.11.3'
+pkgrel=2
+pkgdesc='A proprietary VoIP conference software'
+license=('custom')
+arch=('i686' 'x86_64')
+url="http://www.teamspeak.com"
+depends=('')
+makedepends=('curl')
+backup=(etc/default/teamspeak3-server)
+install='teamspeak3-server.install'
+source=('teamspeak3-server.default'
+ 'teamspeak3-server.service')
+source_i686=("http://teamspeak.gameserver.gamed.de/ts3/releases/$pkgver/teamspeak3-server_linux-x86-$pkgver.tar.gz")
+source_x86_64=("http://teamspeak.gameserver.gamed.de/ts3/releases/$pkgver/teamspeak3-server_linux-amd64-$pkgver.tar.gz")
+sha256sums=('ef0e074b8cb28ecb266d708c04e854664f31c3434023b7466fa8be24da719115'
+ 'a9b3020c313e26cfc09544a15ed993235affe78aaf563e4299b2add7de6992aa')
+sha256sums_i686=('adf1eaf74056b24ffee798a6668de6c001801546adea2423a626388215729fa6')
+sha256sums_x86_64=('448d35de0de5c0c9b17feba0697fc232920fb68ac2880bbbf022e0386a17b63b')
+
+if [ "$CARCH" == "x86_64" ]; then
+ _TSARCH='amd64'
+elif [ "$CARCH" == "i686" ]; then
+ _TSARCH='x86'
+fi
+
+package() {
+ cd "$srcdir"
+
+ install -Dm 644 teamspeak3-server.default "$pkgdir/etc/default/teamspeak3-server"
+ install -Dm 644 teamspeak3-server.service "$pkgdir/usr/lib/systemd/system/teamspeak3-server.service"
+
+ install -Dm 755 "teamspeak3-server_linux-$_TSARCH/ts3server_linux_$_TSARCH" "$pkgdir/usr/bin/teamspeak3-server"
+ install -Dm 644 "teamspeak3-server_linux-$_TSARCH/libts3db_mariadb.so" "$pkgdir/usr/lib/libts3db_mariadb.so"
+ install -Dm 644 "teamspeak3-server_linux-$_TSARCH/libts3db_sqlite3.so" "$pkgdir/usr/lib/libts3db_sqlite3.so"
+ install -Dm 644 "teamspeak3-server_linux-$_TSARCH/LICENSE" "$pkgdir/usr/share/licenses/teamspeak3-server/LICENSE"
+
+ mkdir -p "$pkgdir/usr/share/doc/teamspeak3-server" \
+ "$pkgdir/usr/share/teamspeak3-server" \
+ "$pkgdir/var/lib/teamspeak3-server" \
+ "$pkgdir/var/log/teamspeak3-server"
+
+ cp -a "teamspeak3-server_linux-$_TSARCH/doc/" "$pkgdir/usr/share/doc/teamspeak3-server/"
+ cp -a "teamspeak3-server_linux-$_TSARCH/sql/" "$pkgdir/usr/share/teamspeak3-server/"
+
+ find "$pkgdir/usr/share/teamspeak3-server" -type d -exec chmod 755 {} \;
+ find "$pkgdir/usr/share/teamspeak3-server" -type f -exec chmod 644 {} \;
+ find "$pkgdir/usr/share/doc/teamspeak3-server" -type d -exec chmod 755 {} \;
+ find "$pkgdir/usr/share/doc/teamspeak3-server" -type f -exec chmod 644 {} \;
+
+ chmod 750 "$pkgdir/var/lib/teamspeak3-server" \
+ "$pkgdir/var/log/teamspeak3-server"
+}
diff --git a/teamspeak3-server.default b/teamspeak3-server.default
new file mode 100644
index 000000000000..d79bd42248e0
--- /dev/null
+++ b/teamspeak3-server.default
@@ -0,0 +1,128 @@
+#
+# Parameters to be passed to teamspeak3-server
+#
+# The following commandline parameters are available:
+#
+#* default_voice_port (9987)
+# UDP port open for clients to connect to. This port is used by the first
+# virtual server, subsequently started virtual servers will open on increasing
+# port numbers.
+# Default: The default voice port is 9987.
+#
+#* voice_ip (0.0.0.0)
+# IP on which the server instance will listen for incoming voice connections.
+# Default: The server is bound on any IP address.
+#
+#* create_default_virtualserver (1)
+# Normally one virtual server is created automatically when the TeamSpeak 3
+# Server process is started. To disable this behaviour, set this parameter
+# to "0". In this case you have to start virtual servers manually using the
+# ServerQuery interface.
+# Default: If not provided, one virtual server is created.
+#
+#* machine_id (<empty>)
+# Optional name of this server process to identify a group of servers with
+# the same ID. This can be useful when running multiple TeamSpeak 3 Server
+# instances on the same database. Please note that we strongly recommend that
+# you do NOT run multiple server instances on the same SQLite database.
+# Default: The server instance will not use a machine ID.
+#
+#* filetransfer_port (30033)
+# TCP Port opened for file transfers. If you specify this parameter, you also
+# need to specify the "filetransfer_ip" parameter!
+# Default: The default file tranfer port is 30033.
+#
+#* filetransfer_ip (0.0.0.0)
+# IP on which the file transfers are bound to. If you specify this parameter,
+# you also need to specify the "filetransfer_port" parameter!
+# Default: File transfers are bound on any IP address.
+#
+#* query_port (10011)
+# TCP Port opened for ServerQuery connections. If you specify this parameter,
+# need to specify the "query_ip" parameter!
+# Default: The default ServerQuery port is 10011.
+#
+#* query_ip (0.0.0.0)
+# IP bound for incoming ServerQuery connections. If you specify this parameter,
+# you also need to specify the "query_port" parameter!
+# Default: ServerQuery connections are bound on any IP address.
+#
+#* clear_database (0)
+# If set to "1", the server database will be cleared before starting up the server.
+# This is mainly used for testing. Usually this parameter should not be specified,
+# so all server settings will be restored when the server process is restarted.
+# Default: Database is not cleared on start.
+#
+#* logpath (logs/)
+# The physical path where the server will create logfiles.
+# Default: The server will create logfiles in the "logs/" subdirectory.
+#
+#* dbplugin (ts3db_sqlite3)
+# Name of the database plugin library used by the server instance. For example, if
+# you want to start the server with MySQL support, simply set this parameter to
+# "ts3db_mysql" to use the MySQL plugin. Do *NOT* specify the "lib" prefix or the file
+# extension of the plugin.
+# Default: The default SQLite3 database plugin will be used.
+#
+#* dbpluginparameter (<empty>)
+# A custom parameter passed to the database plugin library. For example, the MySQL
+# database plugin supports a parameter to specify the physical path of the plugins
+# configuration file.
+# Default: The database plugin will be used without a parameter.
+#
+#* dbsqlpath (sql/)
+# The physical path where your SQL script files are located.
+# Default: The server will search for SQL script files in the "sql/" subdirectory.
+#
+#* dbsqlcreatepath (create_sqlite/)
+# The physical path where your SQL installation files are located. Note that this
+# path will be added to the value of the "dbsqlpath" parameter.
+# Default: The server will search for SQL installation scripts files in the
+# "<dbsqlpath>/dbsqlcreatepath/" subdirectory.
+#
+#* licensepath (<empty>)
+# The physical path where your license file is located.
+# Default: The license file is located in your servers installation directory.
+#
+#* createinifile (0)
+# If set to "1", the server will create an INI-style config file containing all
+# commandline parameters with the values you have specified.
+# Default: The server will not create a config file.
+#
+#* inifile (ts3server.ini)
+# The physical path where your config file is located. Per default, the config file will
+# be called "ts3server.ini".
+# Default: The config file is located in your servers installation directory.
+#
+#* query_ip_whitelist (query_ip_whitelist.txt)
+# The file containing whitelisted IP addresses for the ServerQuery interface. All hosts
+# listed in this file will be ignored by the ServerQuery flood protection.
+# Default: The whitelist file is located in your servers installation directory.
+#
+#* query_ip_backlist (query_ip_backlist.txt)
+# The file containing backlisted IP addresses for the ServerQuery interface. All hosts
+# listed in this file are not allowed to connect to the ServerQuery interface.
+# Default: The whitelist file is located in your servers installation directory.
+#
+#* dbclientkeepdays (90)
+# Defines how many days to keep unused client identities. Auto-pruning is triggered on every
+# start and on every new month while the server is running.
+# Default: The server will auto-prune client identities older than 90 days.
+#
+#* dblogkeepdays (90)
+# Defines how many days to keep database log entries. Auto-pruning is triggered on every
+# start and on every new month while the server is running.
+# Default: The server will auto-prune log entries older than 90 days.
+#
+#* logquerycommands (1)
+# If set to "1", the server will log every ServerQuery command executed by clients. This can
+# be useful while trying to diagnose several different issues.
+# Default: ServerQuery commands will not be logged.
+#
+#* no_permission_update (0)
+# If set to "1", new permissions will not be added to existing groups automatically. Note that
+# this can break your server configuration if you dont update them manually.
+# Default: New permissions will be added to existing groups automatically.
+
+TS_ARGS="logpath=/var/log/teamspeak3-server/ dbsqlpath=/usr/share/teamspeak3-server/sql/"
+
diff --git a/teamspeak3-server.install b/teamspeak3-server.install
new file mode 100644
index 000000000000..48f676a8277c
--- /dev/null
+++ b/teamspeak3-server.install
@@ -0,0 +1,18 @@
+post_install() {
+ /usr/bin/getent group teamspeak &> /dev/null || /usr/bin/groupadd -r teamspeak &> /dev/null
+ /usr/bin/getent passwd teamspeak &> /dev/null || /usr/bin/useradd -r -c "TeamSpeak Server" -M -d /var/lib/teamspeak3-server -g teamspeak -s /usr/bin/nologin teamspeak &> /dev/null
+
+ /usr/bin/chown -R teamspeak:teamspeak \
+ /var/lib/teamspeak3-server \
+ /var/log/teamspeak3-server
+
+ echo " >>> TeamSpeak End User License Agreement:"
+ echo " >>> You need to agree with the license at"
+ echo " >>> /usr/share/licenses/teamspeak3-server/LICENSE"
+ echo " >>> before you are allowed to use teamspeak3-server."
+}
+
+post_remove() {
+ /usr/bin/getent passwd teamspeak &> /dev/null && /usr/bin/userdel teamspeak &> /dev/null
+ /usr/bin/getent group teamspeak &> /dev/null && /usr/bin/groupdel teamspeak &> /dev/null
+}
diff --git a/teamspeak3-server.service b/teamspeak3-server.service
new file mode 100644
index 000000000000..d54736d9eab1
--- /dev/null
+++ b/teamspeak3-server.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=TeamSpeak3 Server
+After=network.target
+
+[Service]
+Type=simple
+User=teamspeak
+Group=teamspeak
+WorkingDirectory=/var/lib/teamspeak3-server
+EnvironmentFile=/etc/default/teamspeak3-server
+ExecStart=/usr/bin/teamspeak3-server $TS_ARGS
+
+[Install]
+WantedBy=multi-user.target