Модификации:Open source

Материал из Stardew Valley Wiki
Перейти к навигации Перейти к поиску

Индекс Мод является открытым если его код является общедоступным и покрыт открытой лицензией. Моддерам настоятельно рекомендуется делать свои моды и пакеты контента с открытым исходным кодом.

Почему важна открытость исходного кода?

Открытый исходный код является ключевым элементом для долгосрочной поддержки сообщества моддинга и способствует более гладкому игровому опыту для игроков. В зависимости от выбранной лицензии с открытым исходным кодом другие люди могут...

  • просматривать ваш код;
  • вносить изменения в копию кода;
  • предлагать Вам обновления, изменения и исправления;
  • подготавливать неофициальные обновления;
  • лучше помогать пользователям с вопросами поддержки, просматривая код.

Эффект может быть значительным: всего 1% модов с открытым исходным кодом были повреждены при выпуске SMAPI 3.0, в сравнении с 51% закрытых модов (и это не учитывая закрытые моды, которые не обновлялись для последних релизов игры).

Часто задаваемые вопросы

Что, если мне не нравится предложенное изменение?
Вы по-прежнему полностью контролируете свой исходный код и страницы мода; никто не может изменить их без вашего согласия! Вы вольны отклонить предложенное изменение, которое кто-то предлагает для вашего мода..
Что такое репозиторий Git?
Git - это программное обеспечение, которое помогает отслеживать изменения в вашем коде, а репозиторий - это папка, содержащая файлы вашего мода с отслеживанием Git. Вы можете изучить уроки по Git, если хотите узнать больше, но не беспокойтесь: вам не нужно знать, как это работает, чтобы использовать это!
Это распространяется на пакеты контента?
Да! Пакеты контента не компилируются, но другие моддеры не могут законно вносить изменения без лицензии на код. Обратите внимание, что варианты "разрешений" на сайтах вроде Nexus юридически сомнительны (например, кто владеет авторскими правами на производные? Могут ли производные быть лицензированы повторно?), поэтому имеет смысл иметь лицензию на код и для пакетов контента. Это также позволяет другим моддерам вносить запросы на изменения и обновления. Когда здесь говорится о "коде", подразумевается всё в вашем пакете контента, включая файлы JSON, изображения, карты и т.д.

Сделайте свой код открытым

Если ваш код уже находится на GitHub

Вы почти закончили! Вам просто нужно выбрать открытую лицензию (если вы ещё не определились, лицензия MIT - хороший выбор), и добавить файл LICENSE в репозиторий.

Если ваш код не находится на GitHub

Кажется, что тут много шагов, но не волнуйтесь, это довольно просто и вам нужно сделать это всего один раз. Если вам нужна помощь, приходите и спрашивайте в канале #making-mods на сервере Discord по Stardew Valley. :)

Создайте Git-репозиторий
Во-первых, давайте создадим общедоступный репозиторий, который будет содержать ваш код.
  1. Создайте GitHub аккаунт.
  2. Установите SourceTree (Mac/Windows) или GitKraken (Linux). При запросе привяжите его к своему аккаунту GitHub..
  3. Создайте репозиторий на GitHub. Рекомендуемые настройки (смотрите скриншот):
    1. Имя репозитория: рассмотрите StardewMods if you'll put all your mods in the same repository, otherwise use the name of your mod.
    2. Описание: рассмотрите Mods для Stardew Valley.
    3. Initialize ... with a README: включите эту опцию.
    4. Добавьте .gitignore: оставьте это поле пустым; мы добавим своё собственное позже.
    5. Добавьте лицензию: choose a license (если вы ещё не определились, лицензия MIT - хороший выбор), и выберите её здесь.
    6. Нажмите 'Create repository'.
  4. На появившейся странице репозитория нажмите зеленую кнопку "Clone or download" и скопируйте URL:
    Modding - copy GitHub repo URL.png
  5. В SourceTree, нажмите File > Clone и вставьте URL. Выберите путь, к которому есть лёгкий доступ (как C:\source\StardewMods), и нажмите 'Clone'.
На этом сложная часть закончилась! Теперь у вас есть репозиторий на GitHub, который синхронизирован с папкой на вашей компьютере.
Добавьте файлы мода
Теперь давайте добавим ваши файлы в репозиторий.
  1. Откройте папку репозитория (путь назначения, который вы ввели выше).
  2. Распакуйте этот zip файл в папку. Это добавит два файла в корень вашей папки: .gitattributes (который нормализует концы строк между Linux/Mac/Windows) и .gitignore (который скрывает файлы, которые не должны быть зафиксированы в Git). Вам просто нужно оставить их в вашей папке, вам не нужно их изменять.
  3. Скопируйте ваши файлы мода (включая файл .sln) в папку.
  4. Зафиксируйте ваши изменения в SourceTree:
    1. Нажмите "Commit" вверху.
    2. Нажмите "Stage All" чтобы добавить файлы в вашу фиксацию.
    3. Введите "человекочитаемое" описание ваших изменений в текстовом поле. Формат выбирайте сами, но "добавление начальных файлов мода" подойдёт на начальном этапе.
    4. Убедитесь, что "Push changes immediately" отмечено.
    5. Нажмите "Commit".
Вот и всё!: все ваши файлы появятся на GitHub. Ваш мод теперь с открытым исходным кодом!
Внесите изменения
Вышеуказанные шаги - это все настройки первого запуска. Когда вы захотите внести изменения, это намного проще:
  1. Измените свой код в папке репозитория..
  2. В SourceTree, зафиксируйте и отправьте ваши изменения (смотрите шаг 4 в предыдущей секции).

Смотрите также

  • Modding:Mod compatibility ссылки на исходный код для каждого мода SMAPI, где это возможно.