Files
OBS/2. Проекты/Team_Speak/Поднятие проекта и настройка.md
2025-04-12 18:26:13 +04:00

6.5 KiB
Raw Blame History

🧩Шаг 1: Обновляем систему

sudo apt update && sudo apt upgrade -y
  • apt update — обновляет список доступных пакетов.
  • apt upgrade -y — устанавливает последние версии пакетов, -y автоматически подтверждает установку.

🧰 Шаг 2: Создание пользователя для сервера

sudo adduser --disabled-login teamspeak
  • --disabled-login — запрещает вход в систему для безопасности.
  • teamspeak — имя пользователя, можно изменить по желанию.

📦 Шаг 3: Установка зависимостей

sudo apt install wget tar bzip2 libglib2.0-0 libstdc++6 -y
  • wget — для загрузки файлов.
  • tar, bzip2 — для распаковки архива с сервером.
  • libglib2.0-0, libstdc++6 — системные библиотеки, нужные TS.

📥Шаг 4: Загрузка TeamSpeak 3 сервера

cd /tmp

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

📂 Шаг 5: Распаковка и установка

tar -xvjf teamspeak3-server_linux_amd64-3.13.7.tar.bz2

sudo mv teamspeak3-server_linux_amd64 /opt/teamspeak
  • tar -xvjf — распаковка архива:
  • x — извлечь, v — показать процесс, j — bzip2, f — файл.
  • mv — перемещаем сервер в /opt/teamspeak.

🔐 Шаг 6: Назначаем владельца

sudo chown -R teamspeak:teamspeak /opt/teamspeak

chown — смена владельца папки на пользователя teamspeak.

📜 Шаг 7: Принятие лицензии

sudo touch /opt/teamspeak/.ts3server_license_accepted

touch — создает пустой файл. Этот файл нужен для запуска без GUI-подтверждения лицензии.

⚙️ Шаг 8: Создание systemd сервиса

Создаем файл юнита для запуска сервера как службы:

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

Вставляем данные:

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

[Service]
WorkingDirectory=/opt/teamspeak
User=teamspeak
Group=teamspeak
ExecStart=/opt/teamspeak/ts3server_minimal_runscript.sh
Restart=always
RestartSec=15
LimitNOFILE=10000

[Install]
WantedBy=multi-user.target

Сохраняем Ctrl+O, выходим Ctrl+X.

🚀 Шаг 9: Запуск сервера

sudo systemctl daemon-reexec

sudo systemctl daemon-reload

sudo systemctl enable teamspeak --now
  • daemon-reexec — перезапускает systemd (на всякий случай).
  • daemon-reload — загружает новые юниты.
  • enable --now — включает автозапуск и запускает прямо сейчас.

🔍 Шаг 10: Проверка работы

sudo journalctl -u teamspeak -f

Показывает логи сервиса в реальном времени.

Важно: в первом запуске появится admin token, который нужно сохранить для входа с клиента.

🔓 Шаг 11: Открытие портов (если используется UFW)

sudo ufw allow 9987/udp    # Голосовой порт
sudo ufw allow 10011/tcp   # ServerQuery
sudo ufw allow 30033/tcp   # File Transfer
sudo ufw reload

Если используется ufw (брандмауэр Ubuntu):

🔹 Шаг 11: Привязка домена к серверу

Перейди в панель управления DNS у твоего регистратора домена (например, reg.ru, Cloudflare, Timeweb и т.д.) и создай:

|Тип| |Имя|     |Значение|

|A| teamspeak|  `0.0.0.0` (**твой белый IP**)|

Это создаст поддомен teamspeak.stitch505.su, указывающий на твой сервер.

🔎 11.2 Проверка доступности поддомена

ping teamspeak.stitch505.su

🔸 Шаг 12 (опционально): Настройка SRV-записи (для подключения по основному домену)

🔧 Что такое SRV-запись?

  • тип сервиса (например, TeamSpeak, SIP, Minecraft и т.д.),
  • протокол (обычно UDP или TCP),
  • имя хоста, где находится сервис,
  • порт, на котором он работает.
SRV-запись (Service Record) указывает:
Поле Значение Пояснение
Name ts3._udp.stitch505.su _ts3._udp = сервис TeamSpeak по UDP, далее основной домен
Priority 0 Приоритет записи, если их несколько. Меньше = важнее.
Weight 5 Вес между SRV с одинаковым приоритетом. 5 — обычное значение.
Port
9987 Стандартный порт TeamSpeak 3.|
Target teamspeak.stitch505.su. Имя сервера, куда перенаправлять. Точка в конце — обязательна в DNS.

[!Danger] ВАЖНО:

  • "Name" — это не просто _ts3._udp, а полный путь вида: _ts3._udp.stitch505.su
  • "Target" должен оканчиваться на точку, чтобы DNS понимал, что это FQDN (полное доменное имя), а не поддомен текущего имени.

Если ты просрал ключ админа для первого входа:

[!failure] ### УДАЛЯЙ ЛИНУКС ЭТО НЕ ТВОЁ

[!Success] либо Вводим команду:

sudo journalctl -u teamspeak -b -n 100 | grep token

[!failure] Копируем данные после token= и вставляем в ТС