A note to self blog, mainly about geeky stuff

move teamspeak server

There are lots of tutorials online that show you how to move, or migrate if you will, your TeamSpeak 3 server from Windows to Linux, but there’s no guide that shows the other way around. One could say that this process is simply the same, only executed backwards. However, since most of them are outdated, for example most guides let you execute SQL queries to replace all the linux directory standards with windows standard which is no longer needed, I felt the need to write this up-to-date tutorial, in which I will explain how to move a Teamspeak 3 server from Linux to Windows. The process is no rocket science, so don’t worry.

In this particular tutorial, I will be moving TeamSpeak 3.0.10.3 on Ubuntu Server 12.04.5 LTS to TeamSpeak 3.0.11 on Windows Server 2008 R2. You can even migrate between versions, i.e. TeamSpeak 3.0.10.3 to TeamSpeak 3.0.11. That’s right, there’s no need to do an in-place update before you can migrate…. Now, let’s get going!

First, we need to copy the following files from our TeamSpeak 3 Linux server to our new Windows machine:licensekey.dat – Only applicable if you own a TeamSpeak 3 license.query_ip_whitelist.txt – Whitelisted IPs for the query interfacequery_ip_blacklist.txt – Blacklisted IPs for the query interfacefiles/ – Any Icons, Avatars and files that were uploaded to the server. Be sure to copy the entire folder including any subfolders and files inside.ts3server.sqlitedb – The database, this file is the most important one and contains all the information about virtual servers, users, permissions, channels, groups etc. All Settings of the server instance and its virtual servers are contained in this file.Source: https://support.teamspeakusa.com/index.php?/Knowledgebase/Article/View/315/16/i-want-to-move-my-server-to-another-machine-which-files-should-i-copy

Hold your horses!
In my introduction above, I mentioned that you can migrate between TeamSpeak versions withouth having to do an in-place update before. However, this *only* holds if you’re using a SQLite database, which is the case by default.
This is because as of TeamSpeak Server 3.0.11, the MySQL database plugin has been replaced by a MariaDB plugin. Which means that if you were using a MySQL database for your TeamSpeak server, you need to migrate it to MariaDB, else your database will be incompatible with the latest TeamSpeak Server version.
As SQLite is used by default, this is outside the scope of my tutorial and thus I will not be covering this. Here’s a free hint though: Read doc/update_mysql_to_mariadb.txt for instructions on how to update. Also note that the default character set for the database is now ‘utf8mb4’, which means the server needs to be at least MySQL 5.5.3 or MariaDB 5.5.Let’s continue :)