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.7 (2018-06-26)

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 ready!
    • with privileges for PHP command "exec"
    • with "cURL" extension for PHP
    • with "Zip" extension for PHP
    • with "COM" extension for PHP (for Windows only)
    • 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 databases and tables (for installation; own database for the Ranksystem is needed)
    • drop tables (for backup due update process)
    • alter tables (for update)
    • select, update, insert and delete entries;   should be normal ;-)
  • TeamSpeak 3 Server Query Account with Permissions:
    • b_virtualserver_client_list
    • i_client_private_textmessage_power
    • i_group_member_add_power
    • i_group_member_remove_power
    • b_client_remoteaddress_view
    • b_virtualserver_servergroup_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 (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 there. After installation you have to configurate 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 addresses ( + 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 will beginn to implement the first 3 features at March 2018 and they will follow then with the next releases.


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.8 (2018-XX-XX) - NOT RELEASED YET

* increased session security by activating HSTS-header
* updated russian translation; thx to bykidi
* secured from pishing for all external links due hiding the referrer
* improved some code to reduce notices/warnings on stats page
- fixed changing language on install.php were not working
- fixed error with donut chart on stats page, when the database still have not enough different values for all stats


1.2.7 (2018-06-27)

! hashing of ip-address (reason EU-GDPR) as option (webinterface -> other); TS user needs to reconnect to the TS3 server to be able to verify with stats page after
! added support for MySQL 8.0 and MariaDB >= 10.3
* increased session security
* increased security on stats/ page; thx to JVMerkle
* increased performance on stats page; it is shitty fast now :-)
* updated TS3 PHP Framework (version 1.1.33 from 18 April 2018)
* updated portuguese translation; thx to Pasha
* modified check on worker.php, if a process is already running
* minor code optimizations, also removed april fool (was only valid on 1st April)
+ added support for special characters (utf-8 mb4), which came with TS server version 3.2.0; before we had it for servergroup names, now for all other needed (among other things: user nicknames)
+ added polish translation; thx to DoktorekOne
+ added CSRF token for protection against Cross-Site-Request-Forgery and replay attacks
- fixed "lost update" problem on manual adding time to an user (function about the webinterface)
- fixed problem, when timezone had a very long name; now all timezone will be supported
- fixed connection problems, when the TS3 query username or password contains special characters


1.2.6 (2018-03-25)

* increased performance (vs. 1.2.4 again in avg. ~25% better now); saves CPU time and memory (RAM)
* updated bootstrap-select to the actual version; bigger selections are now much more faster; thx to caseyjhol the lead developer of it
* changed startup process to be sure the auto updater will runs before the config check
* changed log file rotation; the Bot did a restart on rotation before, now it will stay connected to the TS3 server
* removed unneeded update info check; update notification will now be sent to the admin ID (webinterface -> other), which is multiple since 1.2.4; reworked update notification, which will now be sent on startup after an update
* updated italian translation; thx to jacopomozzy
+ added czech translation; thx to KeviN
- fixed bad config check (servergroup not found); if a servergroup is missed, the Ranksystem will first sync all ts3 servergroups and after that check again the config; only if the config is still bad, it will stop
- fixed wrong ascending/descending sorting, if the site were changed about the pagination
- fixed cross site scriptig vulnerability on stats/list_rankup.php
- fixed problem with special characters inside the server group name; 4 byte chars (utf8mb4) where not possible to save before and run into a database error inside the Ranksystem log


1.2.5 (2018-02-23)

! disable update support for versions under 1.2.0; when you are using a version below 1.2.0 and want to update, we recommend to do a fresh installation
* changed order of Bot startup procedure; now the update process will be done before the config check; this will make sure the update process will runs also, if the config is wrong
- fixed wrong values in the column nextup on the stats page for user, which are offline
- fixed empty lines in log file on updating the Ranksystem; will take note with updates above 1.2.5
- fixed problem on correction boost, when a wrong server group were configured inside; the configure check prevented the new value from being saved
- fixed problem "not enough data..." for the top user of the month; with version 1.2.4 has been added a new deletion method of unused stuff and the old one has been forgotten to be removed
- fixed special case, if no user was online for at least 1 second for more then one week, the server stats could not be saved correctly


Show all other changelog entries:  (Show/Hide)



Download: Version 1.2.7 (2018-06-26)

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.