Як розмістити сервер TeamSpeak на Linux

Якщо ви затятий геймер, який віддає перевагу Linux і шукає голосовий чат без використання хмарних сервісів на кшталт Discord, то варто розглянути можливість розгортання власного сервера TeamSpeak. Це ідеальне рішення, якщо у вас є домашній сервер.

Створення нового користувача

Першим кроком до встановлення сервера TeamSpeak на Linux є створення окремого користувача, спеціально призначеного для безпечного запуску програмного забезпечення. Відкрийте вікно терміналу та отримайте права root, виконавши команду sudo -s. Це дозволить вам безперешкодно взаємодіяти із сервером та виконувати різноманітні команди, що потребують root-прав.

Тепер, коли у вас є доступ root, ми скористаємося командою adduser для створення нового користувача. Важливо відзначити, що ми використаємо опцію --disabled-login, оскільки цей користувач не повинен мати можливості входу до системи.

adduser --disabled-login teamspeak
usermod -a -G teamspeak teamspeak

Створення пароля для цього користувача не потрібне. Система автоматично подбає про це. Після цього можна перейти до завантаження програмного забезпечення сервера TeamSpeak.

Інсталяція TeamSpeak Server

Оскільки серверне програмне забезпечення TeamSpeak є пропрієтарним, жоден з основних дистрибутивів Linux не має права легально його поширювати у своїх пакетах. Тому користувачам доводиться завантажувати його самостійно. Перейдіть на офіційний веб-сайт і оберіть версію, яка відповідає архітектурі вашого процесора. TeamSpeak підтримує як 32-розрядні, так і 64-розрядні системи. Завантажте потрібний файл і скопіюйте його на свій сервер за допомогою FTP, Samba або інших засобів. Якщо ви не бажаєте використовувати ці методи, ви можете скористатись командою wget для завантаження безпосередньо.

Для отримання останньої версії сервера TeamSpeak, перейдіть до каталогу з релізами, знайдіть останню версію, скопіюйте її посилання та використайте наступну команду:

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

або

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

За допомогою команди tar розпакуйте завантажений архів з програмним забезпеченням.

tar -xvf teamspeak3-server_linux_*.tar.bz2
rm *.tar.bz2

Для надання повних прав новоствореному користувачеві скористайтеся командою chown. Це важливо, оскільки користувач Teamspeak повинен мати можливість коректно працювати з файлами сервера без будь-яких помилок.

Примітка: З міркувань безпеки, не запускайте сервер TS3 під обліковим записом root.

mv teamspeak3-server_linux_* /usr/local/teamspeak
chown -R teamspeak:teamspeak /usr/local/teamspeak
cd /usr/local/teamspeak

Створіть файл, який дозволить серверному програмному забезпеченню знати, що ви прийняли ліцензійну угоду.

touch .ts3server_license_accepted

Наступним кроком є створення спеціального файлу служби systemd для TeamSpeak.

cd /etc/systemd/system
echo '' > teamspeak3.service
nano teamspeak3.service

Вставте наступний код у текстовий редактор Nano та збережіть його за допомогою Ctrl+O.

[Unit]
Description=Сервер 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

Запустіть та активуйте новий файл teamspeak3.service за допомогою команд systemd:

systemctl enable teamspeak3
systemctl start teamspeak3

Перезапустіть сервер за допомогою systemd в будь-який час:

systemctl stop teamspeak3

Повністю вимкніть сервер:

systemctl disable teamspeak3

Вхід до сервера

Основна частина налаштування сервера TeamSpeak3 завершена. Тепер вам потрібно отримати ключ адміністратора (він же токен привілеїв). Цей токен генерується випадково під час першого запуску сервера. Для його отримання, запустіть клієнт TeamSpeak3 і підключіться до свого сервера. Під час першого підключення, клієнт запитає у вас токен. Якщо запиту немає, то потрібно у налаштуваннях сервера знайти відповідну опцію.

Використайте цю команду для автоматичного пошуку та запису токену адміністратора в файл:

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

Скопіюйте рядок чисел одразу після “token=” та вставте його у команду echo між одинарними лапками:

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

Таким чином, ви збережете токен в окремому файлі. Переглянути його можна за допомогою команди cat.

Для надання адміністраторських прав, скопіюйте вміст файлу і вставте у відповідне поле при підключенні до сервера.

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

Майте на увазі, що для кожного адміністратора потрібно буде створювати новий токен. Зверніться до вебсайту TeamSpeak або інструкції для отримання додаткової інформації.

Видалення сервера TeamSpeak

TeamSpeak – корисна програма, але деякі користувачі можуть вирішити, що він їм не потрібен. Якщо ви спробували та вирішили видалити TeamSpeak, скористайтеся наступною інструкцією.

Перш за все, вимкніть та зупиніть службу TeamSpeak за допомогою systemd.

sudo systemctl disable teamspeak3 -f
sudo systemctl stop teamspeak3

Далі видаліть файл служби systemd, який був створений при налаштуванні.

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

Тепер видаліть програмне забезпечення з сервера.

sudo rm -rf /usr/local/teamspeak/

Наостанок видаліть користувача та групу TeamSpeak.

sudo userdel -r teamspeak
sudo groupdel teamspeak

Виконання всіх цих команд має повністю видалити TeamSpeak із вашого сервера. Якщо sudo не працює, спробуйте отримати права root командою sudo -s та повторіть команди без sudo.