Download

The TSN Ranksystem is an open source project,
it is free to use under the GNU GPLv3 license.

Download the latest version:
DOWNLOAD (Version: 1.2.12)
 

MD5: f6aea85820904cfccdbca5b20d374ba7

Do you like this tool?

Then you might want to sponsor a beer for the developer.

This enables them to develop new features more smoothly! ;-)
Donate (via PayPal)

Features

A list of features will follow soon!

Demonstration System:
Statistics - Site (demo)
Webinterface (demo)

Installation on Linux

1) Requirements

Before we can start to install the TSN Ranksystem, we need to check the requirements for the environment are met.

 

For the statistics page and to be able to run the Bot in a PHP process, we need a webspace (webserver).

 PHP 5.5.0 or higher
 PHP with privileges for the command "exec"
 PHP with unlimited script execution time; especially you should check this on a webhosting
 required PHP extensions:
- PHP PDO extension
- PHP cURL extension
- PHP Zip extension
- PHP SSH2 extension

 network connection to the TS3 ServerQuery of your TS3 server on TCP; default port 10011
 network connection to ts-ranksystem.com (IP: 164.132.201.2) on TCP port 443
 optional: job scheduler (for automatically restart the Bot) like a cronjob

The database will storage all information. This is necessary to get a real time statistic page.

 MySQL (or derivative like MariaDB)
 requires its own database
 required privileges:
- Data:
SELECT, INSERT, UPDATE, DELETE
- Structure:
CREATE, ALTER, INDEX, DROP

To connect with the TeamSpeak 3 server, we need access to the TS3 ServerQuery interface.

 Network connection between the webspace and the TS3 ServerQuery
 TS3 ServerQuery User with following permissions:
- b_virtualserver_info_view
- b_virtualserver_client_list
- b_virtualserver_client_dblist
- b_virtualserver_client_dbinfo
- b_virtualserver_notify_register
- b_virtualserver_servergroup_list
- i_group_member_add_power
- i_group_member_remove_power
- b_icon_manage
- b_client_remoteaddress_view
- i_client_private_textmessage_power
- i_ft_file_browse_power
- i_ft_file_download_power

 

2) Download & Unzip

Download and unzip the file ranksystem_latest.zip.

 

3) Upload to webspace

Upload the whole unzipped folder to a directory on your webspace and grant permissions to the user of your webserver.

 

4) Run install process

Open the "install.php" on your browser and follow the instructions https://your.url/ranksystem-folder/install.php.

 

5) Configure webinterface

Configure the TSN Ranksystem about the webinterface https://your.url/ranksystem-folder/webinterface/.
For each parameter you'll find a documentation by mouse click on it.

 

6) Start Bot

Start the TSN Ranksystem Bot via the webinterface.

 

7) Add cronjob (optional)

Optional: Create a cronjob to be sure, the Bot is running 24/7. This will restart the Bot automatically, e.g. on a database restart.

Open a SSH session to the host machine of your webserver.

Enter the command crontab -e, go to editing mode (in VIM you need to press i).

Paste the following in a new line:

*/10 * * * * sudo -u www-data php /path_to_your_webspace/path_to_the_ranksystem/worker.php check >/dev/null 2>&1

Configure the path, where your TSN Ranksystem is located and replace www-data with the user of your webserver.

Save and quit the crontab (in VIM :wq).

Installation on Windows

1) Requirements

Before we can start to install the TSN Ranksystem, we need to check the requirements for the environment are met.

 

For the statistics page and to be able to run the Bot in a PHP process, we need a webspace (webserver).

 PHP 5.5.0 or higher
 PHP with privileges for the command "exec"
 PHP with unlimited script execution time; especially you should check this on a webhosting
 required PHP extensions:
- PHP PDO extension
- PHP COM extension
- PHP cURL extension
- PHP Zip extension
- PHP SSH2 extension

 network connection to the TS3 ServerQuery of your TS3 server on TCP; default port 10011
 network connection to ts-ranksystem.com (IP: 164.132.201.2) on TCP port 443
 optional: job scheduler (for automatically restart the Bot) like a task scheduler

The database will storage all information. This is necessary to get a real time statistic page.

 MySQL (or derivative like MariaDB)
 requires its own database
 required privileges:
- Data:
SELECT, INSERT, UPDATE, DELETE
- Structure:
CREATE, ALTER, INDEX, DROP

To connect with the TeamSpeak 3 server, we need access to the TS3 ServerQuery interface.

 Network connection between the webspace and the TS3 ServerQuery
 TS3 ServerQuery User with following permissions:
- b_virtualserver_info_view
- b_virtualserver_client_list
- b_virtualserver_client_dblist
- b_virtualserver_client_dbinfo
- b_virtualserver_notify_register
- b_virtualserver_servergroup_list
- i_group_member_add_power
- i_group_member_remove_power
- b_icon_manage
- b_client_remoteaddress_view
- i_client_private_textmessage_power
- i_ft_file_browse_power
- i_ft_file_download_power

 

2) Download & Unzip

Download and unzip the file ranksystem_latest.zip.

 

3) Upload to webspace

Upload the whole unzipped folder to a directory on your webspace and grant permissions to the user of your webserver.

 

4) Run install process

Open the "install.php" on your browser and follow the instructions https://your.url/ranksystem-folder/install.php.

 

5) Set PHP Path

Set the path to the php.exe (PHP installation) inside the other\phpcommand.php. Examples you'll find inside this file.

 

6) Configure webinterface

Configure the TSN Ranksystem about the webinterface https://your.url/ranksystem-folder/webinterface/.
For each parameter you'll find a documentation by mouse click on it.

 

7) Start Bot

Start the TSN Ranksystem Bot via the webinterface.

 

8) Add new Task (optional)

Optional: Create a task inside the task scheduler to be sure, the Bot is running 24/7. This will restart the Bot automatically, e.g. on a database restart.

Windows help how to create a new task.

Add the following options:

C:\path\to\php.exe -f C:\path\to\Ranksystem\worker.php check

Configure the path, where you find your PHP installation and also the path where your TSN Ranksystem is located.

Get a hosting

When you are not able to host the TSN Ranksystem yourself, you can ask here for a hosting.

The hosting is absolutely free. If you want to support this service, donations are welcome. ;-)

If we accept your request, the hosting will remain as long as the Bot is running and able to connect to your TS3 server. Bots, which are offline for more than one week (=inactive) will be deactivated and after one additional week deleted.


Request a hosting

With the hosting we take the part of the requirements of the webspace and the database.
- You still need access to the TS3 server via ServerQuery; ServerQuery credentials (username and password) are required!
- Be sure your TS3 server allows connection from our IP address 164.132.201.2.
- You should whitelist these IP also inside the query_ip_whitelist.txt, which you'll find inside the TS3 server installation directory.

 
 
 

After submitting your request it could take a few hours to create the hosting, cause we check each one manually! You will definitely get an answer. In case of accepting we will send you all needed information (credentials & guide) via email.

Bot Commands

Command Parameter Bot-Admin Description
!help
!info
!cmd
!commands
- none - - / - Get a list of valid bot commands
Since version 1.3.0 it will sends you here.
!version - none - - / - Returns the current version under which the Ranksystem runs.
!update
!checkupdate
- none - required Performs a check for new available updates.
Since the Ranksystem updates itself automatically, the update
process will be started as soon as a new version detected.
!next
!nextup
- none - - / - This checks the user-related required time to reach the
next higher rank. The investigated time will be sent as a private
chat message to the user.
!restart
!reboot
- none - required Initiates a reboot of the Ranksystem bot.
!shutdown
!quit
!stop
- none - required Initiates a shutdown of the Ranksystem bot.
!log
!logs
Parameter 1
number of log entries
expect number between 1 and 999

Example:
!log 5
This will give you the last 5 log lines.
required Get the last few log entries of the Ranksystem-Log
via private chat message.
!runtime
!runtimes
- none - - / - Get the last 10 runtimes of the Ranksystem bot.
Each value represents the needed duration for one round
of the bot, measured in seconds.
!uptime
!online
- none - - / - The bot sends the time of the last (re)start and
also calculates the online time.
!clean - none - required Starts the process of cleaning the user database.
It only has an effect when the function 'clean clients' is activated.
!reloadgroups
!reloadicons
- none - required Cleans the group cache.
All server groups will be reloaded from the TS3 server and associated with this the group icons will be re-downloaded.
Also the servericon will be re-downloaded.
 

Changelog

Explanation

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

1.3.0 (2019-05-XX) - NOT YET RELEASED!!!!

! dropped table "config" as announced with version 1.2.12
! The Ranksystem got his own website -> https://ts-ranksystem.com ; We will relocate the version check with one of the next releases; be sure, you whitelist the network traffic (TCP on port 443) to the new domain
* increased column size for config parameters up to 21588 signs (before 5000); with this you can increase the rankup definition and/or choose longer messages; within this we wrap chat messages, which are bigger than 1024 characters
* due the repaired query command dbclientlist with TS3 server version 3.7.0 we removed our dummy database-select to hold the connection; on problems, please update your TS3 server
* minor changes on the install.php
* optimized response speed for bot commands
* updated library FontAwesome to version 5.7.2
* updated library jQuery to version 3.4.0
* optimized file permissions check during bot startup and on install process; the error message during installation now shows more information
* updated library morris chart to version 0.5.1; within added a red line with current max slots
* added requirement-check also on the login screen of the webinterface; this should prevent error reports in changed environments
* updated czech translation; thx to Nicer
+ added auto reconnect for the bot when conection to TS3 server dropped; the attempt of the re-connection takes place with gradually increased times
+ added new parameter update channel, selectable about the webinterface
+ added new parameter for default sorting on List Rankup page, selectable about the webinterface
+ added new bot commands !uptime, !logs, !runtimes and !reloadgroups
+ added new parameters for log-level and log-size for the ranksystem.log, selectable about the webinterface
+ boost factor can now handles decimal numbers; you can enable a factor e.g. 1.25
+ added new parameters (%7$s - current user rank, %8$s - name of the current servergroup, %9$s - current servergroup since) to command !nextup
+ added values for the achievements (My statistics) to the webinterface; they are now configurable
+ added output of the worker.php to the message when starting/stopping/restarting the bot about the webinterface
+ added status of the bot to the webinterface
- fixed some spelling errors in german language file
- fixed SQL command to clean the table user_iphash; no longer existing users (on TS server deleted user) got stuck
- fixed problem on webinterface when changing the password
 

1.2.12 (2019-02-24)

! changed configuration table of the Ranksystem-Bot and how config-values are handled inside the code. There is nothing you need to change on the webinterface or anywhere else. Only, when you have written third-party-applications and are using the table "config", you need to know the new table is "cfg_params" (Attention: this table has a new database-structure!); old table "config" still exists with 1.2.12 as a clone, but will be deleted with the next version!
* removed link on stats site (report to serverlist) to planetteamspeak since ScP has closed his services; RIP!
+ added new option 'fast hashing' to the IP hash function; these do not decreases the performance of the statistics page as much as it does the already existing 'secure hashing'
+ added spanish translation; thx to JavierlechuXD
- fixed wrongly named group in log when removing an expired boost group
- fixed platforms donut chart on stats page; values of Android and Linux were inverted
- fixed admin mode on "list rankup"; when joining the list rankup in admin-mode and changing sorting of the site, the admin mode was lost
 

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
 
Show older entries

Support

Please report bugs and also feature requests preferred on GitHub.

You can also get support on our public TeamSpeak server ts-n.net.
Contact an admin there (server group: Ranksystem Staff Ranksystem - Staff). Please stay patient, when we don't react immediately. Please give us at least 10-15 minutes to response.

You want to ask for a free hosting? Have a look above to request a hosting.