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