TS6 Manager | Web-based Server Management, Music Bots & Flow Automation

TS6 Manager — Web-based Server Management, Music Bots & Flow Automation

Hey everyone,

I’ve been working on a web interface for managing TeamSpeak servers and wanted to share it with the community. It’s called TS6 Manager and it runs entirely through your browser.

GitHub Repository


What is it?

A self-hosted web panel that connects to your TeamSpeak server via the WebQuery HTTP API. You get a full management interface, built-in music bots, and a visual automation engine — no plugins, no extra dependencies on the TS server itself.


Server Management

Everything you’d expect from a management tool:

  • Live dashboard with online users, channels, uptime, bandwidth graphs
  • Channel tree, client list with kick/ban/move/poke
  • Server & channel groups, permission editor
  • Ban list, tokens, complaints, offline messages
  • Server logs, file browser, instance settings

Music Bots

Run multiple independent music bots per server. Each bot connects as a real voice client using a custom TS3 voice protocol implementation (no extra software needed on the server).

  • Radio station streaming with live ICY metadata (title updates in nickname)
  • YouTube playback via yt-dlp
  • Local music library with upload and playlists
  • Volume, pause, skip, shuffle, repeat
  • Auto-reconnect if connection drops
  • Text commands in chat — users in the bot’s channel can type !radio, !play <url>, !vol 80, !np etc. to control the bot directly

Bot Flow Engine

A visual drag-and-drop editor for building server automations. Connect trigger nodes to action nodes and deploy flows without writing code.

Triggers: TS3 events (client join/leave/move, text messages), cron schedules, webhooks, chat commands
Actions: Kick, ban, move, message, poke, create/edit/delete channels, and more
Logic: Conditions, variables, delays, loops, expressions with placeholders

Use cases: AFK movers, idle kickers, welcome messages, temporary channel creation, online counters, animated channel names, group protection, …

Comes with pre-built templates so you don’t have to start from scratch.


Setup

Runs in Docker. Two containers (frontend + backend), one command:

docker compose up -d

That’s it. Open your browser, register an account, add your TS server connection (host + WebQuery API key), and you’re good to go.

Requirements on the TS server side:

  • WebQuery HTTP enabled (the modern replacement for telnet ServerQuery)
  • A WebQuery API key
  • SSH access (only if you want to use the bot flow engine for event-based automation)

Links

  • GitHub — source code, README, docker-compose files

It’s open source (MIT license). Feedback, bug reports, and contributions are welcome.

14 Likes

Update 25.02.2026:

  • Added password protected servers connection method
  • Minor fixes for the Music Bot on startup if connection fails. (endless reconnect loop)
1 Like

Hey,

first: Thanks for your work so far.

I just wanna test out your Manager and all of its functions.
I set it up just like it was written in your docs on Github. (docker-compose with your docker-compose.yml)
I set the JWT secret and startet the container just like it was written in the docs.

Its running fine so far no errors and i can reach the frontend directly from my browser (Backend API is also running)

But now the Problem: the first admin account on the first startup.
In the docs it’s written, that i have to set it up on first launch.
But i only get the “normal” login screen when i launch the UI:

In the logs also no errors, so I guess I am doing something wrong here:

Also tested if it’s because I was not reaching from local (cause I try to host it on one of my VPS’s)
But also when i run it locally on my home computer and reach it via localhost:3000 i only get the “normal” login.

Ah damn it! Yeah sorry, the image is not up2date with the setup manager. You can use admin/admin as default creds.

many thanks for your fast help :fire:

I will test the Manger the next day’s and try to give you feedback :slight_smile:

But at first glance the project seems really packed with some nice features - thanks for that nice work.

1 Like

Was able to test something around. So far it works pretty good besides some minor things that come up. But at first the yt-dlp function for the music bot: I was not able to use it cause i am getting a constant error from the backend:

Error: yt-dlp info failed (code 1): WARNING: [youtube] No supported JavaScript runtime could be found. Only deno is enabled by default;

I double checked deno is installed in the backend container and on the VPS the container is running.

But it always comes with this error, is there maybe something else so set up?

And a little CSS thing (before I’am forgetting it):

Because the div with hidden scroll is wrapped inside a div with overflow: hidden you cant scroll through the presets.

overflow: auto does the trick for me:

Ah yes and a very important thing came also up.
A Music Bot only is able to join when the minimal Identity Security Level on the Server is set to a Minimum of 8 (default value) - So on default my server, which is running 21 minium required security level, the bot cant join. (or even when its set to 9 or something else higher then 8)

1 Like

I really appreciate your insights and the feedback! Thats awesome and needed.
But please try to open issues on Github to better handle the matter.
Thx :heart:

1 Like

Of course sorry :slight_smile:

I also created on for the yt-dlp error (even if i dont know it’s because of my stupidity :smiley: )

How to find webquery key?

It is displayed on the first setup of your TeamSpeak Server. If you lost it you generate a new one via the serveradmin login.

When logged in do the following:

use 1

and then

apikeyadd scope=manage lifetime=0

What music bot software do you use?

It’s a custom solution. Completely new, not existing before.

1 Like

Amazing thanks. Took me ages to enable SSH on my server but I’ve got it setup. Will try and get some feedback tomorrow.

Just to edit this: Is there a known bug with SSH connections dropping with Teamspeak Servers? I can use the control panel for about 10 minutes before bot functionality drops out when the SSH connection drops.

2 Likes

I have noticed when you use some automation Bots and if you’re a bit too aggressive with the triggers and cron jobs, your server will kick you out for client flooding.

Correct :+1:t3: but that’s an error users have to figure out for themselves. What settings are suitable for the own security configs on the server. :sweat_smile:

1 Like

Thats right, in the end its a real quick setting. :slight_smile:

So far automation works relly good for the things I’ve tested. (Support Channel, Channel creation, AFK Moving and all that stuff).
Only have to figure out how to pass cookies inside docker container for the YouTube Integration, as Hetzner IP’s flagged as bots from YouTube when they not logged in into an account.

Have to mention real quick - Only good taste in music would make someone add RadioBOB to their presets. :wink:

1 Like

Wow!

Man.. this thing is amazing and a great start of something refreshing. I thought you may appreciate my findings. I did spend a good hour with Claude on figuring out how to get SSH for ts6 enabled, resetting credentials and all that stuff - you may want to have this documented somewhere on how to get that done.

Light Mode CSS Colors

You may have just been mostly using dark mode when developing and testing this thing - which is understandable. I thought your dark mode was too dark, so i prefer light mode in this case :stuck_out_tongue:

Dashboard

A new line under Server Capacity with information about the current license would be nice. I saw it pop up in the docker container logs, so I’m sure that won’t be too difficult to accomplish.

Permissions

I feel this is worth mentioning, which could attract so many webadmins to this project. Now that the world has gotten used to discord permissions, with its ease of use and just generally how easy it is to use - i think it would be a great addition to have some simplified permissions.

Its all about making it easier to manage the teamspeak server. I used to host ts3 back in the day, so i don’t really mind - but in todays day and age i do feel that dealing with join_power in 2026 is outdated.

Tokens

Perhaps allow generating tokens from ts6 manager? That’d be neat. Nowadays accounts are linked with ts6 account, so i doubt i would ever need to re-generate it again.

Overall - good stuff my dude! I can tell you have spent so much time on this. Vibe coded or not, well done!

1 Like

Definitely a good hint to add that (I had the same headache) :smiley:

Good find! Has to be fixed and will be fixed soon.

It makes sense but only as soon as Teamspeak has more then the 32 Slots Free License out in the public. Until now the 32 Slots are the only license existing. But good point for the future.

You mean creating a more visualized and not so deeply fine grained permission setting? Yeah thats a wonderful idea but I have to dig into it what the best solution would be.

Added to Roadmap! Top! Thx

1 Like

Yes, that is exactly what i meant. Its a bit hard to explain as english isn’t my native language.

Hi there, thanks for your work. It looks amazing on the Screenshots.
I did install it on my VM

SetUp of admin did work without any issues.

After enabling SSH / Webquery on my TS6 i am also receiving the info that when i press on test (under settings → connections) that the connection is working. But i am unable to adminisiter anything.

Dashboard just shows that i have no server selected (done in the top left)

Virtual Servers shows #0

Installed the Manager on the same server as the TS6, so i can access it also via internet when on the road. Any idea?