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 184.108.40.206 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 220.127.116.11 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 interface
query_ip_blacklist.txt – Blacklisted IPs for the query interface
files/ – 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.
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 :)
1) Login to your Linux server, navigate to your TeamSpeak 3 installation folder and copy the files listed above to your new Windows machine using your favorite method, i.e. flash-disk etc, to a temporary directory, for example C:\TS3Migration
2) Login to your Windows machine and download the latest available TeamSpeak 3 server version for your platform, i.e. 32-bit or 64-bit from: http://www.teamspeak.com/?page=downloads
3) Unzip the contents to a folder of your choice, for example C:\teamspeak3-server_win64
4) Paste the files you’ve copied earlier from your TeamSpeak 3 Linux server to the folder you used in step 3.
5) Start your TeamSpeak 3 Server by running the ts3_server.exe file.
6) Done! Your TeamSpeak 3 Server should now be reachable at the new IP address of your Windows machine and all settings should be exactly the same!
That wasn’t so hard, was it :) ?