Разработчики анонсировали выход новой версии популярного сервера для голосового сетевого общения TeamSpeak 3 Server 3.0.11.1. Она доступна на официальном сайте в разделе Download. К обновлению следует подойти со всем вниманием.
В плагине для работы с базой данных MySQL были произведены большие изменения относительно клиентских запросов и прав доступа. Крайне рекомендуется перед обновлением сделать резервную копию базы данных.
Наиболее значимые изменения в этой версии такие:
- MySQL-плагин был переработан на работу с MariaDB. Теперь, если вы не хотите использовать хранение данных в базе данных по умолчанию sqlite, потребуется MYSQL 5.5.3 или MariaDB 5.5. Вам потребуется также конвертация текущей MySQL-базы для поддержки MariaDB и utf8mb4. Все подробности указаны в документации.
- Многие владельцы серверов страдали от заспамливания чатов и каналов сообщениями-запросами от посетителей. С этой версии права на ServerQuery по умолчанию отключены.
- Запросы пользователей на авторизацию теперь привязаны к серверу, где они были созданы, и передаются только этим серверам. На всех остальных виртуальных серверах пользователи будут распознаваться как гости.
Наиболее интересное в новости — переход от MySQL к MariaDB. MariaDB — это ответвление от MySQL, которую создал один из разработчиков MySQL — Майкл Видениус. При обратной совместимости с MySQL, MariaDB имеет ряд улучшений, о которых можно прочитать на официальном сайте продукта — https://mariadb.org/
Причины перехода, которые указали разработчики TeamSpeak Server, следующие. Следование модному тренду многих крупных компаний, более интересная политика лицензирования у MariaDB, а также нежелание следовать за Oracle с их MySQL.
В числе технических причин перехода — полная поддержка UTF8. С момента выхода TeamSpeak 3 в 2009 г. возможность работы базы данных TeamSpeak с набором символов «utf8mb4» была недоступна. Этот набор был представлен в MySQL 5.5.3, но к тому моменту разработчики уже приняли решение о переходе на MariaDB.
Для перехода от MySQL к MariaDB потребуется выполнить два скрипта (не забудьте сделать резервную копию базы данных перед этим), которые находятся в поддиректории sql/updates_and_fixes официального дистрибутива.
-
convert_mysql_to_mariadb.sql
Этот скрипт конвертирует все таблицы на использование таблицы символов «utf8mb4» и добавляет новую таблицу teamspeak3_metadata, сигнализируя плагину ts3db_mariadb, что база данных сконвертирована.
-
convert_mysql_to_mariadb.sql
Из-за ошибки в старом плагине ts3db_mysql, весь текст, отправляемый сервером в базу данных, распознавался как набор символов «latin1» даже когда мы отправляли его в UTF8. Теперь вся текстовая информация будет перезаписана в базе данных уже как utf8 и потом как utf8(mb4). Этот скрипт произведет двойную перекодировку и исправит возможные проблемы. Сделать это следует в том случае, если вы специально не пересобирали libmysqlclient для работы с utf8 по умолчанию. Если вы затрудняетесь на это ответить, то точно нужно запустить этот скрипт.
Если у вас возникнут какие-либо затруднения по тексту с выполнением обновления, можете спрашивать в комментариях. В особо сложных случаях рекомендую обратиться в поддержку, где все выполнят быстро и качественно.