Что такое Sider для PES, и как им пользоваться?

Вступление
Функция «LiveCPK» позволяет заменять игровой контент во время выполнения с содержимым из файлов, хранящихся на диске, вместо того, чтобы все упаковывать в CPK-архивы. (Эта особенность похож на Kitserver's AFS2FS и FileLoader для более ранних версии PES).

Авторское отступление
Внимание: Некоторые функции еще не реализованы в Sider 6.0.0, который предназначен для eFootball PES 2020, но они есть в предыдущих версия. Так что эта инструкция будет актуальна как для PES 2020, так и для PES 2019. Все что пока не работает в PES 2020 выделено сером цветом. По мере добавление новых функций данная инструкция будет обновляться.

Как использовать Sider в PES 2020?

  1. Запустите sider.exe от имени администратора, откроется небольшое окно,которое вы можете свернуть, если хотите, но не закрывайте его!
  2. Запустите игру. Sider должен автоматически присоединиться к игровому процессу.
Если вы не видите эффектов Sider в игре, проверьте файл sider.log (в той же папке, где находится sider.exe) - должен содержат некоторую полезную информацию о том, что пошло не так.

Настройки в SIDER.INI

Есть несколько настроек, которые вы можете установить в sider.ini:
  • match.minutes = 15
    Вы можете установить любое количество времени матча от 1 до 255. Установив 0, вы отключите данную функцию, будет использоваться время что вы задаете в игре.

  • exe.name = "\PES2020.exe"
    Это устанавливает шаблон(ы), которые программа Sider будет использовать определяя, какой из запущенных процессов является игрой. Вы можете иметь несколько строк "exe.name" в вашем sider.ini, что полезно, например, если у вас есть несколько файлы с немного разными именами, которые вы используете для онлайн/оффлайн игры.

  • livecpk.enabled = 1
    Включает функциональность LiveCPK Sider. Смотрите ниже для более подробное объяснение в разделе опций cpk.root.

  • debug = 0
    Установив этого значения >0 заставит Sider выводить дополнительную информацию в файл журнал (sider.log). Это полезно в первую очередь для устранения неполадок. Дополнительное ведение журнала может замедлить игру, поэтому обычно этот параметр установлен на 0. (По умолчанию 0: выводится минимальная информация, которая не замедляет игру)

  • close.on.exit = 0
    Если этот параметр установлен на 1, то Sider закроется сам, когда вы выходите из игры. Это может быть удобно, если вы используете командный файл для запуска Sider автоматически прямо перед запуском игры. (По умолчанию 0: не закрывать)

  • start.minimized = 0
    Если вы установите это в 1, то Sider будет запускаться с свернутым окном. Опять же, как и в предыдущем варианте, этот параметр может быть полезен, если вы используйте пакетный файл для автоматического запуска sider, непосредственно перед запуском игры. (По умолчанию 0: нормальное окно)

  • cpk.root = "c:\cpk-roots\balls-root"
  • cpk.root = "c:\cpk-roots\kits-root"
  • cpk.root = ".\another-root\stadiums"
    Определяет корневую папку (или папки), где хранятся файлы игры, которые будут использоваться для замены контента во время выполнения. Это работает так:
    • Например, игра хочет загрузить файл, который хранится в некотором CPK, с относительный путем "common/render/thumbnail/ball/ball_001.dds". Sider перехватит это действие и проверит, есть ли в одной из корневых папок файл. Если да, то Sider заставит игру читать содержимое этого файла. Если в sider.ini указано несколько корней, то все они будут проверяться. Как только там есть совпадение имени файла, поиск останавливается. (Таким образом, победит более высокий root, если оба они имеют один и тот же файл). Вы можете использовать либо абсолютные пути, либо относительные. Относительные пути будут рассчитаны относительно папки, в которой находится sider.exe.

  • game.priority.class = "above_normal"
    Эта опция позволяет изменить приоритет игрового процесса. Иногда это полезно, и может помочь бороться с падениями FPS. Поддерживаемые значения являются:
    • "above_normal" - выше нормального
    • "below_normal" - ниже нормального
    • "high" - высокий
    • "idle" - устанавливает базовый приоритет потока для Real time класса в 16, для остальных классов в 1.
    • "normal" - нормальный
    • "realtime" - в режиме реального времени.
    По умолчанию, игра устанавливает приоритет «above_normal».

  • free.side.select = 1
    Обеспечивает свободное перемещение контроллеров. Обычно это возможно только в режимах выставки, но с этой настройкой установив - 1, вы сможете перемещать контроллеры в Режимы соревнований тоже.


  • lua.enabled = 1
    Это включает/выключает поддержку сценариев. Модули расширения могут быть написаны в Lua 5.1 (LuaJIT), используя подмножество стандартных библиотек и также объекты и события, предоставляемые сайдером. Смотрите файл "scripting.txt" для руководство программиста по написанию модулей lua для сидера.


  • lua.module = "camera.lua"
  • lua.module = "kitrewrite.lua"
    Определяет порядок загрузки модулей расширения. Эти модули должны находиться в папке «modules» внутри корневого каталога sider.


  • jit.enabled = 1
    Позволяет включать/отключать JIT (Just-In-Time compiler) для Lua. По умолчанию JIT включен - для повышения производительности модулей Lua. Чтобы выключить его, установите на 0.


  • lua.gc.opt = "step"
    Эта опция позволяет настроить поведение сборщика мусора Lua (GC). Два поддерживаемых значения: «step» - для инкрементного сбора, и
    «collect» - для полной коллекции. По умолчанию это «step», и, как правило, вам не нужно изменять это, если вы не видите ошибки памяти Lua в журнале. В этом случае попробуйте «collect».


  • overlay.enabled = 1
    Эта опция включает интерактивное наложение. Наложение может отображать текст, который предоставляется модулями Lua, причем один модуль имеет контроль наложения в любой момент времени. Нажатием горячей клавиши (устанавливается опция overlay.vkey.next-module) управление оверлеем можно переключать к следующему модулю и так далее. Наложение включается / выключается другим горячая клавиша, установленная параметром overlay.vkey.toggle. Когда наложение включено, нажатия клавиш передаются на модуль, который в настоящее время контролирует наложение. Для получения дополнительной информации см. scripting.txt


  • overlay.on-from-start = 1
    Если установлено значение 1, наложение появится как можно скорее после начало игры. (по умолчанию 0, что означает, что наложение начинается скрытым, пока не будет включено)


  • overlay.location = "bottom"
    Два возможных местоположения: «top» и «bottom» экрана


  • overlay.font-size = 0
  • overlay.font = "Lucida Console"
    Эти два параметра управляют шрифтом наложения. Размер 0 означает, что размер шрифта будет рассчитан автоматически, исходя из высоты экран в пикселях. Любой шрифт TTF, установленный в системе, может быть используется, но моноширинные шрифты рекомендуются для упрощения форматирования.


  • overlay.vkey.toggle = 0x20
  • overlay.vkey.next-module = 0x31
    Горячие клавиши для включения/выключения наложения и для управления переключением наложениями среди модулей. Значения должны быть указаны в шестнадцатеричный формате. По умолчанию:
    1. 0x20 [Пробел] - для переключения
    2. 0x31 [1] - для следующего модуля
    Полный список кодов для всех ключей можно найти здесь: https://docs.microsoft.com/en-us/windows/desktop/inputdev/virtual-key-codes

  • overlay.background-color = "102010c0"
  • overlay.text-color = "80ff80c0"
    Цвета фона и текста указываются в формате RRGGBBAA (аналогично тому, как это сделано в HTML, за исключением того, что вы не ставите символ «#» впереди)


  • overlay.image-alpha-max = 0.8
    Максимальное значение для альфа-канала для изображения, отображаемого в оверлее (если есть). Это полезно, если вы хотите, чтобы изображение было слегка полупрозрачный, как визуальный намек на то, что он является частью наложения. Ценность вокруг 0,7 или 0,8 даст такой эффект. По умолчанию 1.0. Допустимый диапазон значений: [0,0 - 1,0]
    1. 0.0: полностью прозрачный
    2. 1.0: оригинальный альфа-канал изображения остается неизменным.

  • vkey.reload-1 = 0x10
  • vkey.reload-2 = 0x52
    Эти две настройки определяют комбинацию горячих клавиш, которую можно использовать для перезагрузки модулей Lua, не перезапуская игру. Это не фича что вы обычно используете во время обычного игрового процесса, но если при написании модуля очень часто вам нужно сделать небольшое исправление или изменение, перезапуск игры каждый раз может занять много времени, поэтому эта функция позволяет перезагрузить все модули, которые были изменены с прошлого раза они были загружены. По умолчанию: Shift-R (0x10 и 0x52).
Ребята, это мой вольный перевод файла readme.txt, сделанный он для понимания что и как работает в Sider. Если нашли явные ошибки, напишите их сюда - VK, исправлю :) Админ patchi-pes.ru

CREDITS:
Перевел на русский: Vasyl Hladenkyi, специально для сайта patchi-pes.ru
Исследование игры: nesa24, juce, digitalfoxx, zlac
Программирование: juce
Тестирование: zlac, nesa24, Chuny, Hawke, sonofsam69, Cesc Fabregas
Голубой мяч Лиги чемпионов: Hawke and digitalfoxx
Трофеи: MJTS-140914

Sider использует следующее стороннее программное обеспечение:
  1. LuaJIT by Mike Pall (doc/license-luajit.txt)
  2. Knuth-Morris-Pratt string matcher from Project Nayuki (doc/license-kmp.txt)
  3. FW1FontWrapper library by Erik Rufelt
  4. zlib by Jean-loup Gailly (compression) and Mark Adler (decompression).
Внимание: При копирование данного материала обратная ссылка на patchi-pes.ru обязательна, либо на группу VK - vk.com/pes_patch. Уважайте чужой труд.