Перейти к содержанию

Вклад

Будучи проектом с открытым исходным кодом, mastercomfig благодарит сообщество за помощь в его улучшении.

Мы приветствуем взносы любого типа и размера от всех желающих!

Сообщения о проблемах

Мы всегда приветствуем сообщения о проблемах, будь то сообщения об ошибках или пожелания о возможностях, вы можете помочь направить развитие mastercomfig для удовлетворения ваших потребностей и улучшения mastercomfig для всех!

Свяжитесь с правообладателем

В настоящее время mastercomfig поддерживается mastercoms. Вы можете связаться со мной по Steam, Reddit,или по адресу электронной почты [email protected]. Буду рад обсудить любые проблемы или ваши предложения по mastercomfig.

Документация

У вас есть снимок экрана, обходной путь или что-нибудь еще интересное, которым вы хотели бы поделиться?

Вы переводчик и хотите добавить или улучшить документацию на своем родном языке?

Внесите свой вклад в документацию, нажав кнопку редактирования на любой странице, которую вы хотите изменить!

Вы также можете взглянуть на полная папка с исходниками чтобы добавить новые файлы или осмотреться.

Добавление нового языка

Вы можете просмотреть поддерживаемые в настоящее время языки тут.

Добавьте свой язык и его родное название в plugins.i18n.languages внутри mkdocs.yml.

Добавление контента на языке

Добавьте .[lang] перед типом файла.

Например, index.ru.md или logo.ru.png.

Ссылка на контент на локализованной странице

При ссылке на контент, например при вложении изображения или ссылке на другую страницу, вы можете напрямую ссылаться на базовый контент без использования какого-либо языка.

Например, ![изображение](logo.png) или [ссылка](./folder/page.md). Он автоматически ссылается на переведенную версию или возвращается к версии по умолчанию, если не найден.

Локализация заголовков страниц

Переведенные заголовки страниц необходимо добавить в mkdocs.yml и mkdocs.base.yml в разделе nav_translations.

Проверка комментариев

Документация автоматически проверяется с помощью remark через GitHub Actions на предмет ошибок линтинга, используя pnpm lint.

Время от времени достоверность ссылки также можно проверять с помощью pnpm checklinks. Это не запускается автоматически из-за ложных срабатываний.

Кроме того, качество английской прозы можно проверить с помощью pnpm prose. Это не выполняется автоматически из-за субъективной природы написания текстов.

Поддержка

Вы можете помочь пользователям, которые задают вопросы на Discord.

Конфигурация

Хотите внести свой вклад в сам конфиг? Начало здесь!

Начало

Конфиг имеет определенный стандарт качества для ссылок и не принимает изменения, основанные на простых слухах или предположениях.

Каждая настройка и изменение должны основываться на информации найденой в Team Fortress 2 сообщениях в блоге/заметки об обновлениях, Вики-сайт разработчиков Valve, и Исходниках SDK, поэтому убедитесь, что они доступны вам, прежде чем начать вносить свой вклад. Переопределения файлов, такие как поддержка DX, кэш шейдеров, предварительная загрузка текстур и предварительное кэширование клиента. должен обновляться в соответствии с изменениями отслеживается базой данных Steam.

Найти задачу

В файлах могут быть TODO, которые необходимо выполнить, проблемы, которые нужно закрыть, а может вы придумали что-то новое. Для любого варианта из этих, обязательно сообщите, что собираетесь внести свой вклад в решение этой проблемы или внедрите эту функцию, чтобы не было дублирования работы.

Внесение изменений

Перво-наперво: используйте пробелы (без табуляции) и окончания строк CRLF для конфигураций и продолжите соглашение Valve в других файлах переопределения. Убедитесь, что в конце строк нет пробелов в конце строк.

Параметры запуска

Параметры запуска описаны в документации и имеют следующий вид:

**-launchoption** : описание параметра запуска

Убедитесь, что описание не в предложении и начинается со строчной буквы. Дополнительные примечания после описания представляют собой предложения.

В настоящее время существует 4 категории для вариантов запуска:

  • Recommended: Этот параметр запуска должны использовать все, поскольку они выгодны всем пользователям
  • Extra: Этот параметр запуска, который люди считают личными предпочтениями или для случаев использования, которые не могут быть применены ко всем пользователям.
  • Uncommon: Этот параметр запуска, который большинство людей не будут использовать, но которые все равно удовлетворяют требованиям.
  • Experimental: Этот параметр запуска, который тестируется, чтобы быть перенесенными в другое место, поскольку их последствия не ясны

Поместите свой параметр запуска в соответствующий раздел, и если он находится в Recommended добавьте его в строку параметров запуска для копирования.

Вот списки параметров запуска, которые вам помогут:

Информацию об их генерации можно найти здесь.

Конфигурация и предустановки

Примечание: дополнительную информацию о конфигурации можно найти здесь.

Добавьте такие опции:

convar 0 // Что делает команда и немного о том, что делает это
        // значение по умолчанию, возможно, с указанием причин, по которым оно является значением по умолчанию
//convar 1 // Что делает эта альтернатива

Как вы можете видеть, значения ConVar по умолчанию находятся в начале, а альтернативные - после. В отличие от параметров запуска, используйте регистр предложения. Избегайте пунктуации, если не используется несколько предложений.

CVarlist

ConVars и команды можно найти с помощью данной инструкции.

Добавьте свои альтернативы без комментариев в соответствующие пресеты/аддоны или используйте модули.

Аддоны
  • no-footsteps: Удаляет звуки шагов
  • disable-pyroland: Удалены текстуры карты Pyroland
  • no-soundscapes: Удаляет звуковые ландшафты (окружающий шум карты) и шум птиц
  • no-tutorial: Отключение обучающих сообщений и других всплывающих окон
  • flat-mouse: Делает ввод мыши “плоским” со стабильным вводом, без ускорения и чувствительностью к масштабированию 1:1
  • opengl: Обеспечивает дополнительную оптимизацию для OpenGL (macOS и Linux)
  • transparent-viewmodels: Включает поддержку прозрачных моделей обзора
  • null-canceling-movement:Предотвращает нажатие в двух противоположных направлениях, что приводит к остановке движения
  • lowmem: Оптимизация, которая обычно не влияет на качество для систем с малым объемом памяти (ОЗУ) (2 ГБ и ниже).
Модули

Если ваши настройки каким-либо образом влияют на качество, создайте новый модуль или измените существующие модули, если это применимо, а затем добавьте документацию для него на странице документации по модулям.

Первая часть добавления модулей - это многоступенчатый процесс в config/mastercomfig/cfg/comfig/comfig.cfg:

  • Добавьте псевдонимы на уровне модуля (модулей). (alias module_level "cvar1 1;cvar2 0). Для каждой команды в модуле все уровни должны установить эту команду, если только она не влияет на данный уровень.
  • Добавьте псевдоним (псевдонимы) уровня установленного модуля. (alias module=level"alias module module_level").
  • Возможно, настроить пресеты в config/cfg/presets чтобы использовать новый модуль или уровни для существующего модуля.

Если вы добавляете новый модуль, вам также нужно будет добавить новую запись в module внутри config/mastercomfig/cfg/comfig/modules_run.cfg

Вам также нужно добавить новый модуль или уровни в data/modules.json для поддержки приложений.

Список предварительно загруженных текстур

Файл texture_preload_list.txt предназначен для указания Team Fortress 2, какие текстуры загружать при запуске. Удалите все несуществующие текстуры из текстур по умолчанию, если есть большое обновление TF2, а затем добавьте свои изменения. Предварительно загруженные текстуры должны быть достаточно распространенными, чтобы гарантировать дополнительное время запуска и использование памяти.

Предварительный кэш клиента

Файл scripts/client_precache.txt похож на список предварительной загрузки текстур, но он предназначен для звуков и моделей. Также аналогично списку предварительной загрузки текстур удалите все несуществующие записи а затем добавьте свои изменения, убедитесь, что записи в предварительном кэше достаточно распространены, чтобы гарантировать дополнительное время запуска и использование памяти.

Кэш шейдеров

Кэш пары шейдеров OpenGL расположен в glbaseshaders.cfg и glbaseshaders_osx.cfg. Это хранилище значений для каждой шейдерной программы, представляющее собой индексированный подраздел. Первое значение это имя вертексного шейдера, второе имя пиксельного шейдера, третье статический индекс вертексного шейдера, четвертое статический индекс пиксельного шейдера, пятое динамический индекс вертексного шейдера и шестое динамический индекс пиксельного шейдера.

В этих файлах указывается, какие шейдеры игра должна предварительно кэшировать в качестве базовых. Он также сохраняет найденные шейдеры в файл glshaders.cfg, который прекешируется поверх базы.

Поддержка DX

Отредактируйте dxsupport_override.cfg и установите скрытые ConVars и другие настройки в соответствии с аппаратным обеспечением и уровнем DirectX. Убедитесь в отсутствии обновлений этого файла из репозитория игры (маловероятно, последний раз он обновлялся в 2013 году), прежде чем вносить изменения.

Переопределения в игре

Некоторые ConVars устанавливаются не так, как указано автором карты, поэтому мы должны переопределить их. В настоящее время это делается в модулях.

Переопределения поддержки DX

Некоторые ConVars невозможно установить в игре, даже при наличии определений поддержки DX. Таким образом, некоторые пресеты имеют пользовательские пакеты определений установливается значение в поддержке DX.

Создание своего пулл реквеста

Ура! Вы внесли свои изменения, и теперь пришло время отправить их для включения в конфигурацию. Создать пулл реквест и назовите его как-нибудь красиво и описательно! В своем сообщении приведите объяснение изменений, почему вы их внесли, а также любую другую информацию, которую вы считаете важной.

Тестирование изменений конфигурации

Перед внесением или принятием изменений в конфигурацию рекомендуется выполнить несколько шагов конфигурацию. Вы можете использовать Fraps или MSI Afterburner для измерения FPS в матчах.

Тестирование

Используйте новый тестовый эталон для проведения базового тестирования настроек.

Игра с ботами

После получения положительных результатов в бенчмарке измерьте средний FPS в локальном матче с ботами на 32 игрока на pl_upward. (используйте +maxplayers 32 в параметрах запуска).

Казуальная игра

После того как результаты локальной игры с ботами будут положительными, измерьте средний FPS в заполненной случайной игре.

Упаковка

Обычно вам не нужно этого делать, но вы можете сгенерировать VPK-пакеты для всех пресетов и аддонов. Используйте скрипт package.sh в папке dev/. Вы можете узнать больше о скриптах dev в dev/README.md.

Для успешной установки пресетов и аддонов вам потребуется:

  • установленные TF2 и Steam со всеми зависимостями

  • bash и основные инструменты UNIX

  • VPK

  • gh

  • Вы должны предварительно пройти аутентификацию, например, с помощью gh авторизации, или переменной env GH_TOKEN

  • GNU параллель (опционально)

Кроме того, чтобы сгенерировать аддон No Tutorial, вам нужно будет создать новый файл в dev/ под названием mastercomfig-vars, содержащий следующее:

#!/bin/sh
export TF2_DIR="абсолютный путь к вашей директории Team Fortress 2"

Эта переменная также может быть получена из системного окружения.

Выпуск и анонсирование скриптов

Если вы хотите протестировать скрипты, которые загружаются на GitHub и/или анонсируются в Discord, добавьте следующее в ваш файл mastercomfig-vars:

export DISCORD_WEBHOOK="Вебхук Discord для уведомлений о релизе"

Эти переменные также могут быть получены из системного окружения.

Правила поведения

Будучи членом сообщества mastercomfig, для создания более благоприятной среды, вы должны соблюдать Правила поведения.