Вступление
Если вам надоело обходить блокировку Discord и вас не устраивает связь в tg или Steam, то предлагаю поднять свой TeamSpeak(TS) сервер. У меня, например, вылезла проблема, что CoD отказывается запускаться при включенной службе обхода дискорда. Тем более, что последнее обновление сделало TS неплохим его аналогом.
И так, нам понадобится домашний сервер (например, старый комп) с установленной ОС или же арендованный
Проще, если у вас стоит полноценная ОС с UI. Качаете c оф. сайта файл и следуете инструкциям установки.
Я расскажу как поставить TS, которым смогут пользоваться и ваши друзья на Ubuntu-server через терминал.
Установка
При установке помог этот гайд.
Заходим в терминале сервера по SSH или любым другим способом и создаём нового пользователя для TS-сервера:
sudo useradd -mrd /opt/teamspeak teamspeak -s "$(which bash)"
Файлы teamspeak будут лежать в директории . teamspeak
Установим библиотеку:
sudo apt install bzip2
Сменим пользователя на teamspeak
:
su - teamspeak
и скачаем архив
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2 -O teamspeak-server.tar.bz2
Теперь нужно его распаковать
tar xvfj teamspeak-server.tar.bz2 --strip-components 1
а затем принять лицензионное соглашение:
touch ~/.ts3server_license_accepted
После этого перейдём из пользователя teamspeak
обратно в свой
su - username
Создание системного сервиса
Чтобы наш сервер постоянно крутился, а также удобно было следить за его работой, создадим системный сервис. Все сервисы лежат в директории . systemd/system
sudo nano /etc/systemd/system/teamspeak.service
и добавим следующий код:
teamspeak.service
[Unit]
Description=Teamspeak Service
Wants=network.target
[Service]
WorkingDirectory=/opt/teamspeak
User=teamspeak
ExecStart=/opt/teamspeak/ts3server_minimal_runscript.sh
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
ExecReload=/opt/teamspeak/ts3server_startscript.sh restart
Restart=always
RestartSec=15
[Install]
WantedBy=multi-user.target
В Description
можно указать любое название сервиса. Также, здесь указываются рабочие директории и исполняемые файлы. Сервис будет работать под пользователем teamspeak
. И наш сервис будет постоянно перезагружаться в случае падения (Restart=always
).
Чтобы сохранить файл, нажимаем Ctrl+C
. Вводим y
и жмём Enter
.
Далее нужно применить изменения командой
sudo systemctl daemon-reload
Запустим наш сервис
sudo systemctl start teamspeak
и выведем его текущий статус
sudo systemctl status teamspeak
Должно выглядеть примерно так

Ну и, дабы сервис сам запускался при перезапуске системы, введём
sudo systemctl enable teamspeak
Пароль администратора для TeamSpeak
Чтобы установить пароль администратора, сначала остановим сервер
sudo systemctl stop teamspeak
Перейдём в пользователя teamspeak
su - teamspeak
и запустим сервер TS с указанием пароля (конечно же, из директории ) teamspeak/
./ts3server_startscript.sh start serveradmin_password=MyPassword123
Остановим
./ts3server_startscript.sh stop
Перейдём обратно в своего пользователя
su - username
Вновь запускаем сервис
sudo systemctl start teamspeak
Настройка роутера
Данные настройки только для домашнего сервера, который находится в вашей локальной сети.
Нам нужно пробросить порты в настройках роутера на наш домашний сервер. Для этого переходим в настройки роутера: обычно 192.168.0.1
или 192.168.1.1
. Адрес можно посмотреть на наклейке снизу роутера, и там же найдёте логин/пароль.
Далее, ищем вкладку Переадресация портов. Обычно находится в Расширенных настройках WAN.
Порты, которые использует TeamSpeak:
-
9987 - UDP
-
10011 - TCP
-
30033 - TCP

-
Вводим любое имя службы.
-
Свой внешний IP (можно узнать, введя IP в поисковике).
-
Внешний порт
-
Локальный IP сервера (ищем в панели роутера).
-
Локальный порт.
То есть, внешний адрес 92.3X.XX.XXX:9987
будет переадресован на адрес локального сервера 192.168.0.50:9987
.
Также, нужно найти настройку DMZ в панели роутера. Выглядит примерно так:

Вводим локальный IP нашего сервера в домашней сети. Наконец, перезагружаем роутер, чтобы изменения применились.
И ещё, если у вас на сервере активен брэндмауэр, нужно открыть эти порты:
sudo ufw allow 9987/udp
sudo ufw allow 10011, 30033/tcp
Подключение к серверу
Для первичного подключения нам понадобиться узнать токен. Для этого в терминале сервера вводим
grep -i token /opt/teamspeak/logs/*

Копируем токен к себе. Он понадобится для получения прав администратора.
Устанавливаем клиент.

В поиск вбиваем наш внешний IP. Когда всплывёт окно ввода токена, вставим туда сохранённый ранее токен. Теперь вы администратор сервера.
Чтобы пригласить друга, нажимаем "Создать приглашение" и кидаем ссылку друзьям.

Либо же даём другу свой внешний IP. TeamSpeak автоматически переадресует на сервис TS вашего сервера.
В принципе, всё.
Автор: panda_bambyk