Установка TeapSpeak 3 server на VDS — различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Установка TeamSpeak 3 server = == 1. Подготовка системы == * Войдите в систему под учетной записью…»)
 
 
(не показана 1 промежуточная версия этого же участника)
Строка 11: Строка 11:
  
 
1. Создайте пользователя для TeamSpeak:
 
1. Создайте пользователя для TeamSpeak:
<code>
+
<pre>sudo useradd -m -s /bin/bash teamspeak</pre>
sudo useradd -m -s /bin/bash teamspeak
 
</code>
 
  
 
2. Установите пароль для пользователя:
 
2. Установите пароль для пользователя:
<code>
+
<pre>sudo passwd teamspeak</pre>
sudo passwd teamspeak
 
</code>
 
  
 
3. Переключитесь на пользователя teamspeak:
 
3. Переключитесь на пользователя teamspeak:
<code>
+
<pre>sudo su - teamspeak</pre>
sudo su - teamspeak
 
</code>
 
  
== 3. Установка TeamSpeak 3 Server ===
+
== 3. Установка TeamSpeak 3 Server ==
  
 
=== Скачивание TeamSpeak ===
 
=== Скачивание TeamSpeak ===
  
 
1. Создайте директорию для TeamSpeak:
 
1. Создайте директорию для TeamSpeak:
<code>
+
<pre>mkdir -p ~/teamspeak</pre>
mkdir -p ~/teamspeak
+
<pre>cd ~/teamspeak</pre>
cd ~/teamspeak
 
</code>
 
  
 
2. Скачайте последнюю версию TeamSpeak 3 Server:
 
2. Скачайте последнюю версию TeamSpeak 3 Server:
<code>
+
<pre>wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2</pre>
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2
 
</code>
 
  
 
3. Распакуйте архив:
 
3. Распакуйте архив:
<code>
+
<pre>tar -xjf teamspeak3-server_linux_amd64-3.13.7.tar.bz2</pre>
tar -xjf teamspeak3-server_linux_amd64-3.13.7.tar.bz2
 
</code>
 
  
 
4. Переименуйте директорию:
 
4. Переименуйте директорию:
<code>
+
<pre>mv teamspeak3-server_linux_amd64 teamspeak3-server</pre>
mv teamspeak3-server_linux_amd64 teamspeak3-server
+
<pre>cd teamspeak3-server</pre>
cd teamspeak3-server
 
</code>
 
  
 
=== Настройка прав доступа ===
 
=== Настройка прав доступа ===
  
 
1. Установите правильные права:
 
1. Установите правильные права:
<code>
+
<pre>chmod +x ts3server_startscript.sh</pre>
chmod +x ts3server_startscript.sh
+
<pre>chmod +x ts3server</pre>
chmod +x ts3server
 
</code>
 
  
 
2. Создайте директорию для логов:
 
2. Создайте директорию для логов:
<code>
+
<pre>mkdir -p logs</pre>
mkdir -p logs
 
</code>
 
  
== 4. Первый запуск TeamSpeak ===
+
== 4. Первый запуск TeamSpeak ==
  
 
=== Запуск сервера ===
 
=== Запуск сервера ===
  
 
1. Запустите TeamSpeak сервер:
 
1. Запустите TeamSpeak сервер:
<code>
+
<pre>./ts3server_startscript.sh start</pre>
./ts3server_startscript.sh start
 
</code>
 
  
 
2. При первом запуске вы получите:
 
2. При первом запуске вы получите:
Строка 78: Строка 58:
  
 
3. Остановите сервер:
 
3. Остановите сервер:
<code>
+
<pre>./ts3server_startscript.sh stop</pre>
./ts3server_startscript.sh stop
 
</code>
 
  
 
=== Настройка автозапуска ===
 
=== Настройка автозапуска ===
  
 
1. Создайте systemd сервис:
 
1. Создайте systemd сервис:
<code>
+
<pre>sudo nano /etc/systemd/system/teamspeak.service</pre>
sudo nano /etc/systemd/system/teamspeak.service
 
</code>
 
  
 
2. Добавьте конфигурацию:
 
2. Добавьте конфигурацию:
<code>
+
<pre>[Unit]</pre>
[Unit]
+
<pre>Description=TeamSpeak 3 Server</pre>
Description=TeamSpeak 3 Server
+
<pre>After=network.target</pre>
After=network.target
+
<pre>[Service]</pre>
 
+
<pre>Type=forking</pre>
[Service]
+
<pre>User=teamspeak</pre>
Type=forking
+
<pre>Group=teamspeak</pre>
User=teamspeak
+
<pre>WorkingDirectory=/home/teamspeak/teamspeak/teamspeak3-server</pre>
Group=teamspeak
+
<pre>ExecStart=/home/teamspeak/teamspeak/teamspeak3-server/ts3server_startscript.sh start</pre>
WorkingDirectory=/home/teamspeak/teamspeak/teamspeak3-server
+
<pre>ExecStop=/home/teamspeak/teamspeak/teamspeak3-server/ts3server_startscript.sh stop</pre>
ExecStart=/home/teamspeak/teamspeak/teamspeak3-server/ts3server_startscript.sh start
+
<pre>ExecReload=/home/teamspeak/teamspeak/teamspeak3-server/ts3server_startscript.sh restart</pre>
ExecStop=/home/teamspeak/teamspeak/teamspeak3-server/ts3server_startscript.sh stop
+
<pre>PIDFile=/home/teamspeak/teamspeak/teamspeak3-server/ts3server.pid</pre>
ExecReload=/home/teamspeak/teamspeak/teamspeak3-server/ts3server_startscript.sh restart
+
<pre>Restart=on-failure</pre>
PIDFile=/home/teamspeak/teamspeak/teamspeak3-server/ts3server.pid
+
<pre>RestartSec=5</pre>
Restart=on-failure
+
<pre>[Install]</pre>
RestartSec=5
+
<pre>WantedBy=multi-user.target</pre>
 
 
[Install]
 
WantedBy=multi-user.target
 
</code>
 
  
 
3. Перезагрузите systemd и включите автозапуск:
 
3. Перезагрузите systemd и включите автозапуск:
<code>
+
<pre>sudo systemctl daemon-reload</pre>
sudo systemctl daemon-reload
+
<pre>sudo systemctl enable teamspeak</pre>
sudo systemctl enable teamspeak
+
<pre>sudo systemctl start teamspeak</pre>
sudo systemctl start teamspeak
 
</code>
 
  
== 5. Настройка файрвола ===
+
== 5. Настройка файрвола ==
  
 
=== Настройка UFW ===
 
=== Настройка UFW ===
  
 
1. Разрешите порты TeamSpeak:
 
1. Разрешите порты TeamSpeak:
<code>
+
<pre>sudo ufw allow 9987/udp</pre>
sudo ufw allow 9987/udp
+
<pre>sudo ufw allow 10011/tcp</pre>
sudo ufw allow 10011/tcp
+
<pre>sudo ufw allow 30033/tcp</pre>
sudo ufw allow 30033/tcp
 
</code>
 
  
 
2. Проверьте статус:
 
2. Проверьте статус:
<code>
+
<pre>sudo ufw status</pre>
sudo ufw status
 
</code>
 
  
 
=== Настройка iptables ===
 
=== Настройка iptables ===
  
 
1. Разрешите порты через iptables:
 
1. Разрешите порты через iptables:
<code>
+
<pre>sudo iptables -A INPUT -p udp --dport 9987 -j ACCEPT</pre>
sudo iptables -A INPUT -p udp --dport 9987 -j ACCEPT
+
<pre>sudo iptables -A INPUT -p tcp --dport 10011 -j ACCEPT</pre>
sudo iptables -A INPUT -p tcp --dport 10011 -j ACCEPT
+
<pre>sudo iptables -A INPUT -p tcp --dport 30033 -j ACCEPT</pre>
sudo iptables -A INPUT -p tcp --dport 30033 -j ACCEPT
 
</code>
 
  
 
2. Сохраните правила:
 
2. Сохраните правила:
<code>
+
<pre>sudo iptables-save > /etc/iptables/rules.v4</pre>
sudo iptables-save > /etc/iptables/rules.v4
 
</code>
 
  
== 6. Настройка TeamSpeak ===
+
== 6. Настройка TeamSpeak ==
  
 
=== Основные настройки ===
 
=== Основные настройки ===
  
 
1. Отредактируйте файл конфигурации:
 
1. Отредактируйте файл конфигурации:
<code>
+
<pre>nano ~/teamspeak/teamspeak3-server/ts3server.ini</pre>
nano ~/teamspeak/teamspeak3-server/ts3server.ini
 
</code>
 
  
 
2. Настройте основные параметры:
 
2. Настройте основные параметры:
<code>
+
<pre>server_name=My TeamSpeak Server</pre>
# Основные настройки
+
<pre>server_password=</pre>
server_name=My TeamSpeak Server
+
<pre>server_admin_password=your_admin_password</pre>
server_password=
+
<pre>server_query_password=your_query_password</pre>
server_admin_password=your_admin_password
+
<pre>voice_ip=0.0.0.0</pre>
server_query_password=your_query_password
+
<pre>voice_port=9987</pre>
 
+
<pre>query_ip=0.0.0.0</pre>
# Настройки портов
+
<pre>query_port=10011</pre>
voice_ip=0.0.0.0
+
<pre>filetransfer_ip=0.0.0.0</pre>
voice_port=9987
+
<pre>filetransfer_port=30033</pre>
query_ip=0.0.0.0
+
<pre>log_level=3</pre>
query_port=10011
+
<pre>log_commands=1</pre>
filetransfer_ip=0.0.0.0
+
<pre>log_query_commands=1</pre>
filetransfer_port=30033
 
 
 
# Логирование
 
log_level=3
 
log_commands=1
 
log_query_commands=1
 
</code>
 
  
 
=== Настройка виртуальных серверов ===
 
=== Настройка виртуальных серверов ===
  
 
1. Создайте дополнительный виртуальный сервер:
 
1. Создайте дополнительный виртуальный сервер:
<code>
+
<pre>virtualserver_port=9988</pre>
# В ts3server.ini добавьте:
+
<pre>virtualserver_name=My Second Server</pre>
virtualserver_port=9988
 
virtualserver_name=My Second Server
 
</code>
 
  
 
2. Перезапустите сервер:
 
2. Перезапустите сервер:
<code>
+
<pre>sudo systemctl restart teamspeak</pre>
sudo systemctl restart teamspeak
 
</code>
 
  
== 7. Управление TeamSpeak ===
+
== 7. Управление TeamSpeak ==
  
 
=== Основные команды управления ===
 
=== Основные команды управления ===
  
 
* '''Запуск сервера''':
 
* '''Запуск сервера''':
<code>
+
<pre>sudo systemctl start teamspeak</pre>
sudo systemctl start teamspeak
 
</code>
 
  
 
* '''Остановка сервера''':
 
* '''Остановка сервера''':
<code>
+
<pre>sudo systemctl stop teamspeak</pre>
sudo systemctl stop teamspeak
 
</code>
 
  
 
* '''Перезапуск сервера''':
 
* '''Перезапуск сервера''':
<code>
+
<pre>sudo systemctl restart teamspeak</pre>
sudo systemctl restart teamspeak
 
</code>
 
  
 
* '''Проверка статуса''':
 
* '''Проверка статуса''':
<code>
+
<pre>sudo systemctl status teamspeak</pre>
sudo systemctl status teamspeak
 
</code>
 
  
 
* '''Просмотр логов''':
 
* '''Просмотр логов''':
<code>
+
<pre>sudo journalctl -u teamspeak -f</pre>
sudo journalctl -u teamspeak -f
 
</code>
 
  
 
=== Управление через TeamSpeak Query ===
 
=== Управление через TeamSpeak Query ===
  
 
1. Подключитесь к серверу:
 
1. Подключитесь к серверу:
<code>
+
<pre>telnet localhost 10011</pre>
telnet localhost 10011
 
</code>
 
  
 
2. Авторизуйтесь:
 
2. Авторизуйтесь:
<code>
+
<pre>login serveradmin your_query_password</pre>
login serveradmin your_query_password
 
</code>
 
  
 
3. Основные команды:
 
3. Основные команды:
<code>
+
<pre>serverinfo</pre>
# Просмотр информации о сервере
+
<pre>servercreate virtualserver_name=My Server virtualserver_port=9988</pre>
serverinfo
+
<pre>serverstop sid=1</pre>
 +
<pre>serverstart sid=1</pre>
  
# Создание виртуального сервера
+
== 8. Настройка резервного копирования ==
servercreate virtualserver_name=My Server virtualserver_port=9988
 
 
 
# Остановка сервера
 
serverstop sid=1
 
 
 
# Запуск сервера
 
serverstart sid=1
 
</code>
 
 
 
== 8. Настройка резервного копирования ===
 
  
 
=== Создание скрипта резервного копирования ===
 
=== Создание скрипта резервного копирования ===
  
 
1. Создайте скрипт бэкапа:
 
1. Создайте скрипт бэкапа:
<code>
+
<pre>nano /usr/local/bin/teamspeak-backup.sh</pre>
nano /usr/local/bin/teamspeak-backup.sh
 
</code>
 
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>
+
<pre>BACKUP_DIR="/backup/teamspeak"</pre>
#!/bin/bash
+
<pre>TEAMSPEAK_DIR="/home/teamspeak/teamspeak/teamspeak3-server"</pre>
 
+
<pre>DATE=$(date +%Y%m%d_%H%M%S)</pre>
BACKUP_DIR="/backup/teamspeak"
+
<pre>mkdir -p $BACKUP_DIR</pre>
TEAMSPEAK_DIR="/home/teamspeak/teamspeak/teamspeak3-server"
+
<pre>sudo systemctl stop teamspeak</pre>
DATE=$(date +%Y%m%d_%H%M%S)
+
<pre>tar -czf $BACKUP_DIR/teamspeak_backup_$DATE.tar.gz -C $TEAMSPEAK_DIR .</pre>
 
+
<pre>sudo systemctl start teamspeak</pre>
# Создание директории для бэкапа
+
<pre>find $BACKUP_DIR -name "teamspeak_backup_*.tar.gz" -mtime +7 -delete</pre>
mkdir -p $BACKUP_DIR
+
<pre>echo "Backup completed: teamspeak_backup_$DATE.tar.gz"</pre>
 
 
# Остановка сервера
 
sudo systemctl stop teamspeak
 
 
 
# Создание архива
 
tar -czf $BACKUP_DIR/teamspeak_backup_$DATE.tar.gz -C $TEAMSPEAK_DIR .
 
 
 
# Запуск сервера
 
sudo systemctl start teamspeak
 
 
 
# Удаление старых бэкапов (старше 7 дней)
 
find $BACKUP_DIR -name "teamspeak_backup_*.tar.gz" -mtime +7 -delete
 
 
 
echo "Backup completed: teamspeak_backup_$DATE.tar.gz"
 
</code>
 
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>
+
<pre>sudo chmod +x /usr/local/bin/teamspeak-backup.sh</pre>
sudo chmod +x /usr/local/bin/teamspeak-backup.sh
 
</code>
 
  
 
=== Настройка автоматического бэкапа ===
 
=== Настройка автоматического бэкапа ===
  
 
1. Добавьте задачу в crontab:
 
1. Добавьте задачу в crontab:
<code>
+
<pre>sudo crontab -e</pre>
sudo crontab -e
 
</code>
 
  
 
2. Добавьте строку для ежедневного бэкапа:
 
2. Добавьте строку для ежедневного бэкапа:
<code>
+
<pre>0 3 * * * /usr/local/bin/teamspeak-backup.sh</pre>
# Ежедневный бэкап в 3:00
 
0 3 * * * /usr/local/bin/teamspeak-backup.sh
 
</code>
 
  
== 9. Мониторинг TeamSpeak ===
+
== 9. Мониторинг TeamSpeak ==
  
 
=== Создание скрипта мониторинга ===
 
=== Создание скрипта мониторинга ===
  
 
1. Создайте скрипт мониторинга:
 
1. Создайте скрипт мониторинга:
<code>
+
<pre>nano /usr/local/bin/teamspeak-monitor.sh</pre>
nano /usr/local/bin/teamspeak-monitor.sh
 
</code>
 
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>
+
<pre>if systemctl is-active --quiet teamspeak; then</pre>
#!/bin/bash
+
<pre>echo "TeamSpeak server is running"</pre>
 
+
<pre>CONNECTIONS=$(netstat -an | grep :9987 | wc -l)</pre>
# Проверка статуса сервера
+
<pre>echo "Active connections: $CONNECTIONS"</pre>
if systemctl is-active --quiet teamspeak; then
+
<pre>MEMORY=$(ps aux | grep ts3server | grep -v grep | awk '{print $6}')</pre>
    echo "TeamSpeak server is running"
+
<pre>echo "Memory usage: $MEMORY KB"</pre>
   
+
<pre>else</pre>
    # Проверка подключений
+
<pre>echo "TeamSpeak server is not running"</pre>
    CONNECTIONS=$(netstat -an | grep :9987 | wc -l)
+
<pre>echo "TeamSpeak server is down" | mail -s "TeamSpeak Alert" admin@example.com</pre>
    echo "Active connections: $CONNECTIONS"
+
<pre>fi</pre>
   
 
    # Проверка использования памяти
 
    MEMORY=$(ps aux | grep ts3server | grep -v grep | awk '{print $6}')
 
    echo "Memory usage: $MEMORY KB"
 
   
 
else
 
    echo "TeamSpeak server is not running"
 
    # Отправка уведомления
 
    echo "TeamSpeak server is down" | mail -s "TeamSpeak Alert" admin@example.com
 
fi
 
</code>
 
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>
+
<pre>sudo chmod +x /usr/local/bin/teamspeak-monitor.sh</pre>
sudo chmod +x /usr/local/bin/teamspeak-monitor.sh
 
</code>
 
  
 
=== Настройка мониторинга ===
 
=== Настройка мониторинга ===
  
 
1. Добавьте задачу мониторинга в crontab:
 
1. Добавьте задачу мониторинга в crontab:
<code>
+
<pre>*/5 * * * * /usr/local/bin/teamspeak-monitor.sh</pre>
# Проверка каждые 5 минут
 
*/5 * * * * /usr/local/bin/teamspeak-monitor.sh
 
</code>
 
  
== 10. Настройка SSL/TLS ===
+
== 10. Настройка SSL/TLS ==
  
 
=== Генерация SSL сертификата ===
 
=== Генерация SSL сертификата ===
  
 
1. Создайте приватный ключ:
 
1. Создайте приватный ключ:
<code>
+
<pre>openssl genrsa -out teamspeak.key 2048</pre>
openssl genrsa -out teamspeak.key 2048
 
</code>
 
  
 
2. Создайте запрос на сертификат:
 
2. Создайте запрос на сертификат:
<code>
+
<pre>openssl req -new -key teamspeak.key -out teamspeak.csr</pre>
openssl req -new -key teamspeak.key -out teamspeak.csr
 
</code>
 
  
 
3. Создайте самоподписанный сертификат:
 
3. Создайте самоподписанный сертификат:
<code>
+
<pre>openssl x509 -req -days 365 -in teamspeak.csr -signkey teamspeak.key -out teamspeak.crt</pre>
openssl x509 -req -days 365 -in teamspeak.csr -signkey teamspeak.key -out teamspeak.crt
 
</code>
 
  
 
4. Скопируйте сертификаты в директорию TeamSpeak:
 
4. Скопируйте сертификаты в директорию TeamSpeak:
<code>
+
<pre>cp teamspeak.crt ~/teamspeak/teamspeak3-server/</pre>
cp teamspeak.crt ~/teamspeak/teamspeak3-server/
+
<pre>cp teamspeak.key ~/teamspeak/teamspeak3-server/</pre>
cp teamspeak.key ~/teamspeak/teamspeak3-server/
 
</code>
 
  
 
=== Настройка SSL в TeamSpeak ===
 
=== Настройка SSL в TeamSpeak ===
  
 
1. Отредактируйте конфигурацию:
 
1. Отредактируйте конфигурацию:
<code>
+
<pre>nano ~/teamspeak/teamspeak3-server/ts3server.ini</pre>
nano ~/teamspeak/teamspeak3-server/ts3server.ini
 
</code>
 
  
 
2. Добавьте настройки SSL:
 
2. Добавьте настройки SSL:
<code>
+
<pre>certificate_file=teamspeak.crt</pre>
# SSL настройки
+
<pre>private_key_file=teamspeak.key</pre>
certificate_file=teamspeak.crt
 
private_key_file=teamspeak.key
 
</code>
 
  
 
3. Перезапустите сервер:
 
3. Перезапустите сервер:
<code>
+
<pre>sudo systemctl restart teamspeak</pre>
sudo systemctl restart teamspeak
 
</code>
 
  
== 11. Устранение неполадок ===
+
== 11. Устранение неполадок ==
  
 
=== Частые проблемы ===
 
=== Частые проблемы ===
  
 
1. '''Сервер не запускается''':
 
1. '''Сервер не запускается''':
* Проверьте логи: <code>sudo journalctl -u teamspeak -f</code>
+
* Проверьте логи: <pre>sudo journalctl -u teamspeak -f</pre>
* Проверьте права доступа: <code>ls -la ~/teamspeak/teamspeak3-server/</code>
+
* Проверьте права доступа: <pre>ls -la ~/teamspeak/teamspeak3-server/</pre>
* Проверьте порты: <code>netstat -tlnp | grep 9987</code>
+
* Проверьте порты: <pre>netstat -tlnp | grep 9987</pre>
  
 
2. '''Клиенты не могут подключиться''':
 
2. '''Клиенты не могут подключиться''':
* Проверьте файрвол: <code>sudo ufw status</code>
+
* Проверьте файрвол: <pre>sudo ufw status</pre>
* Проверьте порты: <code>sudo netstat -tlnp | grep 9987</code>
+
* Проверьте порты: <pre>sudo netstat -tlnp | grep 9987</pre>
 
* Проверьте настройки сети
 
* Проверьте настройки сети
  
Строка 413: Строка 281:
  
 
1. Проверьте статус сервера:
 
1. Проверьте статус сервера:
<code>
+
<pre>sudo systemctl status teamspeak</pre>
sudo systemctl status teamspeak
 
</code>
 
  
 
2. Проверьте логи:
 
2. Проверьте логи:
<code>
+
<pre>sudo journalctl -u teamspeak --since "1 hour ago"</pre>
sudo journalctl -u teamspeak --since "1 hour ago"
 
</code>
 
  
 
3. Проверьте подключения:
 
3. Проверьте подключения:
<code>
+
<pre>netstat -an | grep :9987</pre>
netstat -an | grep :9987
 
</code>
 
  
== 12. Оптимизация производительности ===
+
== 12. Оптимизация производительности ==
  
 
=== Настройки производительности ===
 
=== Настройки производительности ===
  
 
1. Отредактируйте конфигурацию:
 
1. Отредактируйте конфигурацию:
<code>
+
<pre>nano ~/teamspeak/teamspeak3-server/ts3server.ini</pre>
nano ~/teamspeak/teamspeak3-server/ts3server.ini
 
</code>
 
  
 
2. Добавьте настройки производительности:
 
2. Добавьте настройки производительности:
<code>
+
<pre>server_max_clients=1000</pre>
# Настройки производительности
+
<pre>server_max_connections_per_ip=10</pre>
server_max_clients=1000
+
<pre>server_bandwidth_limit=0</pre>
server_max_connections_per_ip=10
+
<pre>server_bandwidth_limit_per_user=0</pre>
server_bandwidth_limit=0
+
<pre>server_cache_size=100</pre>
server_bandwidth_limit_per_user=0
+
<pre>server_cache_time=300</pre>
 
 
# Настройки кэширования
 
server_cache_size=100
 
server_cache_time=300
 
</code>
 
  
 
=== Мониторинг производительности ===
 
=== Мониторинг производительности ===
  
 
1. Создайте скрипт мониторинга:
 
1. Создайте скрипт мониторинга:
<code>
+
<pre>nano /usr/local/bin/teamspeak-stats.sh</pre>
nano /usr/local/bin/teamspeak-stats.sh
 
</code>
 
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>
+
<pre>echo "=== TeamSpeak Server Statistics ==="</pre>
#!/bin/bash
+
<pre>echo "Server Status: $(systemctl is-active teamspeak)"</pre>
 
+
<pre>echo "Uptime: $(systemctl show teamspeak --property=ActiveEnterTimestamp --value)"</pre>
echo "=== TeamSpeak Server Statistics ==="
+
<pre>echo "Memory Usage: $(ps aux | grep ts3server | grep -v grep | awk '{print $4"%"}')"</pre>
echo "Server Status: $(systemctl is-active teamspeak)"
+
<pre>echo "CPU Usage: $(ps aux | grep ts3server | grep -v grep | awk '{print $3"%"}')"</pre>
echo "Uptime: $(systemctl show teamspeak --property=ActiveEnterTimestamp --value)"
+
<pre>echo "Active Connections: $(netstat -an | grep :9987 | wc -l)"</pre>
echo "Memory Usage: $(ps aux | grep ts3server | grep -v grep | awk '{print $4"%"}')"
 
echo "CPU Usage: $(ps aux | grep ts3server | grep -v grep | awk '{print $3"%"}')"
 
echo "Active Connections: $(netstat -an | grep :9987 | wc -l)"
 
</code>
 
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>
+
<pre>sudo chmod +x /usr/local/bin/teamspeak-stats.sh</pre>
sudo chmod +x /usr/local/bin/teamspeak-stats.sh
 
</code>
 
  
 
== Заключение ==
 
== Заключение ==

Текущая версия на 10:41, 15 октября 2025

Содержание

Установка TeamSpeak 3 server

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Убедитесь, что у вас есть доступ к серверу через SSH или консоль.

2. Создание пользователя для TeamSpeak

Создание пользователя

1. Создайте пользователя для TeamSpeak:

sudo useradd -m -s /bin/bash teamspeak

2. Установите пароль для пользователя:

sudo passwd teamspeak

3. Переключитесь на пользователя teamspeak:

sudo su - teamspeak

3. Установка TeamSpeak 3 Server

Скачивание TeamSpeak

1. Создайте директорию для TeamSpeak:

mkdir -p ~/teamspeak
cd ~/teamspeak

2. Скачайте последнюю версию TeamSpeak 3 Server:

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

3. Распакуйте архив:

tar -xjf teamspeak3-server_linux_amd64-3.13.7.tar.bz2

4. Переименуйте директорию:

mv teamspeak3-server_linux_amd64 teamspeak3-server
cd teamspeak3-server

Настройка прав доступа

1. Установите правильные права:

chmod +x ts3server_startscript.sh
chmod +x ts3server

2. Создайте директорию для логов:

mkdir -p logs

4. Первый запуск TeamSpeak

Запуск сервера

1. Запустите TeamSpeak сервер:

./ts3server_startscript.sh start

2. При первом запуске вы получите:

  • ServerAdmin privilege key - сохраните его!
  • ServerQuery Admin login - логин и пароль для администрирования

3. Остановите сервер:

./ts3server_startscript.sh stop

Настройка автозапуска

1. Создайте systemd сервис:

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

2. Добавьте конфигурацию:

[Unit]
Description=TeamSpeak 3 Server
After=network.target
[Service]
Type=forking
User=teamspeak
Group=teamspeak
WorkingDirectory=/home/teamspeak/teamspeak/teamspeak3-server
ExecStart=/home/teamspeak/teamspeak/teamspeak3-server/ts3server_startscript.sh start
ExecStop=/home/teamspeak/teamspeak/teamspeak3-server/ts3server_startscript.sh stop
ExecReload=/home/teamspeak/teamspeak/teamspeak3-server/ts3server_startscript.sh restart
PIDFile=/home/teamspeak/teamspeak/teamspeak3-server/ts3server.pid
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target

3. Перезагрузите systemd и включите автозапуск:

sudo systemctl daemon-reload
sudo systemctl enable teamspeak
sudo systemctl start teamspeak

5. Настройка файрвола

Настройка UFW

1. Разрешите порты TeamSpeak:

sudo ufw allow 9987/udp
sudo ufw allow 10011/tcp
sudo ufw allow 30033/tcp

2. Проверьте статус:

sudo ufw status

Настройка iptables

1. Разрешите порты через iptables:

sudo iptables -A INPUT -p udp --dport 9987 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 10011 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 30033 -j ACCEPT

2. Сохраните правила:

sudo iptables-save > /etc/iptables/rules.v4

6. Настройка TeamSpeak

Основные настройки

1. Отредактируйте файл конфигурации:

nano ~/teamspeak/teamspeak3-server/ts3server.ini

2. Настройте основные параметры:

server_name=My TeamSpeak Server
server_password=
server_admin_password=your_admin_password
server_query_password=your_query_password
voice_ip=0.0.0.0
voice_port=9987
query_ip=0.0.0.0
query_port=10011
filetransfer_ip=0.0.0.0
filetransfer_port=30033
log_level=3
log_commands=1
log_query_commands=1

Настройка виртуальных серверов

1. Создайте дополнительный виртуальный сервер:

virtualserver_port=9988
virtualserver_name=My Second Server

2. Перезапустите сервер:

sudo systemctl restart teamspeak

7. Управление TeamSpeak

Основные команды управления

  • Запуск сервера:
sudo systemctl start teamspeak
  • Остановка сервера:
sudo systemctl stop teamspeak
  • Перезапуск сервера:
sudo systemctl restart teamspeak
  • Проверка статуса:
sudo systemctl status teamspeak
  • Просмотр логов:
sudo journalctl -u teamspeak -f

Управление через TeamSpeak Query

1. Подключитесь к серверу:

telnet localhost 10011

2. Авторизуйтесь:

login serveradmin your_query_password

3. Основные команды:

serverinfo
servercreate virtualserver_name=My Server virtualserver_port=9988
serverstop sid=1
serverstart sid=1

8. Настройка резервного копирования

Создание скрипта резервного копирования

1. Создайте скрипт бэкапа:

nano /usr/local/bin/teamspeak-backup.sh

2. Добавьте содержимое:

BACKUP_DIR="/backup/teamspeak"
TEAMSPEAK_DIR="/home/teamspeak/teamspeak/teamspeak3-server"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
sudo systemctl stop teamspeak
tar -czf $BACKUP_DIR/teamspeak_backup_$DATE.tar.gz -C $TEAMSPEAK_DIR .
sudo systemctl start teamspeak
find $BACKUP_DIR -name "teamspeak_backup_*.tar.gz" -mtime +7 -delete
echo "Backup completed: teamspeak_backup_$DATE.tar.gz"

3. Сделайте скрипт исполняемым:

sudo chmod +x /usr/local/bin/teamspeak-backup.sh

Настройка автоматического бэкапа

1. Добавьте задачу в crontab:

sudo crontab -e

2. Добавьте строку для ежедневного бэкапа:

0 3 * * * /usr/local/bin/teamspeak-backup.sh

9. Мониторинг TeamSpeak

Создание скрипта мониторинга

1. Создайте скрипт мониторинга:

nano /usr/local/bin/teamspeak-monitor.sh

2. Добавьте содержимое:

if systemctl is-active --quiet teamspeak; then
echo "TeamSpeak server is running"
CONNECTIONS=$(netstat -an | grep :9987 | wc -l)
echo "Active connections: $CONNECTIONS"
MEMORY=$(ps aux | grep ts3server | grep -v grep | awk '{print $6}')
echo "Memory usage: $MEMORY KB"
else
echo "TeamSpeak server is not running"
echo "TeamSpeak server is down" | mail -s "TeamSpeak Alert" admin@example.com
fi

3. Сделайте скрипт исполняемым:

sudo chmod +x /usr/local/bin/teamspeak-monitor.sh

Настройка мониторинга

1. Добавьте задачу мониторинга в crontab:

*/5 * * * * /usr/local/bin/teamspeak-monitor.sh

10. Настройка SSL/TLS

Генерация SSL сертификата

1. Создайте приватный ключ:

openssl genrsa -out teamspeak.key 2048

2. Создайте запрос на сертификат:

openssl req -new -key teamspeak.key -out teamspeak.csr

3. Создайте самоподписанный сертификат:

openssl x509 -req -days 365 -in teamspeak.csr -signkey teamspeak.key -out teamspeak.crt

4. Скопируйте сертификаты в директорию TeamSpeak:

cp teamspeak.crt ~/teamspeak/teamspeak3-server/
cp teamspeak.key ~/teamspeak/teamspeak3-server/

Настройка SSL в TeamSpeak

1. Отредактируйте конфигурацию:

nano ~/teamspeak/teamspeak3-server/ts3server.ini

2. Добавьте настройки SSL:

certificate_file=teamspeak.crt
private_key_file=teamspeak.key

3. Перезапустите сервер:

sudo systemctl restart teamspeak

11. Устранение неполадок

Частые проблемы

1. Сервер не запускается:

  • Проверьте логи:
    sudo journalctl -u teamspeak -f
  • Проверьте права доступа:
    ls -la ~/teamspeak/teamspeak3-server/
  • Проверьте порты:
    netstat -tlnp | grep 9987

2. Клиенты не могут подключиться:

  • Проверьте файрвол:
    sudo ufw status
  • Проверьте порты:
    sudo netstat -tlnp | grep 9987
  • Проверьте настройки сети

3. Высокое использование CPU/памяти:

  • Проверьте количество подключений
  • Оптимизируйте настройки сервера
  • Рассмотрите возможность масштабирования

Диагностика

1. Проверьте статус сервера:

sudo systemctl status teamspeak

2. Проверьте логи:

sudo journalctl -u teamspeak --since "1 hour ago"

3. Проверьте подключения:

netstat -an | grep :9987

12. Оптимизация производительности

Настройки производительности

1. Отредактируйте конфигурацию:

nano ~/teamspeak/teamspeak3-server/ts3server.ini

2. Добавьте настройки производительности:

server_max_clients=1000
server_max_connections_per_ip=10
server_bandwidth_limit=0
server_bandwidth_limit_per_user=0
server_cache_size=100
server_cache_time=300

Мониторинг производительности

1. Создайте скрипт мониторинга:

nano /usr/local/bin/teamspeak-stats.sh

2. Добавьте содержимое:

echo "=== TeamSpeak Server Statistics ==="
echo "Server Status: $(systemctl is-active teamspeak)"
echo "Uptime: $(systemctl show teamspeak --property=ActiveEnterTimestamp --value)"
echo "Memory Usage: $(ps aux | grep ts3server | grep -v grep | awk '{print $4"%"}')"
echo "CPU Usage: $(ps aux | grep ts3server | grep -v grep | awk '{print $3"%"}')"
echo "Active Connections: $(netstat -an | grep :9987 | wc -l)"

3. Сделайте скрипт исполняемым:

sudo chmod +x /usr/local/bin/teamspeak-stats.sh

Заключение

TeamSpeak 3 сервер успешно установлен и настроен! Теперь вы можете создавать голосовые серверы для команд.

Для размещения ваших TeamSpeak серверов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой TeamSpeak и оптимизацией производительности вашего сервера!