Update / Upgrade a server

Here we explain how you can update your server in some simple steps.

  1. You have to stop the current server instance first.
    (Do not kill the process or else you will not be able to start your new server for the next 2-3 hours!)
Shutdown your server instance (Expand to get a how to for your operation system)
  • These are official supported ways. to shutdown the whole server.
    All ways will shutdown the whole instance and will report, that slots are not used anymore.```
* All operation systems:
In the ServerQuery interface you can enter the command `serverprocessstop`

* Linux/FreeBSD shell:
The command `./ts3server_startscript.sh stop` when your server was started with `./ts3server_startscript.sh start`

* Windows:
Right-click into the Server Tray Icon -> Then press `Exit`
  1. It’s always good to have a backup so lets make one first before we go on with step 3.
    Create a copy of the ts3server.sqlitedb or make a dump of your Maria Database

  2. Download the server from our website

  3. Extract the server **without using any Root / Admin account**

  4. Copy all extracted files to old server folder and overwrite the old file.

  • Open the redist folder and copy/move the files to the root folder from the server in case you want to use MariaDB
  1. Start the server instance.
  • The first start after the update will take some time

Another description of the process can be found inside doc folder of the server.
There you will find a server_upgrade.txt wit hall details needed to update a server.

The topic in this thread is all about updating a server.
Every Off-topic posts won’t get any answer or will be removed from this thread.

Please search for the topic in our forum first and create a thread for your problem in case you could not find any related topic or answer.

13 Likes

I made this script two years ago. Might be helpful for some fellas :slight_smile:

#!/bin/bash
TS_USER=teamspeak

/etc/init.d/teamspeak stop
su $TS_USER -c "mkdir -p ~/backups/"
su $TS_USER -c "tar cfvz ~/backups/latest.tar.gz ~/teamspeak3-server_linux_amd64"
su $TS_USER -c "wget $(curl -s https://www.teamspeak.com/en/downloads/#server | grep -o 'https://files.teamspeak-services.com/releases/server/.*/teamspeak3-server_linux_amd64-.*.tar.bz2' | head -n1) -O ~/latest.tar.bz2"
su $TS_USER -c "tar -xjf ./latest.tar.bz2 -C ~"
/etc/init.d/teamspeak start
9 Likes

nice and clean info.
thank you dude

1 Like

Thank Noted.

Is the best code.

1 Like

may be just another script, but for systemd user. hopefully helpful, too :wink:

Hello, I also have a teamspeck license and I don’t know how to update it to add the new version. I have version 3.11.0 and I noticed that the new version is 3.12.1. You can send me some details on how to update. to my teampseck server
the problem is that I never installed my teamspeck server, someone helped me to install my server and I don’t have that person in contact anymore, the teamspek server is on vps and I don’t know how to update it without making a fuss or to erase something I don’t know
when I did the first installation it was done by a friend and I can’t manage to find it anymore my teamspeck server is on vps and I don’t know how to update it

I mean… the tutorial is easy and understandable.

You do basically download the archive, extract all files and replace them with the files in your current TeamSpeak server directory.

The files you download don’t remove/replace your logs, database or uploaded files.

It can’t be easier to be honest.

1 Like

You can find a step by step tutorial in the main post of this thread.

2 Likes

I’m sorry to tell you, yes, I don’t know how to do this because I’m 43 years old and I always had the cinerva to do, but now he’s gone and I don’t understand him anymore, I paid him every time to to update me or the degrees and I don’t know how to do them and me not to delete something from it or something from there so I can’t climb it at all

i can help you with these, if you want. :slight_smile:

Hello,

How to automate this by script on windows server without having to right-click and exit on Server Tray Icon?

Good day

Read step one (for all operation systems) and open a Telnet connection to the ServerQuery and then send the command that i wrote there.

2 Likes

It’s not possible to simulate key-inputs into the native Windows command prompt via. parameters.
There are a few methods how to stop the server properly.


(1) WebQuery requests (via. PHP)

http://localhost:10080/serverprocessstop?api-key=xyz

Sending a request to the server using the serverprocessstop command will carefully stop the instance. (https://www.php.net/manual/en/book.curl.php)

(2) Windows CScript

Simulate key-inputs using Windows shell scripts.

ts3_safe_stop.bat

start /max telnet 12.34.56.78 10011
cscript safe_stop.vbs

safe_stop.vbs

set OBJECT=WScript.CreateObject("WScript.Shell")
WScript.sleep 500
OBJECT.SendKeys "login serveradmin mypassword{ENTER}"
WScript.sleep 500
OBJECT.SendKeys "serverprocessstop reasonmsg=SERVER\sRESTART\sREQUIRED{ENTER}"
WScript.sleep 500
OBJECT.SendKeys "logout{ENTER}"
WScript.sleep 500
OBJECT.SendKeys "quit{ENTER}"
WScript.sleep 500

This method requires an (in)active user session.
SendKeys will not work if the batch file is called as SYSTEM or nt authority.


I do recommend option one.
It does only require PHP to be downloaded on the Windows machine.

3 Likes

Great thanks for the info @FakE

Really well I used API TS3 PHP Framework and didn’t know the new WebQuery Queries
But how can I enable WebQuery on Windows server with ts3server.ini if you like?

thank you

The WebQuery interface should be enabled by default on newer server versions.

If you’re missing the latest available parameters to update an existing ts3server.ini file you can basically download the latest server archive and start the server once with the parameter createinifile=1
(:warning: do not start the application on the same server an existing TeamSpeak instance is running already)

You will find all parameters you can set or edit about the WebQuery interface in the generated ini file.

Questions regarding WebQuery

2 Likes

Hello and thank you again @FakE

Actually I hadn’t thought about creating a new INI file
It worked perfectly, I was then able to create a key and it worked perfectly with http://127.0.0.1:10080/serverprocessstop?api-key=12345678snT987654w05QDqPliY12345678 (false key)
Server stop completely this is really top.

It’s just too bad there isn’t a dokuwiki or other that collects all the code and other manips on TeamSpeak3 because that would be really great.

Thanks again

Take a look at the mentioned thread.

You can review the ServerQuery documentation to get to know anything related to the WebQuery interface.
There’s an overview about the (non)usable query commands in the WebQuery thread.
(as well as hints and ideas how to use it)

All the commands and parameters are just being send as HTTP GET method (URL encoded).

Not quite complicated but you need to have a little knowledge about working with cURL and the ServerQuery interface at all.


But to keep things organized, please create a post in the WebQuery thread if you wanna know more about it.

But at least it’s an easy and safe way to shutdown your instance as you got it working already.

1 Like

A post was split to a new topic: Can not untar server on FreeBSD

twitch instagram twitter facebook