Данный гайд является компиляцией разных выдержек из сети и собственных раскопок по созданию плагинов и ресурсов (иконки, звуковые файлы, переводы) с дальнейшим распространением для клиента TS3.
Внимание, в статье будет много технических выдержек.
В Windows инсталятор клиента регистрирует в реестре приложение package_inst.exe с расширениями файлов (в дальнейшем в статье любой из этих файлов буду называть плагином):
.ts3_addon - компиляция из нескольких ниже приведенных ресурсов, например иконки+стиль
.ts3_iconpack - иконки
.ts3_plugin - плагин
.ts3_soundpack - звуковые файлы
.ts3_style - стиль
.ts3_translation - переводКод:Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.ts3_addon] @="ts3addon" [HKEY_CLASSES_ROOT\.ts3_iconpack] @="ts3addon" [HKEY_CLASSES_ROOT\.ts3_plugin] @="ts3addon" [HKEY_CLASSES_ROOT\.ts3_soundpack] @="ts3addon" [HKEY_CLASSES_ROOT\.ts3_style] @="ts3addon" [HKEY_CLASSES_ROOT\.ts3_translation] @="ts3addon" [HKEY_CLASSES_ROOT\ts3addon] @="TeamSpeak Add-On" [HKEY_CLASSES_ROOT\ts3addon\DefaultIcon] @="C:\\Program Files\\TeamSpeak 3 Client\\package_inst.exe,0" [HKEY_CLASSES_ROOT\ts3addon\shell] [HKEY_CLASSES_ROOT\ts3addon\shell\open] [HKEY_CLASSES_ROOT\ts3addon\shell\open\command] @="\"C:\\Program Files\\TeamSpeak 3 Client\\package_inst.exe\" \"%1\""
Для запуска встроенного установщика под Linux (возможно и под Mac, не проверял):
иначе, без cd (перехода в каталог), получите Segmentation Fault.Код:cd /каталог_куда_установлен_клиент/ export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./package_inst /путь_к_файлу/skin.ts3_style
и без export:Сама возможность установки данные расширения файлов появилась с версии клиента 3.0.0-rc2 (08 Jun 2011).Код:./package_inst: error while loading shared libraries: libc++.so.1: cannot open shared object file: No such file or directory
Для восстановления регистраций файлов можно запустить createfileassoc.exe из каталога с установленным приложением (%Program Files%\TeamSpeak 3 Client\createfileassoc.exe).
Расширение файла несет только логическую связь что-есть-что. Например, в стиле (ts3_style) может распространятся перевод (ts3_translation). Ошибки в этом не будет, но лучше так не делать. Что точно там лежит определяется по содержимому файла package.ini.
Сам плагин представляет из себя ZIP архив с определенной структурой:
т.е., структура каталогов как и установленного клиента. В каком каталоге что лежит, думаю понятно из названий. Названия каталогов к корне плагина фильтруются.Код:file.ts3_addon |-- gfx/ |-- plugins/ |-- sound/ |-- styles/ |-- translations/ package.ini
package.ini представляет из себя обычный INI-файл. Кодировка UTF8 без BOM.
Содержимое файла package.ini на примере из скрина выше:
Type: Тип плагина. Должен соответствовать суффиксу расширению файла или указано несколько значений через запятую, например: Iconpack, Style.Код:Name = Русификатор TS3 3.0.13.1 Type = Перевод Author = PaCTa MyTeamSpeak.ru Version = 1.0 Platforms = win32, win64, linux_x86, linux_amd64, mac Description = "Русификатор клиентской части для TeamSpeak 3 клиента версии 3.0.13.1 от <a href=http://myteamspeak.ru> Мой TeamSpeak — русскоязычное сообщество TeamSpeak</a>"
Platforms: Поддерживаемые платформы, допустимые значения, разделенные запятыми: win32, win64, linux_x86, linux_amd64, mac. Установщик проверяет это поле, если платформа не совпадет, то увидите такое сообщение с невозможной дальнейшей установкой:Допускается не перечислять все платформы, оставив поле пустым. В этом случае в поле Платформа будет слово "Все".
Description: Описание плагина, в двойных кавычках,
Официальный ответ на найденный баг в коде.
поддерживаются HTML-тегов с стилями (style="*"). высота поля ≈9 строк. Вложенные кавычки экранировать слешем \" или вместо них использовать одинарные кавычки. Некоторые теги и значения в стиле экранируются или не работают как надо:
<a> - ссылки. Только подчеркнет.
<img> - изображения. Покажет свою картинку-заглушку. Можно вставлять картинки в base64.<iframe> - фрейм.Код:Description = "<img src=\"data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7 \"></img> <br /> <span style=\"background:url(data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7) top left no-repeat;\"> </span>"
<.. style="font-size:*em"> - только для em. px и pt работают.
JavaScript, включая события: onClick, onLoad и т.д.Остальные значения заполняются plain-текстом. HTML не работает.
Если в плагине распространяются одноименный(ые) файл(ы) под разные платформы, то можно переименовать его с указанием платформы (win32, win64, ...) через нижнее подчеркивание. например:
plugin.dll переименовать в plugin_win32.dllДля запуска установщика в скрытом режиме без запросов надо запустить с параметром -silent.
"%Program Files%\TeamSpeak 3 Client\package_inst.exe" -silent "путь_к_файлу\file.ts3_addon"
ссылки: TeamSpeak 3 Package Installer, Feedback about the "TeamSpeak 3 Package Installer"
PS. Чтобы не полетели помидоры в РаСТу: в этой статье был показан старый плагин и на то время было трудно собрать нужную инфу, а поддержка как всегда морозится и не отвечает :)
-
Скрыть объявление
Рады видеть Вас на русскоязычном форуме TeamSpeak!
У нас Вы можете скачать последнюю версию:
- Клиент TeamSpeak 3;
- Русификатор TeamSpeak 3;
- Сервер TeamSpeak 3;
- Найти много всего интересного
Перед регистрацией рекомендуем ознакомиться
Присоединяйтесь! Учите и обучайтесь!
-
Новая группа "Новичок" на нашем форуме!
Новые пользователи будут попадать в группу "Новичок".
Это сделано для того чтобы "Новички" ознакомились с форумом, так как в большинстве случаев проблема с которой вы хотите обратиться уже обсуждалась.
Перейти в тему обсуждения
Быстрый переход в группу Пользователь -
VPS/VDS и дедикейт сервера в аренду с DDoS защитой
- Низкий пинг
- Действующий SLA
- Рублевые цены без привязки к курсу валют
Бесплатный тестовый период VPS-OpenVZ
Попробовать
Как создавать и распространять плагины
Инструкция по плагинам и ресурсам TS3