Hospedar Servidor TeamSpeak no Linux: Guia Completo

Precisa de comunicação por voz no Linux, mas não quer depender de soluções na nuvem como o Discord? Se você tem um servidor em casa, considere criar sua própria solução, em vez de usar um servidor TeamSpeak hospedado por terceiros.

Criação de um Novo Usuário

Para iniciar a configuração do seu servidor TeamSpeak no Linux, o primeiro passo é criar um usuário dedicado para executar o software de forma segura. Abra uma janela de terminal e use o comando `sudo` para obter acesso como root. Isso facilitará a interação com o servidor e a execução de diversos comandos que exigem privilégios de root.

sudo -s

Agora, com acesso root, utilizaremos o comando `adduser` para criar um novo usuário. Importante destacar que usaremos a opção `–disabled-login`, pois este usuário não necessitará fazer login no sistema.

adduser --disabled-login teamspeak

usermod -a -G teamspeak teamspeak

Não há necessidade de definir uma senha para este usuário; o sistema cuidará disso. Podemos agora prosseguir para o download do software do servidor.

Instalação do Servidor TeamSpeak

O software do servidor TeamSpeak é proprietário, o que impede que as distribuições Linux convencionais o empacotem legalmente para facilitar sua instalação. Portanto, os usuários precisam baixá-lo manualmente. Acesse o site oficial e escolha a versão adequada para sua arquitetura de CPU. O TeamSpeak oferece suporte oficial a versões de 32 e 64 bits. Após o download, transfira o arquivo para o seu servidor usando FTP, Samba, ou outro método. Se preferir, utilize o comando `wget` para baixar diretamente.

Para obter a versão mais recente do servidor TeamSpeak, navegue até o diretório de releases, clique com o botão direito na versão mais recente, selecione “copiar endereço do link” e execute o seguinte:

wget https://dl.4players.de/ts/releases/3.1.1/teamspeak3-server_linux_amd64-3.1.1.tar.bz2

ou

wget https://dl.4players.de/ts/releases/3.1.1/teamspeak3-server_linux_x86-3.1.1.tar.bz2

Utilize o comando `tar` para extrair o conteúdo do pacote do servidor TeamSpeak.

tar -xvf teamspeak3-server_linux_*.tar.bz2

rm *.tar.bz2

Use o comando `chown` para conceder permissões completas ao novo usuário criado anteriormente. A alteração da propriedade do diretório é crucial, pois o usuário TeamSpeak precisará ter acesso para executar o software corretamente e sem erros.

Importante: Por questões de segurança, nunca execute o servidor TeamSpeak como root.

mv teamspeak3-server_linux_* /usr/local/teamspeak

chown -R teamspeak:teamspeak /usr/local/teamspeak

cd /usr/local/teamspeak

Crie um arquivo utilizando o comando `touch` para informar ao software do servidor que você aceitou os termos e condições.

touch .ts3server_license_accepted

Agora, crie um arquivo de serviço systemd personalizado para o TeamSpeak.

cd /etc/systemd/system

echo '' > teamspeak3.service

nano teamspeak3.service

Cole o código abaixo no editor de texto Nano e salve as alterações com Ctrl + O.

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

[Service]
WorkingDirectory=/usr/local/teamspeak/
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/usr/local/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/usr/local/teamspeak/ts3server_startscript.sh stop
PIDFile=/usr/local/teamspeak/ts3server.pid
RestartSec=15
Restart=always

[Install]
WantedBy=multi-user.target

Inicie e ative o novo arquivo `teamspeak3.service` com os comandos da ferramenta systemd init:

systemctl enable teamspeak3

systemctl start teamspeak3

Reinicie o servidor a qualquer momento via systemd com este comando.

systemctl stop teamspeak3

Desative completamente o servidor com:

systemctl disable teamspeak3

Acesso ao Servidor

A parte mais complexa da configuração do servidor TeamSpeak3 está finalizada. Agora, resta apenas obter sua chave de administrador (também conhecida como token de privilégio). Este token é gerado aleatoriamente na primeira execução do software do servidor. Para obtê-lo, você precisará abrir seu cliente TeamSpeak3 e se conectar ao seu servidor. Na primeira conexão, o software deverá solicitar que você insira uma “chave de privilégio”. Se não aparecer essa solicitação, verifique as configurações do seu servidor.

Utilize este comando para encontrar e direcionar automaticamente seu token de administrador do servidor TeamSpeak para um arquivo:

cat /usr/local/teamspeak/logs/* | grep "token"

Copie a sequência de caracteres após “token=” e insira-a após o `echo` entre aspas simples:

echo 'token string' > /usr/local/teamspeak/admin-token.txt

Salvar o token dessa forma manterá o arquivo em local seguro.

Com o comando `cat`, você poderá visualizar o arquivo de texto com o token.

Para conceder acesso de administrador a um usuário, copie e cole o conteúdo do arquivo na janela que solicitar a chave de privilégio.

cat /usr/local/teamspeak/admin-token.txt

Lembre-se de que, para cada administrador, pode ser necessário gerar um novo token de privilégio. Consulte o site e o manual do TeamSpeak para aprender como fazer isso.

Remoção do Servidor TeamSpeak

O TeamSpeak é um software útil, mas alguns usuários podem não querer lidar com as configurações necessárias. Se você já experimentou e decidiu que não quer mais um servidor TeamSpeak, siga estas etapas para removê-lo completamente.

Primeiramente, use o systemd para desabilitar e interromper o serviço TeamSpeak.

sudo systemctl disable teamspeak3 -f

sudo systemctl stop teamspeak3

Em seguida, remova o arquivo de serviço systemd personalizado que foi criado na configuração.

sudo rm  /etc/systemd/system/teamspeak3.service

Depois disso, remova o software do servidor.

sudo rm -rf /usr/local/teamspeak/

Finalmente, exclua o grupo e o usuário do TeamSpeak.

sudo userdel -r teamspeak

sudo groupdel teamspeak

A execução de todos esses comandos deverá remover todas as referências ao TeamSpeak do seu servidor. O comando `sudo` deve funcionar, mas se não funcionar, considere remover o `sudo` de cada comando acima e obter um shell de root com `sudo -s` antes de executar.