Skip to content

RU Runtime API 24 Persistent State

Codex edited this page Oct 11, 2026 · 3 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Runtime API — Постоянное состояние

Главная · C# · IDE · UO API · A–Z · Примеры · Языки

Каждая команда открывает карточку с C#-сигнатурами, параметрами и несколькими самостоятельными примерами.

Движение

Добавляет переданные значения в одноимённый список совместимости текущего runtime. Элементы сериализуются через |; это изменение локального списка, а не самостоятельное игровое действие.

Client UI

Creates a persistent client-side overlay entry used by the actual ClassicUO WorldMapGump. The map renders line, ellipse, rectangle, direction-arrow and text figure kinds. World-coordinate figures follow the current map transform/zoom; screen-coordinate figures are relative to the map gump. The returned ID is used by UpdateFigure and RemoveFigure.

Магия

Команда служит для добавления заряда гейта в стандартный рунбук Object.

Sound & Visual Environment

Печатает слово Alarm в локальный системный журнал ClassicUO. Используйте как заметку о наступившем условии в скрипте.

Движение

Изменяет состояние галочки в опциях клиента Always Run (если клиент поддерживает эту опцию).

Диагностика и самоанализ

Возвращает 1, если указанное имя вызываемой команды зарегистрировано в runtime, иначе 0. Для проверки числа аргументов используйте ApiSignatureExists, для значений без вызова — ApiParameterExists.

Диагностика и самоанализ

Проверяет зарегистрированное runtime-значение или именованный объект. Возвращает 1 или 0. Пустое имя даёт 0; проверяются варианты с UO. и без префикса.

Диагностика и самоанализ

Возвращает 1, если существует регистрация указанного имени с заданным числом аргументов. Это проверка имени и арности, а не подтверждение типов значений или доступности игрового объекта.

Персонаж

Снимает всё оружие, потом вооружается набором my_name, запомненым предварительно командой SetArm.

Магазины и продавцы

Устанавливает автоматический хук для покупки у вендоров.

Магазины и продавцы

Расширенная версия AutoBuy с дополнительной фильтрацией по цене и имени предмета.

Магазины и продавцы

Устанавливает автоматический хук для продажи вендорам.

Бой

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

Книги

Finds the currently open ModernBookGump, verifies that it is editable, updates the visible title/author controls and sends Send_BookHeaderChanged (or the old-protocol header packet when required by the client version).

Речь и чат

Выполняет жест «поклон» — персонаж кланяется.

Преобразование и совместимость

Устаревшая команда исправления другого нативного клиента. В ClassicUO только печатает сообщение, что такой патч не требуется. Не меняет движение, речь или контейнеры.

Магазины и продавцы

К имени вендора name дописывает ключевое слово покупки из файла injection.ini (обычно это buy) и произносит эту фразу, после чего покупает в меню покупки, которое покажет вендор, вещи согласно списку list.

Персонажи и существа

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

Клиент и подключение

Sends a tokenized 0x73 ping packet and waits for the matching server echo up to timeoutMS. It does not substitute IsOnline() for a network round trip.

Мир и геометрия

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

Client UI

Изменяет состояние галочки в опциях клиента Transparency Circle.

Client UI

Clears every client-side map figure created through the C# AddFigure API. Normal World Map marker files/user markers are not affected.

Client UI

Reads or updates the current client UI/Gump state through the registered C#/ClassicUO UI route.

Клиент и подключение

Закрыть окно клиента Ultima Online.

Client UI

Меняет цвет текста, который пишет Injection в консоли.

Клиент и подключение

Operates on the active C#/ClassicUO runtime, network or profile state through the registered implementation route.

Меню и контекстные меню

Reads or updates the current client UI/Gump state through the registered C#/ClassicUO UI route.

Меню и контекстные меню

Reads or updates the current client UI/Gump state through the registered C#/ClassicUO UI route.

Мир и геометрия

Operates on the active C#/ClassicUO runtime, network or profile state through the registered implementation route.

Персонаж

Снимает предметы из обеих рук (правой и левой) в рюкзак персонажа.

Клиент и подключение

Operates on the active C#/ClassicUO runtime, network or profile state through the registered implementation route.

Персонаж

Слезть с коня, причём в бекпак положить "седло" - обьект связаный с лошадью, см.

Мир и геометрия

Возвращает расстояние в тайлах между двумя точками ( X1 , Y1 ) и ( X2 , Y2 ).

Предметы

Reads or mutates the current ClassicUO item/equipment state through the registered runtime route and client action queue.

Диагностика и самоанализ

Записывает все вещи известные в мире в лог-файл, с указанием основных параметров.

Предметы

Старая команда поддерживаемая для совместимости.

Речь и чат

Передаёт строковое имя анимации/действия в GameActions.EmoteAction. Это действие персонажа, а не печать обычного текста в журнал.

Преобразование и совместимость

Декодирует буквенную запись EasyUO в числовой идентификатор. Обе команды используют DecodeEasyUoId; результат — int, а не hex-строка.

Преобразование и совместимость

Преобразует буквенную запись serial EasyUO (основание 26, A=0) в hex-строку Injection. Буквы нечувствительны к регистру; небуквенные символы пропускаются. Обратная функция — Inj2EUO.

Предметы

Проверяет, присутствует ли serial в загруженном мире клиента: 1 — объект найден, 0 — нет. Строковая перегрузка сначала разрешает имя объекта. Отсутствие в клиентском мире не доказывает удаление на сервере.

Диагностика и самоанализ

Возвращает расширенную информацию о персонаже в виде записи TExtendedInfo .

Client UI

Writes to the Info Window through the client text-information route. It does not merely emit a normal in-game/system chat message.

Client UI

Reads or updates the current client UI/Gump state through the registered C#/ClassicUO UI route.

Речь и чат

Reads, filters or emits speech/journal data through the registered ClassicUO runtime route.

Sound & Visual Environment

Включает/выключает разрешение на изменение погоды.

Речь и чат

Устаревшая команда исправления другого нативного клиента. В ClassicUO только печатает сообщение, что такой патч не требуется. Не меняет движение, речь или контейнеры.

Персонаж

Читает зарегистрированное значение текущего состояния персонажа/клиента или runtime. Тип указан в сигнатуре; для записи используйте соответствующий Set-метод, если он зарегистрирован.

Client UI

Устанавливает цвет речи вашего персонажа.

Предметы

Удаляет обьект из памяти Injection.

Journal

Compatibility alias for the pattern-selection state used by journal searches. For 'first|second|third', matching second sets FoundedParamId() to 1. It no longer exposes the internal ClassicUO journal text/message type.

Персонаж

Читает зарегистрированное значение текущего состояния персонажа/клиента или runtime. Тип указан в сигнатуре; для записи используйте соответствующий Set-метод, если он зарегистрирован.

Сценарии и среда выполнения

Возвращает 1, если процедура найдена менеджером C# и сейчас выполняется, иначе 0. Аргумент — имя процедуры.

Клиент и подключение

Reads or changes the requested mobile/player stat/state through the current ClassicUO world model and registered API bridge.

Предметы

Возвращает «альтернативное имя» объекта с ObjID .

Магазины и продавцы

Возвращает задержку (в миллисекундах), применяемую после каждой операции авто-покупки через AutoBuy или AutoBuyEx .

Магазины и продавцы

Возвращает задержку (в миллисекундах), применяемую после каждой операции авто-продажи через AutoSell .

Баффы и эффекты

Возвращает список активных баффов и дебаффов персонажа.

Локализация

Возвращает текст тултипа объекта с ObjID в виде готовой строки.

Локализация

Возвращает локализованную cliloc-строку по указанному ClilocID .

Предметы

Возвращает цвет (hue) объекта с ObjID .

Контейнеры

Возвращает содержимое контейнера с ID в виде массива записей TContentItemData .

Персонаж

Reads Dexterity from PlayerMobile. UO.GetDex() is equivalent to reading the active player's value. UO.GetDex(self) reads the same value.

Движение

Возвращает параметр обьекта (по умолчанию - персонажа игрока) - направление, от 0 до 7

Профили и конфигурация

Возвращает значение глобальной переменной EasyUO по её индексу num .

Предметы

Operates on the active C#/ClassicUO runtime, network or profile state through the registered implementation route.

Персонаж

Читает зарегистрированное значение текущего состояния персонажа/клиента или runtime. Тип указан в сигнатуре; для записи используйте соответствующий Set-метод, если он зарегистрирован.

Персонаж

Читает зарегистрированное значение текущего состояния персонажа/клиента или runtime. Тип указан в сигнатуре; для записи используйте соответствующий Set-метод, если он зарегистрирован.

Предметы

Возвращает параметр обьекта (по умолчанию - персонажа игрока) - тип обьекта

Диагностика и самоанализ

В текущей реализации принимает точную строку "character" и возвращает имя своего персонажа. Для любого другого значения возвращает строку "UNKNOWN". Это не команда окна Info и не универсальный запрос произвольного свойства.

Персонаж

Reads Intelligence from PlayerMobile. UO.GetInt() is equivalent to reading the active player's value. UO.GetInt(self) reads the same value.

Предметы

Читает флаг паралича загруженного персонажа: 1 — IsParalyzed установлен, иначе 0. Не проверяет замок сундука или двери.

Мир и геометрия

Reads the currently loaded ClassicUO map/tile/art asset data using the active client asset loaders.

Персонажи и существа

Возвращает детальные данные о мобайле с ID в виде записи TMobileData .

Персонажи и существа

Перечисляет только загруженные World.Mobiles; обычные объекты Item исключаются. Дополнительные фильтры и ближайший порядок применяются общим ядром поиска.

Предметы

Возвращает имя объекта с ObjID .

Персонаж

Читает зарегистрированное значение текущего состояния персонажа/клиента или runtime. Тип указан в сигнатуре; для записи используйте соответствующий Set-метод, если он зарегистрирован.

Персонаж

Читает зарегистрированное значение текущего состояния персонажа/клиента или runtime. Тип указан в сигнатуре; для записи используйте соответствующий Set-метод, если он зарегистрирован.

Персонаж

Читает зарегистрированное значение текущего состояния персонажа/клиента или runtime. Тип указан в сигнатуре; для записи используйте соответствующий Set-метод, если он зарегистрирован.

Контейнеры

Возвращает ID родительского контейнера объекта с ObjID .

Магазины и продавцы

Возвращает цену объекта с ObjID .

Предметы

Возвращает размер стека (количество) объекта с ObjID .

Квесты и добродетели

Returns the quest-arrow state directly as [exists, x, y]. This is the C# adaptation of the historical Pascal var/out point.

Персонаж

Reads or changes the requested mobile/player stat/state through the current ClassicUO world model and registered API bridge.

Движение

Возвращает параметр обьекта (по умолчанию - персонажа игрока) - бежит ли он.

Персонаж

Возвращает состояние блокировки указанной характеристики.

Персонаж

Reads Strength from PlayerMobile. UO.GetStr() is equivalent to reading the active player's value. UO.GetStr(self) reads the same value.

Мир и геометрия

Возвращает среднюю высоту поверхности (Z) ландшафтных тайлов в указанной точке карты.

Персонаж

Возвращает титул (суффикс) объекта или мобила с указанным ObjID .

Предметы

Reads the current Object Property List. If the OPL is not cached yet, C# requests it from the shard and waits up to approximately 200 ms, polling without blocking the ClassicUO UI thread. If data arrives, the object name and property text are combined into one string.

Предметы

If structured OPL data is not cached, requests it and waits up to approximately 120 ms without blocking the UI thread.

Локализация

Возвращает CodePage кодировки Encoding.Default текущего .NET runtime. Это не переключатель языка клиента и не обещание Windows ANSI-кодировки; современный .NET обычно возвращает UTF-8 (65001).

Файлы / JSON / Данные

Разбивает строку на слова и возвращает слово с индексом ОТ НУЛЯ. Без delimiter используются пробельные символы, пустые части удаляются. Недоступный индекс возвращает пустую строку.

Контейнеры

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

Диагностика и самоанализ

Печатает подсказку об использовании UO.* и пути к Manual в настройках C#. Это краткая подсказка, а не загрузка справки из интернета.

Client UI

Отправляет серверу запрос на показ окна помощи (аналогично нажатию кнопки «Help» в игровом клиенте).

Преобразование и совместимость

Reads or changes the requested mobile/player stat/state through the current ClassicUO world model and registered API bridge.

HTTP

Operates on the active C#/ClassicUO runtime, network or profile state through the registered implementation route.

HTTP

Performs an HTTP GET. The one-argument form returns/uses the registered text semantics; the LStream overload writes raw response bytes to a supported C# MemoryStream/File target.

HTTP

Operates on the active C#/ClassicUO runtime, network or profile state through the registered implementation route.

HTTP

Operates on the active C#/ClassicUO runtime, network or profile state through the registered implementation route.

Диагностика и самоанализ

Без аргумента включает локальный прицел для выбора загруженного предмета или персонажа. После выбора открывает окно C# Object Information и выводит информацию в журнал. Форма Info(serial) сразу выводит текст об указанном объекте в журнал и не открывает инспектор. Если интерактивный выбор недоступен, форма без аргумента использует lasttarget. Для земли и статических тайлов служит InfoTile.

Диагностика и самоанализ

Выводит цвет объекта в журнал в шестнадцатеричном виде 0xHHHH. Без аргумента используется lasttarget; возвращаемого значения нет.

Преобразование и совместимость

Преобразует 32-битный serial в буквенную запись с основанием 26 (A=0). Serial=0 даёт "A". Обратная функция — EUO2Inj.

Группа

Reads the currently loaded ClassicUO map/tile/art asset data using the active client asset loaders.

Персонаж

Reads or changes the requested mobile/player stat/state through the current ClassicUO world model and registered API bridge.

Преобразование и совместимость

Reads or changes the requested mobile/player stat/state through the current ClassicUO world model and registered API bridge.

Группа

Reads the currently loaded ClassicUO map/tile/art asset data using the active client asset loaders.

Персонаж

true, если для выбранного персонажа или существа установлен флаг женского пола; иначе false.

Персонаж

Читает зарегистрированное значение текущего состояния персонажа/клиента или runtime. Тип указан в сигнатуре; для записи используйте соответствующий Set-метод, если он зарегистрирован.

Персонаж

Читает зарегистрированное значение текущего состояния персонажа/клиента или runtime. Тип указан в сигнатуре; для записи используйте соответствующий Set-метод, если он зарегистрирован.

Мульти и дома

Возвращает true , если указанный объект является мульти-объектом (дом, корабль или другая многотайловая структура), иначе false .

Предметы

Возвращает true , если указанный объект является перемещаемым, иначе false .

Персонаж

Читает зарегистрированное значение текущего состояния персонажа/клиента или runtime. Тип указан в сигнатуре; для записи используйте соответствующий Set-метод, если он зарегистрирован.

Персонаж

true, если выбранный персонаж или существо парализовано (заморожено); иначе false.

Движение

true, если выбранный персонаж или существо сейчас бежит; иначе false.

Персонаж

Возвращает true , если у указанного мобайла жёлтая полоса здоровья (указывает на неуязвимость или особый статус), иначе false .

Мышь и клавиатура

Эмулирует нажатие клавиши по Windows virtual-key коду. Необязательные count и delay задают число повторений и задержку после каждого нажатия: по умолчанию 1 и 105 мс. Press является алиасом KeyPress. Ввод получает активное окно ОС; команда сама не активирует клиент.

Сценарии и среда выполнения

Запускает внешнюю программу filename с параметрами parameter

Sound & Visual Environment

Изменяет освещение в игре.

Journal

Возвращает серийный номер (ID) говорящего из последней найденной записи журнала.

Journal

Reads or changes the requested mobile/player stat/state through the current ClassicUO world model and registered API bridge.

Journal

Возвращает имя говорящего из последней найденной записи журнала.

Мир и геометрия

LOSOptions is no longer a state-only setting. UO.CheckLOS(...) consumes the current value on every check. The C# implementation evaluates the currently loaded ClassicUO map, land, static, multi and world-item tile data. Walls and impassable tiles block LOS; RunUO mode also respects NoShoot; POL can opt into NoShoot and window-through behavior with the flags above.

Поиск

Выводит текущий список найденных serial через | в формате 0xXXXXXXXX. Не запускает новый поиск.

Персонажи и существа

Возвращает true , если указанный мобайл может быть переименован (например, пет или фолловер), иначе false .

Client UI

Меняет тело вашего персонажа на указаный тип.

Речь и чат

Выводит текст на сервер.

Движение

Отправляет серверу запрос на открытие двери перед персонажем.

Персонаж

Возвращает true , если собственный персонаж в данный момент парализован (заморожен), иначе false .

Группа

Reads the currently loaded ClassicUO map/tile/art asset data using the active client asset loaders.

Группа

Reads the currently loaded ClassicUO map/tile/art asset data using the active client asset loaders.

Группа

Reads the currently loaded ClassicUO map/tile/art asset data using the active client asset loaders.

Группа

Reads the currently loaded ClassicUO map/tile/art asset data using the active client asset loaders.

Предметы

Возвращает 1, если курсор клиента удерживает поднятый предмет, иначе 0. Это состояние операции переноса, не состояние target.

Sound & Visual Environment

Воспроизводит WAV-файл асинхронно.

Движение

Возвращает предсказанную координату X персонажа на основе текущей траектории движения.

Движение

Возвращает предсказанную координату Y персонажа на основе текущей траектории движения.

Движение

Возвращает предсказанную координату Z (высоту) персонажа на основе текущей траектории движения.

Мышь и клавиатура

Эмулирует нажатие клавиши по Windows virtual-key коду. Необязательные count и delay задают число повторений и задержку после каждого нажатия: по умолчанию 1 и 105 мс. Press является алиасом KeyPress. Ввод получает активное окно ОС; команда сама не активирует клиент.

Прокси

Reports proxy state only. It deliberately does not return the game-server IP as a fake proxy address.

Прокси

Reports proxy state only and does not mirror the game-server port.

Квесты и добродетели

Reads or changes the requested mobile/player stat/state through the current ClassicUO world model and registered API bridge.

Файлы / JSON / Данные

Возвращает случайное целое число в диапазоне 0..maxnumber

Персонажи и существа

Посылает запрос переименования персонажа mobile в newName. Сервер решает, разрешено ли переименование. Команда ничего не возвращает.

Персонажи и существа

Отправляет серверу запрос на переименование указанного мобайла.

Персонаж

Отправляет серверу пакет запроса статуса для указанного мобайла.

Клиент и подключение

Обновляет как минимум точные координаты персонажа, а на многих шардах так же окружающие предметы.

Речь и чат

Выполняет анимацию салюта (эмоцию) персонажем.

Преобразование и совместимость

Reads or changes the requested mobile/player stat/state through the current ClassicUO world model and registered API bridge.

Профили и конфигурация

В этой реализации изменяет только три именованные настройки: finddistance (расстояние поиска), grabdelay (задержка переноса в мс), equipfordress (режим экипировки при Dress). Имена сравниваются без учёта регистра. Числовая и строковая перегрузки используют один путь; строка поддерживает 0x/0X, неверное число превращается в 0. Неизвестное имя не меняет настройки и не вызывает ошибку. Это не универсальный setter всех 310 runtime-значений.

Персонаж

The values are no longer stored as inert runtime-only strings. C# passes them into the actual ClassicUO reconnect selection pipeline:

Персонаж

Запоминает одетое на персонаже вооружение под именем набора Name.

Магазины и продавцы

Устанавливает задержку (в миллисекундах) между автоматическими покупками, запускаемыми AutoBuy / AutoBuyEx .

Магазины и продавцы

Устанавливает задержку (в миллисекундах) между автоматическими продажами, запускаемыми AutoSell .

Поиск

Помечает тайл карты как непроходимый для системы поиска пути.

Контейнеры

Назначает контейнер в качестве «catch bag» — все предметы, получаемые персонажем (добыча, обмен и т.д.), автоматически перемещаются в этот контейнер.

Профили и конфигурация

Команда служит для установки руны по умолчанию в стандартном рунбуке.

Профили и конфигурация

Записывает значение в общий реестр EasyUO (только Windows).

Сценарии и среда выполнения

Registers or removes a legacy C# event handler. Registration captures the current state and does not execute the handler immediately. Supported live events are SeeNewPlayer, Death, ChangeHitPoints, ChangeMana, and ChangeStamina; they are evaluated while the script yields through UO.Wait. repeat=false/0 is one-shot and is automatically disabled after the first matching transition; repeat=true/1 remains armed. For historical compatibility, a non-numeric third argument such as 'exec OnChange' is treated as the handler name and enables repeating mode.

Сценарии и среда выполнения

Registers a repeating handler through the same live-state event engine as UO.SetEvent. Procname='' unregisters the event. Registration does not execute the handler immediately; the handler is evaluated on subsequent UO.Wait yields when the documented event transition occurs.

Запись/Воспроизведение

UO.SetRec() is the one-shot recorder. It clears the previous recording, arms capture, then lets the next compatible legacy UO.* command execute normally while storing the command name together with its typed arguments. The recorder disarms immediately after that one capture; UO.UseRec() replays the saved action.

Sound & Visual Environment

Устанавливает сезон согласно season_num: 0 - по умолчанию (текущий) 1 - spring (весна) 2 - summer (лето) 3 - fall (осень) 4 - winter (зима) 5 - desolation (засуха)

Client UI

Сохраняет локальный флаг showZ (0/1). В этот флаг не подключён к отрисовке: команда сама не включает отображение высоты. Не следует описывать её как действующий переключатель UI.

Client UI

Controls automatic diagnostic output to the Info Window. When silent mode is disabled (false), Gump description/query helpers may both return their data and mirror the lines into the Info Window. When silent mode is enabled (true), those helpers return data without automatic Info Window output.

Персонаж

Отправляет серверу запрос на изменение состояния блокировки характеристики персонажа.

Персонаж

Алиас для SetStatLockState .

Клиент и подключение

Возвращает имя шарда, к которому персонаж сейчас подключён (или был подключён последним).

Преобразование и совместимость

Зарегистрированное совместимое имя, выполнение которого в ClassicUO явно запрещено: выбрасывает NativeSubrutineException. Windows не выключается. Не используйте как рабочую команду завершения системы.

Client UI

Сохраняет снимок клиента через TakeScreenshot. Без аргументов выбираются стандартное имя, quality=100 и includeUi=1. quality ограничивается 1–100; includeUi определяет включение интерфейса. Возвращает результат клиентской операции сохранения.

Навыки

Открывает пустой контейнер, аналогичный Object, или показаному прицелом если параметры не указаны.

Sound & Visual Environment

Проигрывает игровой звук согласно номеру sndnumber.

Навыки

Возвращает количество шагов, которые сделал персонаж в скрытном (Stealth) режиме.

Диагностика и самоанализ

Returns information about the actual product version and embedded ClassicUO / BadNewbie / C# IDE runtime as [productName, productVersion, clientPath]. The version is sourced from the current C# IDE product version instead of the old hard-coded compatibility value 1.0.

UO.Str

Персонаж

Reads or changes the requested mobile/player stat/state through the current ClassicUO world model and registered API bridge.

Sound & Visual Environment

Возвращает сохранённую метку Timer в десятых долях секунды. В этой реализации она обновляется, в частности, при успешной проверке Move(). Это не отдельный счётчик кадров анимации.

Предметы

Возвращает сохранённую метку UO.Timer для применения объекта. Единица — десятая доля секунды.

Персонаж

Переключает режим полёта для персонажа-Гаргульи.

Персонаж

Убирает из памяти запомненый набор вооружения Name.

Контейнеры

Сбрасывает текущий «catch bag».

Предметы

Ищет объект указанного типа и цвета на земле, затем использует (double-click) его.

Персонаж

Открывает скролл статуса персонажа (Character Status, из окна папердолла) для указанного мобайла.

Прокси

Compatibility query for proxy mode. The current ClassicUO/C# embedded runtime does not expose a separate proxy transport, so this returns 0 rather than pretending the normal game connection is a proxy.

Запись/Воспроизведение

Replays the command and typed arguments stored by the UO.SetRec() recorder through the same legacy compatibility dispatcher. Replay does not consume the recording, so the same action can be executed repeatedly. If no valid recording exists, UO.UseRec() performs no action and reports the missing recording in a connected client.

Персонаж

Открывает скролл статуса персонажа (Character Status, из окна папердолла) для текущего персонажа.

Квесты и добродетели

Активирует указанную добродетель.

Диагностика и самоанализ

Prints the real C# product version from the active ClassicUO / BadNewbie / C# IDE client. The value is sourced from the live product-version bridge and is not a hard-coded compatibility placeholder.

Clone this wiki locally