Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

TS3 Log Analyser

pypi link Python version 3

A Python utility for analyzing TeamSpeak 3 server logs.

Analyze multiple log files or an entire log folder. Stores info about all clients and respective connections and nicknames in a SQLite database for ease of use by other applications.

Can be used for extracting information like:

  • Who has the most cumulative connection time on the server / Time spent by each user on server
  • Longest connection time for each user
  • First and last seen
  • Most used nicknames
  • Total number of connections
  • Merge users with different identities
  • and much more...

Generate useful/fun statistics like the ones you can find here for my server:


It can also 'merge' identities out of the box, this way you can combine stats for users that have multiple identities - as seen in the example (If you belive that everyone should backup their identities, and if they don't do it, it's their fault - you can ignore this feature :D )

Disclaimer: The aim of this project/repo is the log analyzer This repo does not include the web viewer. I'm still developing it, and currently it is not published. This means that you can only generate the DB, and build your own web application. Hopefully I will release mine.

Analyse VS Analyze: Look, English is not my main language, therefore I only found out that analise could be spelled with an s or z much after creating and publishing this project. I do not believe that one is better over another. If you cannot live with ts3LogAnalyzer with z you can always alias it :P.



Python 3 only.

pip install ts3LogAnalyzer

Alternatively you can clone and setup using setuptools or simply call the file directly.


  • Analyze a file:

$ ts3LogAnalyzer databse.db -a ts3server_2017-02-12__11_46_44.016222_1.log

  • Analyze a folder:

$ ts3LogAnalyzer databse.db -a ts3server/logs

  • Analyze a folder, make it mergeable and generate statistics and hide IP's:

$ ts3LogAnalyzer databse.db -a . -msi

  • Be nice to the system when running:

$ nice -n 19 ts3LogAnalyzer db.db -a /path/ -msi

  • Merge two clients:

$ ts3LogAnalyzer databse.db --merge 13 37

Usage: <database> -a <path> [--stats] [--no-ips] [--mergeable] [--debug] [--output-logging] <database> --merge <c1> <c2> [--debug] [--output-logging] <database> ([--stats] | [--no-ips]) [--debug] [--output-logging] -h | --help -v | --version
    -a --analyze <path>             Log file or folder to analyze
    -s --stats                      Generate statistic fields for every client
    -i --no-ips                     Remove ip's from the databse
    -m --mergeable                  Make the clients mergeable
    --output-logging                Output logging from THIS program to ts3LogAnalyzer.log
    --debug                         Output debug information
    -h --help                       Show this screen
    -v --version                    Show version


  • Performance improvements #3
  • Support for other DB's other than SQLite #5
  • Python 2 compatibility


Feature requests and bugs: issues

Other discussion: TeamSpeak forum thread


GNU General Public License v3.0


Contact me at