Задача: механизм защиты RPG Maker-проекта

Контекст и ограничения

Нужен защитный скрипт именно для RPG Maker (важен движок, а не универсальный JS). Скрипт должен запускаться при старте проекта и использовать нативные возможности движка: HTTP-запросы (через XMLHttpRequest или модуль Web), работу со встроенными переменными и обработчиками.

Предлагаемая схема (основной вариант)

  • При запуске игры отображается окно ввода логина и пароля (или лицензионного ключа).
  • Введённые данные отправляются POST-запросом на внешний сервер (например, на облачный хостинг с простой базой данных).
  • Сервер проверяет логин/пароль по загруженной базе активных ключей; возвращает true (доступ разрешён) или false.
  • Сам RPG Maker легко делает такие запросы без дополнительных библиотек.

Альтернативные варианты

  • Привязка к игровому файлу: скрипт генерирует хеш от имени компьютера или версии проекта и считывает лицензию из внешнего конфигурационного файла (но соль копирования с флешки часто обходит это).
  • Одноразовый серверный ключ: при первом запуске игрок получает ответ от сервера с сессионным ключом, который скрипт сохраняет как переменную памяти - без интернета игра блокируется.
  • Таймер нужды проверки: не сразу, а спустя N часов геймплея скрипт делает контрольную точку с online-валидацией.

Важные требования

  • Использовать можно только возможности RPG Maker: события, скрипты на JS (с ограничением встроенных методов), встроенный модуль Networking.
  • Не подключать внешние библиотеки (jQuery, питоновскую middleware и т.д.).
  • Скрипт не должен требовать от пользователя дополнительных действий, кроме ввода учётных данных.
  • Надевать защиту на этапе загрузки первой карты, до основного игрового цикла.

Детали реализации

Ранее для таких задач заказчик использовал WinAPI на Паскале - отправлял серийный номер диска, кодировал и проверял вручную. Сейчас нужно автоматическое онлайн-соединение на стороне RPG Maker, без неудобств для легальных покупателей.

Базовый пример псевдокода для проверки через XMLHttpRequest:

// Выполняется в JavaScript-событии RPG Maker
var key = полученный_логин + '|' + полученный_пароль;
var request = new XMLHttpRequest();
в запросе: POST на 'https://мой_pайт/api/validate' взять строку лицензии;
if (request.status == 200 && request.responseText == 'true') 
   запускаем игру;
else
   блокируем меню;

Что нужно приложить к ответу?

  • Файл .js со скриптом, совместимый с движком.
  • Пример конфига для серверной части (на PHP / JS платформе - что вы предложите самое лёгкое).
  • Инструкция по настройке: куда вставить скрипт, как добавить вызов события старта.

Дизайнерское оформление комплекта B2B-презентаций и шаблона КП

Требуется дизайнер для профессионального оформления готового комплекта бизнес-презентаций и шаблона коммерческого предложения. Общий объем - 70-75 слайдов. Все тексты и структура готовы, нужна аккуратная визуальная сборка в едином стиле.

Исправление сохранения дополнительных характеристик в RealHomes Elementor

Необходимо устранить баг: после повторного редактирования объекта на сайте с Wordpress и Elementor (тема RealHomes) выбранные вручную дополнительные опции сбрасываются, остаются только базовые, выбранные автоматически.