TS6 Manager Fork – Extended TeamSpeak Administration in the Browser

Hi everyone,

I’d like to share a project I’ve been working on for a while now.

I created a fork of TS6 Manager, originally developed by clusterzx, and have been actively extending and improving it:

My fork:

The repository also includes a GitHub Wiki with additional documentation and information about the project:

Wiki:

There is also a GitHub Discussions section for questions, ideas, feature suggestions or general discussion around the project:

Discussions:

The project is a web-based management interface for TeamSpeak servers. My goal with the fork is not only to continue improving the existing manager, but also to bring more advanced TeamSpeak administration functionality into a modern web interface.

What has changed / been added in this fork?

The fork has grown quite a bit since I started working on it. Some of the more notable additions and changes currently include:

  • Significantly expanded permission management

    • Editing across all five permission layers

    • Support for online and offline clients

    • Bulk permission editing

    • Compare multiple groups/clients side by side

    • Highlight permission differences

    • Find where a permission is assigned across the server

    • Inspect the effective permissions of a client in a specific channel and see which layer they originate from

    • Import/export functionality for groups

    • Visual group icon selection instead of manually entering icon IDs

  • Extended client database

    • Browse clients that have connected to the server, not only currently connected users

    • Search by nickname, UID, database ID and other information

    • Manage group membership directly from the client list

    • Ban/delete actions

    • Export client information to CSV, HTML or JSON

  • Improved server/group administration

    • Server and channel group member management

    • Bulk selections and actions

    • Group import/export between servers

    • Server icon browser with upload/delete and usage information

  • Music Bot improvements

    • Role-based access to individual chat commands

    • For example, regular users can be allowed to use !play, while commands such as !stop can be restricted to Music Operators or Admins

    • Spotify track links can be resolved and played through YouTube

    • !play, !queue and !stream also support normal search terms instead of requiring a URL

    • Music library scanning for files already present on disk

    • Audio and video uploads

    • Custom bot descriptions with dynamic placeholders

    • Multiple bots, queues, playlists and radio stations

  • Video streaming improvements

    • YouTube, Twitch, direct URLs and local video files

    • Queue support

    • Browser preview and viewer list

    • Several fixes to the original streaming implementation, especially regarding playback stuttering and A/V synchronization

  • More detailed statistics and monitoring

    • Persistent bandwidth and ping history

    • User-count history

    • Historical statistics remain available instead of only being collected while the page is open

  • More flexible user management

    • Admin

    • Viewer

    • Bot Operator

    • Music Operator

    • Per-server access restrictions

    • Active session management and session revocation

  • Authentication and security additions

    • TOTP two-factor authentication

    • OpenID Connect SSO support, e.g. Authentik, Keycloak or Authelia

    • Security hardening and dependency updates

    • Additional protections around authentication, stored credentials and bot flows

  • Web interface improvements

    • Multiple light and dark themes

    • Configurable accent colours

    • English, German and French translations

    • Update notifications

    • Various UI and usability improvements

  • Bot Flow Engine improvements

    • Additional actions and conditions

    • Loop support

    • Better command argument handling

    • Persistent lists

    • Improved templates

    • Separate optional ServerQuery identity for automated actions

And there are many smaller fixes and improvements as well.

The full development history can be found in the CHANGELOG.md in the repository.

Bringing familiar YaTQA functionality to the web

One of my main goals is to integrate as many useful and familiar features from YaTQA as reasonably possible.

YaTQA has been an extremely useful administration tool for TeamSpeak for many years, and there are still a lot of workflows and features that experienced server administrators are used to having.

Some of these concepts are already available in the fork, especially around permissions, groups, clients and server administration, while others are still planned or being worked on.

I don’t intend to create a 1:1 clone of YaTQA. The idea is rather to take the administration features and workflows that are still useful today and integrate them into a modern, web-based TeamSpeak manager.

Looking for testers

The project is still under active development, and there is still a lot I want to improve, test and add.

Because of that, I’m currently looking for people from the TeamSpeak community who are willing to test the project and provide feedback.

I’m especially interested in feedback from people who:

  • administer their own TeamSpeak servers

  • have experience with YaTQA or ServerQuery administration

  • use more complex permission setups

  • are willing to test features and report unexpected behaviour

  • have ideas for useful administration features that are still missing

Bug reports, feature suggestions and general feedback are all welcome.

If there is a particular YaTQA feature that you consider essential, I’d especially like to hear about it. There are probably workflows that I personally don’t use and might otherwise overlook.

You can also use the GitHub Discussions section if you want to discuss ideas, ask questions or suggest functionality without opening an issue right away.

Contributions are welcome too

The project is open source, so developers who want to contribute are of course welcome as well.

But you definitely don’t need to be a developer to help. Simply installing the manager, testing it on a real TeamSpeak server and reporting what works well, what feels confusing, what breaks or what is missing would already be very useful.

GitHub:

Wiki:

Discussions:

Please keep in mind that the project is still actively being developed, so bugs and breaking changes can happen.

If you give it a try, let me know what you think.

I’m especially interested in:

Which YaTQA features or other TeamSpeak administration features are still missing for you?

A small note about Docker images

One thing I intentionally decided for this fork is not to publish pre-built Docker images.

There are currently no official GHCR/Docker Hub images for my fork. Instead, the containers are built directly from the source code in the repository using the provided docker-compose.yml.

This is a deliberate choice. I want to avoid having different or outdated builds floating around that may still be associated with this project long after the underlying code has changed.

Building locally also makes it clear exactly which version of the source code your installation is based on.

So when installing or updating the manager, the intended workflow is essentially:

git pull
docker compose up -d --build

This rebuilds the containers from the source currently checked out in your local repository.

At the moment, there are no plans to provide pre-built images. However, this may change in the future if there is enough demand for officially maintained images.

Of course, since the project is open source I cannot prevent third parties from building and publishing their own images. However, I do not currently provide, maintain or endorse any pre-built images for this fork.

If you come across a Docker image claiming to contain this fork, please keep in mind that it is not an official image provided by this project.