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

Ви геймер у Linux, якому потрібен голосовий чат, але вам не цікаво використовувати хмарні рішення, такі як Discord? Якщо у вас є домашній сервер, подумайте про використання «власного» рішення, як-от розміщення сервера TeamSpeak.

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

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

sudo -s

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

adduser --disabled-login teamspeak

usermod -a -G 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, розпакуйте вміст програмного забезпечення сервера TeamSpeak.

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]
Опис=Сервер TeamSpeak 3
Після=network.target

[Service]
WorkingDirectory=/usr/local/teamspeak/
Користувач = teamspeak
Група = розмова в команді
Тип=розвилка
ExecStart=/usr/local/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/usr/local/teamspeak/ts3server_startscript.sh стоп
PIDFile=/usr/local/teamspeak/ts3server.pid
RestartSec=15
Перезавантажити=завжди

[Install]
WantedBy=multi-user.target

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

systemctl enable teamspeak3

systemctlstart teamspeak3

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

systemctl stop teamspeak3

Повністю вимкніть сервер за допомогою:

systemctl disable teamspeak3

Вхід

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

Використовуйте цю команду, щоб автоматично знайти та передати маркер адміністратора сервера TeamSpeak у файл:

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, просто виконайте ці дії та дізнайтеся, як повністю видалити програмне забезпечення.

Спочатку використовуйте systemd, щоб вимкнути та зупинити службу TeamSpeak.

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 має працювати, але якщо це не так, подумайте про видалення sudo з кожної з наведених вище команд і замість цього спробуйте заздалегідь отримати кореневу оболонку (sudo -s).