Есть идея отказаться от дальнейшей затеи с запускалками(лаунчерами) модов:
Моды мы продолжаем ставить пакетами, но в них будет отсутствовать черное окно с кнопкой запуска.
Моды мы запускаем через Xash3D FWGS, при этом в выпадающем списке должны быть, найденные по какому-то уникальному идентификатору, appname пакетов с установленными модами, возможно версия пакета и возможность указать отдельно директорию мода.
Вместо параметров коммандной строки должны быть конкретные элементы интерфейса вроде чекбокса или слайдера.
Пакеты будут иметь наименование навроде su.xash.\<modfolder> или su.xash.\<modname>.\<modfolder>, где modfolder подразумевает папку модификации подключаемую с ключом -game, а modname нужен для исключения конфликта пакетов.
Мы исключаем использование архивов формата Quake Pack(.pak) и любых других, ассеты помещаются в пакет как есть.
Так как мы в данный момент собираем Half-Life SDK из ветки mobile_hacks c поддержкой некоторых простеньких модов, у которых мало изменений в коде имеет смысл добавить выпадающий список с этими модами для удобства пользователя плюс возможно стоит добавить список модов, которые не имеют своей собственной логики, но разделить это все по категориям(без библиотек, mobile_hacks, с библиотеками).
Ботов оформленных в виде отдельных библиотек работающих как прослойки между библиотеками движка и сервера мы оформляем как отдельные пакеты, при этом как имя пакета берем например su.xash.bot.\<botname>.\<modfolder>.
С ассетами любого пакета должна идти информация о моде, ссылка на скачивание ресурсов и возможно файл настроек + список модов и их директорий если на библиотеках этого мода работает несколько модификаций(допустим это тулкит вроде PrimeXT, Spirit of Half-Life или Opposing Force) или это бот, при этом файл настроек включает список ключей, тип параметра передаваемого с ключом, дефолтное значение ключа и изменяемое/неизменямое.
В идеале c учетом всех изменений указаных выше должны создаваться корректные ярлыки.
~Должно быть предусмотрено решение для возможного порта amxmodx и его модулей.~
Есть идея отказаться от дальнейшей затеи с запускалками(лаунчерами) модов:
modfolder
подразумевает папку модификации подключаемую с ключом-game
, аmodname
нужен для исключения конфликта пакетов.