Как поднять сервер TeamSpeak: пошаговая инструкция
Голосовой чат в игре или в Discord периодически ложится, режет качество звука на весь канал или просто не устраивает задержкой — а команде или комьюнити нужен стабильный голос, который не зависит от чужих серверов и настроек модерации сторонней платформы. TeamSpeak 3 для этого и существует: свой сервер, свои правила, свои каналы, и всё это поднимается на обычном VPS за полчаса. Разберём установку по шагам — от скачивания до автозапуска, с упором на грабли, о которые обычно спотыкаются в первый раз.
Содержание
Что нужно для сервера TeamSpeak
TeamSpeak Server — один из самых лёгких по ресурсам продуктов в игровом хостинге вообще. Он не считает физику, не генерирует мир и не хранит инвентари тысяч игроков — по сути это диспетчер голосовых потоков и база данных с правами пользователей. Ориентировочные цифры по памяти (точная нагрузка зависит от числа каналов, активности разговоров и того, держите ли вы файловый обмен и аватарки):
| Слотов | RAM | vCPU | Диск |
|---|---|---|---|
| до 32 (бесплатная лицензия) | 512 МБ | 1 | 2-5 ГБ |
| 50-100 | 1 ГБ | 1-2 | 5-10 ГБ |
| 200+ | 2 ГБ | 2 | 10-15 ГБ |
512 МБ RAM — это официальный минимум, ниже которого сервер может стартовать, но будет упираться в своп при активном заходе пользователей одновременно. Диск почти не расходуется на сам голосовой трафик — он не пишется на диск, — основной расход идёт на базу SQLite с правами и логи.
ОС — Ubuntu 22.04/24.04 LTS или Debian, дальше по тексту команды под Debian/Ubuntu. Важный нюанс: TeamSpeak Server принципиально не запускается из-под пользователя root — это встроенная защита, и попытка стартовать его через sudo от root просто завершится ошибкой в консоли. Понадобится отдельный системный пользователь, создадим его на следующем шаге.
Если параллельно держите игровой сервер — например, Rust или ARK: Survival Evolved — TeamSpeak разумнее вынести на отдельный VPS или как минимум не сажать на тот же лимит RAM впритык: голос должен работать даже когда игровой сервер проседает под нагрузкой при вайпе или ивенте.
Установка TeamSpeak Server — не через Steam
Важный момент, который путает многих: TeamSpeak Server не распространяется через Steam — это не игра и не приложение из библиотеки Steam, а самостоятельный продукт, который скачивается напрямую с официального сайта teamspeak.com, раздел Downloads → Server. Там же лежит и клиент — их не нужно путать, это два разных дистрибутива.
Заходим на сервер по SSH и качаем актуальный архив под Linux (имя файла на сайте выглядит как teamspeak3-server_linux_amd64-X.X.X.tar.bz2, версию проверьте на странице загрузок — она периодически обновляется):
mkdir -p ~/downloads && cd ~/downloads
curl -LO "https://files.teamspeak-services.com/releases/server/<версия>/teamspeak3-server_linux_amd64-<версия>.tar.bz2"
Создаём отдельного пользователя, от чьего имени будет жить сервер:
sudo adduser --disabled-password --gecos "" teamspeak
sudo su - teamspeak
Распаковываем архив в домашнюю папку пользователя:
cd ~
tar -xjf ~/downloads/teamspeak3-server_linux_amd64-*.tar.bz2
mv teamspeak3-server_linux_amd64-* teamspeak3-server
cd teamspeak3-server
Внутри — бинарник ts3server, скрипт-обёртка ts3server_startscript.sh и конфиг ts3server.ini, который на первом старте ещё не создан и генерируется автоматически.
Поднять сервер TeamSpeak за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверПервый запуск и privilege key — самое важное
Запускаем сервер первый раз интерактивно, не через systemd, чтобы увидеть лицензионное соглашение и ключевую информацию, которая выводится только один раз:
./ts3server_startscript.sh start
При самом первом запуске TeamSpeak Server покажет лицензионное соглашение и спросит подтверждение — нужно ответить y. После этого в консоли появится блок примерно такого вида:
ServerAdmin privilege key created, please use it to gain serveradmin rights:
token=abCDefGH1234567890IJKLmnopQRSTuvWXyz1234
ServerQuery Admin Account created:
loginname= "serveradmin", password= "xxxxxxxxxx"
Это и есть привилегированный ключ (privilege key / token) — единственный способ получить права ServerAdmin на только что созданном сервере. Он не хранится в отдельном файле для удобного просмотра позже (хотя и попадает в лог в папке logs/), поэтому первым делом скопируйте его в безопасное место — пароль-менеджер, заметку, что угодно, лишь бы не потерять. Второй такой ключ по умолчанию не сгенерируется — если токен потерян и вы ещё не привязали к серверу свою учётную запись, восстановить админ-права можно только через ServerQuery-логин serveradmin с паролем из того же вывода, либо пересозданием базы сервера с нуля.
Логин serveradmin и пароль к нему — это отдельная сущность, доступ через ServerQuery (текстовый административный протокол на порту 10011), а не через обычный голосовой клиент. Для базовой эксплуатации сервера он не нужен, но пригодится, если когда-нибудь захотите автоматизировать управление сервером скриптами.
Проброс портов и файрвол
TeamSpeak 3 Server использует несколько портов, и часть из них легко забыть при настройке файрвола:
| Порт | Протокол | Назначение |
|---|---|---|
| 9987 | UDP | Основной голосовой порт (по умолчанию) |
| 30033 | TCP | Файловый транспорт — аватарки, иконки каналов, обмен файлами |
| 10011 | TCP | ServerQuery — административный доступ по протоколу telnet-подобного типа |
| 41144 | TCP | ServerQuery через SSH (более безопасная альтернатива 10011) |
Для обычного голосового сервера, к которому подключаются только клиентом, достаточно открыть 9987/UDP и 30033/TCP:
sudo ufw allow 9987/udp
sudo ufw allow 30033/tcp
sudo ufw status
Порты 10011 и 41144 стоит либо не открывать наружу вовсе, либо ограничить доступ конкретными IP через файрвол — это административный вход, и светить его всему интернету не лучшая идея. Если хостинг-провайдер держит облачный файрвол или security group поверх ufw — правила нужно продублировать и там, иначе пакеты срежет ещё на уровне сети до того, как долетят до VPS. На тарифах MAATRIX GAMES нужные порты для TeamSpeak открываются автоматически при деплое.
Базовая настройка: слоты, порт и лицензия
Основные параметры сервера задаются либо флагами при запуске, либо (что удобнее для постоянной эксплуатации) в файле ts3server.ini, который лежит в рабочей папке рядом с бинарником и на первом старте создаётся пустым — заполняем сами:
default_voice_port=9987
filetransfer_port=30033
voice_ip=0.0.0.0
query_ip=0.0.0.0
machine_id=
license_accepted=1
Ключевые параметры, которые обычно правят сразу:
default_voice_port— тот самый порт 9987, менять есть смысл, если на одной машине планируется несколько инстансов сервера (виртуальные серверы TeamSpeak поддерживают запуск не одного, а нескольких «виртуальных серверов» на разных портах в рамках одного процессаts3server).- Максимум слотов — задаётся не в
ts3server.ini, а внутри клиента через ServerAdmin: вкладка Virtual Server → Edit → Max Clients, либо через ServerQuery-командуserveredit maxclients=N. - Лицензия — бесплатный (non-commercial) режим TeamSpeak Server ограничивает сервер 32 слотами без дополнительной регистрации. Для большего числа слотов нужна лицензия с сайта myteamspeak.com — условия периодически меняются, актуальные лимиты и цены смотрите там перед тем, как рассчитывать на конкретное число мест.
Пароль на подключение к серверу (не путать с приви-ключом) выставляется тоже через ServerAdmin — Virtual Server → Edit → Password, либо ServerQuery-командой serveredit virtualserver_password=ваш_пароль.
Подключение клиентом и активация прав администратора
Клиент скачивается отдельно — там же, на teamspeak.com, раздел Downloads → Client, для Windows/macOS/Linux. После установки:
- Открываем клиент, идём в Connections → Connect.
- В поле Server Address указываем IP или домен сервера. Если голосовой порт отличается от 9987 — дописываем через двоеточие, например
1.2.3.4:9988. - Указываем Nickname, при необходимости — Server Password, если он задан.
- Жмём Connect.
Чтобы получить права администратора на только что созданном сервере, используем сохранённый ранее privilege key: в меню клиента Permissions → Use Privilege Key, вставляем токен и подтверждаем. После этого учётная запись, под которой вы подключены, получает группу ServerAdmin и полный доступ к настройкам — созданию каналов, правам групп, банам, модерации.
Дальше типовая последовательность: создаём структуру каналов (каналы создаются через правый клик на дереве сервера → Create Channel), настраиваем права групп через Permissions → Server Groups. Если TeamSpeak поднимается для комьюнити вокруг конкретного игрового сервера — скажем, Minecraft — удобно сразу завести под него отдельную ветку каналов с паролем, чтобы не мешать остальным гостям сервера.
Автозапуск через systemd
Стартовать сервер вручную в screen или tmux работает, но после перезагрузки VPS придётся заходить и поднимать его заново. Юнит systemd решает и это, и автоматический рестарт при падении.
Для systemd лучше запускать не скрипт-обёртку ts3server_startscript.sh (он по умолчанию форкается в фон, а systemd для типа simple ждёт процесс на переднем плане), а сам бинарник ts3server напрямую. Создаём /etc/systemd/system/teamspeak.service:
[Unit]
Description=TeamSpeak 3 Server
After=network.target
[Service]
Type=simple
User=teamspeak
WorkingDirectory=/home/teamspeak/teamspeak3-server
ExecStart=/home/teamspeak/teamspeak3-server/ts3server inifile=ts3server.ini
Restart=on-failure
RestartSec=15
LimitNOFILE=100000
[Install]
WantedBy=multi-user.target
Поскольку лицензионное соглашение уже было принято на первом интерактивном запуске (флаг license_accepted=1 в ts3server.ini фиксирует это), повторного запроса подтверждения при запуске через systemd не будет. Применяем юнит:
sudo systemctl daemon-reload
sudo systemctl enable teamspeak
sudo systemctl start teamspeak
sudo systemctl status teamspeak
Логи в реальном времени:
journalctl -u teamspeak -f
Restart=on-failure подстрахует от падений процесса (например, при OOM на слабых тарифах с 512 МБ RAM под большим числом одновременных подключений) — systemd поднимет сервис сам, без ручного вмешательства среди ночи. Если вы уже разворачивали автозапуск для игровых серверов вроде Valheim, принцип тот же — отдельный пользователь, отдельный юнит, Restart=on-failure.
Поднять сервер TeamSpeak за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Забыл или потерял privilege key — что делать?
Если у вас есть доступ по SSH к серверу, самый надёжный путь — через ServerQuery-логин serveradmin (пароль тоже был показан при первом запуске и есть в логе в папке logs/), подключиться к порту 10011 и выдать нужные права вручную. Если и этот пароль потерян, крайний вариант — остановить сервер, удалить файл базы данных ts3server.sqlitedb и стартовать заново: это создаст новый приви-ключ, но сотрёт все текущие каналы, группы и права.
Сколько слотов реально нужно для команды из 10-15 человек?
С запасом хватит стандартных 32 слотов бесплатной лицензии — даже с несколькими AFK-каналами и запасом под гостей редко упираются в потолок раньше 25-30 одновременных подключений.
Почему сервер не стартует под root с ошибкой в консоли?
Это встроенное ограничение TeamSpeak Server — он отказывается запускаться от имени root из соображений безопасности. Решение — создать отдельного системного пользователя, как описано выше, и запускать сервис от его имени.
Можно ли на одном VPS держать несколько независимых TeamSpeak-серверов?
Да, через механизм виртуальных серверов внутри одного процесса ts3server — каждый со своим портом, своими слотами и правами. Создаются командой ServerQuery servercreate или через клиент в режиме мульти-сервера, если лицензия это позволяет.
Нужно ли вручную обновлять сервер при выходе новой версии?
Да, автообновления нет — скачиваете новый архив с teamspeak.com, останавливаете сервис (systemctl stop teamspeak), заменяете бинарник ts3server (конфиг и база данных не трогаются), запускаете обратно. Несовместимость версий клиент-сервер в TeamSpeak 3 встречается редко, но при мажорных релизах лучше свериться с changelog перед обновлением.