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

136 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### 🧩Шаг 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**<br> | 9987 | Стандартный порт TeamSpeak 3.\| |
| **Target** | teamspeak.stitch505.su. | Имя сервера, куда перенаправлять. Точка в конце — обязательна в DNS. |
>[!Danger] ❗ **ВАЖНО**:
>- **"Name" — это не просто `_ts3._udp`**, а полный путь вида: `_ts3._udp.stitch505.su`
>- **"Target" должен оканчиваться на точку**, чтобы DNS понимал, что это **FQDN** (полное доменное имя), а не поддомен текущего имени.
## Если ты просрал ключ админа:
Вводим команду:
```
sudo journalctl -u teamspeak -b -n 100 | grep token
```