TeamSpeak Sponsoring Newcomer1989 deen

The TSN Ranksystem is an easy to handle Level System to automatically assigns ranks (servergroups) to user on a TeamSpeaks3 Server for online time or online activity or in other words it gives time based groups. You can create your own servergroups, with permissions, icons etc. of your choice, and define these for the TSN Ranksystem. So it is possible to create your own military ranks, ... or only an increasing number. It's perfect for your community, clan or guild TS3 server.

You can also use the TSN Ranksystem only to collect the online time of user / clients on your TS server. It has a nice statistics page with an graph of online activity of your server usage, key figures of clients count, of nationalities, of client platforms and of client versions, a nice list for top user of week & month and much more...

It's an open source project and it is free to use under the GNU GPLv3 license.


Download: Version 1.2.11 (2018-09-27)

also available on GitHub

get a free Hosting

You like this tool? Then you might want to sponsor a beer for the developer.
This enables him to develop new functions more smoothly.



  • scans online activity of TeamSpeak user / clients
  • assigns time based server groups on TeamSpeak3
  • extensive stats site and list for future rankups
  • different messages to inform the user at rankup (as TeamSpeak textmessage)
  • languages (english, german, portuguese, french, russian and much more)
  • simple installation with installation guide
  • automatically update function (never need to make an update manual)
  • structured webinterface to configurate the TSN Ranksystem
  • online documentation for each function (inside the webinterface)
  • and much more...




  • Webspace (webserver):
    • PHP 5.5.0 or higher with PDO support; PHP 7.3 ready!
    • with privileges for PHP command "exec"
    • with "cURL" extension for PHP
    • with "Zip" extension for PHP
    • with "COM" extension for PHP (needed on Windows only)
    • with "SSH2" extension for PHP (needed for TS3 query connection with SSH)
    • Query connection to the TeamSpeak server on TCP (default port 10011)
    • Connection to on TCP port 80 (for Update check)
  • Database; List of potential (tested with MySQL on MariaDB); MySQL 8.0 ready!
    Needed privileges:
    • create database and tables (for installation & updates; own database for the Ranksystem is necessary!)
    • drop tables (for backup due update process)
    • alter tables (for updates)
    • select, update, insert and delete entries;   should be daily business ;-)
  • TeamSpeak 3 Server Query Account
    • RAW (plaintext), default Port 10011 (recommended on localhost /  OR
    • SSH (secured), default Port 10022 (recommended on external services); NEW!
    • needed Permissions:
      • i_group_member_add_power
      • i_group_member_remove_power
      • i_client_private_textmessage_power
      • b_client_remoteaddress_view
      • b_serverinstance_version_view
      • b_virtualserver_servergroup_list
      • b_virtualserver_client_list
      • b_virtualserver_client_dbinfo
      • b_virtualserver_client_dblist
      • b_virtualserver_notify_register
      • b_icon_manage
      • i_ft_file_browse_power
      • i_ft_file_download_power
  • Optional: Job Sheduler (for automatically restart) e.g. a cronjob (unix) or task-scheduler (windows)


Don't meet the requirements? -> get a free hosting


Hochgeladene Bilddatei








Installation Linux:  (Show/Hide)

1. Unzip the downloaded file "ranksystem".

2. Upload the whole unzipped folder to a directory on your webspace and grant permissions to the webuser. Example:

chown -R www-data:www-data /var/www/ranksystem

3. Fullfill the requirements? Install needed packages, if not already done!   (Show/Hide)

4. Open the "install.php" on your browser and follow the instructions. After installation, you'll have to configure the system according to your pleasure. A documentation you'll find (via onclick) for each parameter inside the webinterface.

5. Start the TSN Ranksystem Bot via the webinterface. To be sure, the Bot is 24/7 connected, create a cronjob (here described for debian/ubuntu) for the worker.php file to keepalive the Bot (only relevant in case of connection lost or crash):

Login in to your server via ssh.

Enter the command "crontab -e" (In vim you have to press "i" to be able to edit the text)

Paste the following line in a new line (you have to edit the path):

*/10 * * * * sudo -u www-data php /path/to/your/websever/path/to/Ranksystem/worker.php check >/dev/null 2>&1

Replace www-data with your webuser! If you want, you can edit the interval. Here it is every 10 minutes.

Save and quit the crontable.

The Script is now ready to work!!! Open the "//yoursite.url/Ranksystem/stats/" to see some informations and what happens next.



Installation Windows:  (Show/Hide)



How to use:  (Show/Hide)

Be sure, you have followed the installation instructions first. After starting the Bot, a Query-User will connect to your TS3 server and collect all needed information. This Bot will stay continuously there and will give/remove the server groups, which you have defined. You can also interact with them by chat commands. For this write "!help" in private or channel chat to get a list of possible commands.


To be sure the Bot is really 24/7 connected, we created a startscript, which you can use on command line or via cronjob/task.


This file starts and stops the Bot. For a list of possible paramter run it without parameter. For a cron/task the default should be the "check" parameter, which checks the Bot is still running, if not it will be started. For a cron/task example have a look to the installation instructions above.


On the web fronted you will find the following sub pathes under the installation point of the TSN Ranksystem.


This is the site to administrate the TSN Ranksystem. Here you can config the main core of the TSN Ranksystem and also the style of part of the TSN Ranksystem stats page.


The stats-page is the access point for the user. Here they find some information about the server, information about their own rank and much statistics. On this section there is also a list, which shows the next rankups for all user.



How to UPDATE (only needed up to release 1.2.0):  (Show/Hide)



How to OPTIMIZE your system environment:  (Show/Hide)

This list should help you with optimizing your system environment. This can bring much more performance and/or saves resources (especially CPU load) on your host machine. On some machines we saw already an improvement of factor 5-10! But we do not give any warranty it will help. It is always dependent on the respective system environment. Also you should check before you change anything, other on your system running applications will support that changes!

1. Update your PHP to the newest version.

Have a look for actual supported versions and find the newest version of PHP.

Here a documentation how to install the actual version and activate this on your system.

2. Update your database system to the newest version. If you are using MySQL change to MariaDB or be sure to using MySQL 8.

Here a tutorial to save your old databases, remove the MySQL after (full) and then install the MariaDB and restore your databases.

3. Optimize your database.

Here we found an nice tutorial what database paramter could/should be changed. Each one is described short but enough to understand the important things. It will help you on MySQL and threfore also on MariaDB.

4. Optimize PHP by using PHP-FPM to optimize the web-frontend.

Here a documentation how to install PHP-FPM.

5. Optimize the site load (web-frontend) due changing the webserver from apache to nginx.

HowTo remove an old apache installation.

Installation guide for nginx. And a short HowTo to config the nginx server.



ToDo / Wishlist:  (Show/Hide)



Bugs / Support / Hosting:  (Show/Hide)

Please report bugs or features preferred on GitHub.


You can also try to get (hands-on) support on our public TS3 server Contact an admin there (Servergroup: Ranksystem - Support). Please understand that we do not always react immediately; please give us at least 10-15 minutes to response, before you leave.


You do not fulfill the requirements to host the TSN Ranksystem for yourself? We can host the TSN Ranksystem on our server for you, sponsored (without any costs for you). If you are interested, then contact us and ask for a sponsored hosting. Donations, which will be used to pay our server, are welcome for sure! ;-)


How to get a sponsored Hosting?

Join on our TS3: and contact an admin there (Servergroup: Ranksystem - Support) or send us a short message about our contact form (ask for a free hosting of the Ranksystem). We need only your mail address, where we can send all information to you. With our response (mail), you'll get the access data to install and configure your hosted Ranksystem.

With the hosting we take the part of the requirements of the webspace, the database and the job sheduler. You need still a TeamSpeak 3 server query account and an opened / allowed connection from our IP address ( to your TS3 server query. Please check this before you request a hosting! To configure the hosted Ranksystem you should have your TeamSpeak 3 connection data handy (TS3 server address (IP or DNS), TS3 voice port, TS3 query port, TS3 query username, TS3 query password). Be sure, the query account has the described permissions.



Searching for Translator!  (Show/Hide)



Community Votings  (Show/Hide)

Second Voting (Feb-2017) - Result

Ranksystem Voting 2

We are still working to improve the system and are currently focused on fixing bugs. Sure, we know you are looking for new features and they will come in future :)
But good working new features needs a good base. The current status should be ~70% finished with improving things.



First Voting (Nov-2016) - Result

Ranksystem Voting 1

The automatic update function is a component part of the release version 1.2.0.
The statistics are a component part of the release version 1.2.1.
The function to assign groups are intended to the release version 1.2.2.



Changelog:  (Show/Hide)


! Note - (bigger) change you should notice of; in some cases there are things to do
* Information - some information, but there is nothing to do for you; changed something works in background
+ Feature - new feature added or enhance a feature
- Bugfix - fixed a bug or correct something


1.2.12 (2019-XX-XX) - NOT YET RELEASED

+ added new option 'fast hashing' to the IP hash function; this do not deceases the perfomance of the statistics page so much as it does the still existing 'secure hashing'
- fixed platforms donut chart on stats page; values of Android and Linux were inverted


1.2.11 (2018-09-27)

* optimized version check for command !version and on some other places
* optimized some help texts on the webinterface (leading english and german); also cleaned up the language files
* updated russian translation; thx to bykidi
* removed 2nd TS3 queryname; is no more needed with server version 3.4.0 or above
+ added support for new connect parameter 'client_nickname' which comes with version 3.4.0; this allows setting the nickname of query clients before they become visible on the virtual server
+ added cleaning tables admin_addtime and addon_assign_groups due Ranksystem update process
+ added database table for CSRF token; with that multiple siteswitches are possible without getting an CSRF error
+ added message to Ranksystem admin user, when a servergroup gets deleted, which is configured to the Ranksystem
+ added new check the HSTS header is already sent; on some webservers got a problem, which already sent this information
+ added sticking display size of group- and servericons on the stats page to 16x16 pixel


1.2.10 (2018-08-25)

! new PHP extension PHP-SSH2 is needed (only when you are using a secure (ssh) connection to your TS3 server, requires TS3 server version 3.3.0 or above)
* improved handling on worker.php for a higher compatibility on windows
* improved handling on cleaning Ranksystem database due query command "clientdblist" got very slow with server version 3.3.0 in some cases; bot hangs on "Get TS3 Clientlist...", timed out and needs a restart; now the Bot sends dummy requests to the database to hold the connection
* improved handling on install.php when database credentials are correct but permissions to database fails; only write out the credentials, if all database stuff was created correctly
* updated TS3 PHP Framework (version 1.1.33 from August 21, 2018)
* minor improvement of the Ranksystem.log
* updated polish translation; thx to isseihere
+ added SSH support, which is avaiable since TS3 server version 3.3.0; THIS FEATURE IS IN BETA STATUS!! (There are known ?TeamSpeak? bugs -> random connection losts)
+ added logging for login attempts on the webinterface inside the ranksystem log
- fixed bug on admin function (add / remove time), when using the filer "hide excepted clients"
- fixed problem with verify process; removed CSRF check here for the moment, cause there are no problem in case of faking data (token matchs or not..)


Show all other changelog entries:  (Show/Hide)



Download: Version 1.2.11 (2018-09-27)

also available on GitHub

get a free Hosting

You like this tool? Then you might want to sponsor a beer for the developer.
This enables him to develop new functions more smoothly.