Teamspeak3 Server

HowTO setup Teamspeak on Ubuntu 20.04

Intro

Setup free Teamspeak 3 VOIP server

BOOKs


DOCs

how-to-set-up-teamspeak-server-on-ubuntu | oneuptime.com
How to Install TeamSpeak Server on Ubuntu 22.04
Teamspeak systemd service file

VIDs


CONFIGs

  • /opt/teamspeak/ts3server.ini   (Server Config file)
  • /etc/systemd/system/teamspeak.service   (systemd Service file)
  • /opt/teamspeak/.ts3server_license_accepted   (License Agreement file)
  • -- Prerequisites

    A functioning router with ports open 9987 UDP voice, 30033 TCP Filetransfer

    --Update pkgs

    # update

    --Create new server user

    # sudo useradd -rmd /opt/teamspeak -s /usr/sbin/nologin teamspeak

    --Install bzip2 (if not already installed)

    # sudo apt install bzip2

    --Download TeamSpeak3 server

    # wget https://files.teamspeak-services.com/releases/server/3.13.8/teamspeak3-server_linux_amd64-3.13.8.tar.bz2

    # tar xvjf teamspeak3-server_linux_amd64-3.13.8.tar.bz2

    # rm teamspeak3-server_linux_amd64-3.13.8.tar.bz2

    --Accept user license Agrement

    # cd teamspeak3-server_linux_amd64/

    # touch .ts3server_license_accepted

    # cd ..

    --Move server files and Change ownership

    # sudo mv teamspeak3-server_linux_amd64/ /opt/teamspeak/

    # sudo chown -R teamspeak:teamspeak /opt/teamspeak/

    # cd

    -- Temp First run, TeamSpeak (Manually), scan onscreen output for loginname= "serveradmin", password= "AbCdE"

    # sudo -u teamspeak /opt/teamspeak/ts3server_startscript.sh start

    -- Scan logs, COPY down the serveradmin password and the privilege key. You'll need both.

    # sudo grep -r "token=" /opt/teamspeak/logs/

    # sudo -u teamspeak /opt/teamspeak/ts3server_startscript.sh stop

    --Create systemd services files then enable and reload systemd for changes to take effect

    # sudo nano /etc/systemd/system/teamspeak.service

    # sudo systemctl daemon-reload

    # sudo systemctl enable teamspeak

    # sudo systemctl start teamspeak

    # sudo systemctl status teamspeak

    [Unit]
    Description=TeamSpeak 3 Server
    After=network.target

    [Service]
    # Run as the dedicated teamspeak user
    User=teamspeak
    Group=teamspeak

    # Working directory
    WorkingDirectory=/opt/teamspeak
    Type=forking

    # Start and stop commands
    ExecStart=/opt/teamspeak/ts3server_startscript.sh start
    ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
    ExecReload=/opt/teamspeak/ts3server_startscript.sh restart

    # Restart policy
    Restart=on-failure
    RestartSec=15

    # Resource limits
    LimitNOFILE=65536

    [Install]
    WantedBy=multi-user.target

    [Unit]
    Description=Teamspeak3 Server
    After=network-online.target
    Wants=network.target

    [Service]
    WorkingDirectory=/opt/teamspeak
    Type=forking
    User=teamspeak
    Group=teamspeak
    ExecStart=/opt/teamspeak/ts3server_startscript.sh start
    ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
    ExecReload=/opt/teamspeak/ts3server_startscript.sh restart
    PIDFile=/opt/teamspeak/ts3server.pid
    RemainAfterExit=yes
    Restart=always
    RestartSec=15

    [Install]
    WantedBy=multi-user.target

    Original

    [Unit]
    Description=TeamSpeak 3 Server
    After=network.target

    [Service]
    User=teamspeak
    Group=teamspeak
    Type=forking
    WorkingDirectory=/opt/ts3
    ExecStart=/opt/ts3/ts3server_startscript.sh start
    ExecStop=/opt/ts3/ts3server_startscript.sh stop
    ExecReload=/opt/ts3/ts3server_startscript.sh restart
    PIDFile=/opt/ts3/ts3server.pid
    Restart=always
    RestartSec=15

    [Install]
    WantedBy=multi-user.target

    Open ports on FireWall/ufw

    # sudo ufw allow 9987/udp comment "TeamSpeak Voice"

    # sudo ufw allow 30033/tcp comment "TeamSpeak File Transfer"

    Optional # ServerQuery interface (TCP) - restrict this to your IP if possible

    # sudo ufw allow from YOUR_IP_ADDRESS to any port 10011/tcp comment "TeamSpeak ServerQuery"

    Check if service and PID is running, check open ports

    # sudo systemctl status teamspeak

    # ps -e | grep ts3

    # sudo ss -tulnp | grep ts3 (netstat depricated cmd)

    Monitoring logs n output

    # tail -f /opt/teamspeak/logs/ts3server_*.log

    # journalctl -u teamspeak -f

    Troubleshooting and tips

  • Ceck ALL dir/files in /opt/teamspeak have write perms (/logs, /files etc) (sudo chmod -R 775 /opt/teamspeak/)
  • check temp files aren't lingering and need to be cleared out (/dev/shm/)
  • If need be delete database (if corupted) so teamspeak can create a new one
  • Teamspeak6 Client

    TeamSpeak Downloads

    download from website, extract files

    move folder to dir /usr/local/bin (right click copy paste, or mv command)

    run teamspeak executable (check that file is executable e.g. chmod +x teamspeak)

    check that [Desktop Entry] exists in CORRECT dir, '/home/blizblaze/.local/share/applications'

    edit [Desktop Entry] to reflect correct PATH 'Exec=/usr/local/bin/teamspeak-client/TeamSpeak %u'

    [Desktop Entry] Version=1.0 Type=Application StartupNotify=false Exec=/usr/local/bin/teamspeak-client/TeamSpeak %u Name=TeamSpeak Icon=teamspeak-client.png Comment=TeamSpeak Voice Communication Client Categories=AudioVideo;Audio;Chat;Network; StartupWMClass=TeamSpeak MimeType=x-scheme-handler/ts3server;x-scheme-handler/teamspeak;

    check that desktop entry is executable (chmod +x ~/.local/share/applications/teamspeak.desktop)

    Add to content bar, search for teamspeak in ubuntu app launcher, click on entry to run, in side bar right click 'pin to dock'