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

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

Текущая версия на 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 и оптимизацией производительности вашего сервера!