I just set up a TS3 server on a Linux box. Everything seems to work fine, except when I go to upload a custom icon (in either the TS3 or TS6 client), the server immediately hangs, and I have to force restart it.
Each time I try to upload an icon, a new, extensionless icon file is created at /files/virtualserver_1/internal/icons, but they are broken somehow. In the TS3 client they don’t show up at all, and in the TS6 client they show up as broken images.
I’m running both clients as a privileged admin account, and I changed the i_max_icon_filesize permission for the server admin group to 999999. I’ve tried uploading various types of files, JPG, GIF, PNG, etc.
I’m running both clients on the same local net as the server (so port forwarding is not relevant). I did change the file transfer ports in the ts3server.ini, along with all the other ports, for security purposes. But I’m pretty sure this was happening on an earlier test install where I didn’t change any ports as well. Regardless, there is currently no local firewall on the server while I’m testing this.
I’m seeing no errors in the logs. But every time I try uploading an icon I see a log entry like this:
2026-02-13 19:31:01.858341|INFO |VirtualServerBase|1 |file download from (id:0), ‘/icon_3467230419’ by client ‘’(id:5)
I see some files in the crashdumps directory, but I’m not sure how to read them.
I suspect it may have something to do with directory permissions. The entire server install is under a home directory and all of the subdirectory permissions are default, i.e. the permissions on the /files/virtualserver_1/internal/icons directory is 0700.
I am running the server as a service on startup using a script at /etc/systemd/system/teamspeak3.service, but the script is configured to use the same user whose home directory contains the server install.
Any idea what might be wrong here?