《镜之边缘:Catalyst》

《镜之边缘:Catalyst》

35 个评价
Эмуляция "локального сервера" для достижений в Mirror's Edge: Catalyst
由 Саня Кофемол ジ 制作
8 декабря 2023 года, Electronic Arts отключила сервера Mirror's Edge: Catalyst, что сделало невозможным получение достижений и выполнение онлайн-заданий. К счастью для нас, группа энтузиастов взялась за разработку эмуляции "локального сервера" под названием The Beat Revival. Ребята проделывают отличную работу, за что заслуживают огромного уважения. И продолжают поддерживать разработку, делая свой проект лучше. На данный момент нельзя получить два сетевых достижения: «Меня не удержать» и «Пользовательское веселье». Надеемся, что выйдет полная версия The Beat Revival, ведь они хотят допилить эту крутую штуку до конца!
3
2
   
奖励
收藏
已收藏
取消收藏
Особая Благодарность
Всё, что будет в данном руководстве, я взял и перевёл на РУССКИЙ с руководства этого челика:

https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=3464761006

nvmidontcare очень старался над этим руководством и я благодарен ему за это!
Начало
Разработчикам The Beat Revival удалось перенаправить запросы игрового клиента на localhost , где работает бэкэнд сервера. Также он перенаправляет запросы к EA App, чтобы тот мог корректно разблокировать достижения. Я протестировал реализацию сервера на себе, добавил простой docker манифест в проект, а теперь хочу поделиться им с вами. Скорее всего, это руководство будет дополняться и улучшаться по мере развития сервера. Или нет, я хз)



Здесь я приведу свою статистику полученных достижений за 24.05.2025 - 25.05.2025 (скриншот EA):


Подготовка. Создание и запуск эмуляции.
Подготовка зависимостей

Прежде всего, необходимо загрузить и установить следующие зависимости:

  • Docker Desktop [desktop.docker.com] После загрузки установите Docker Desktop (требуются права администратора) и убедитесь, что вы выбрали опцию Use WSL 2 instead of Hyper-V. Перезагрузите компьютер после завершения установки.
  • Pamplona Future Server Code [github.com] Можно разархивировать в любое удобное для вас место. Нужно разархиваровать на ТОТ ЖЕ диск, где установлен Docker Engine. (главное, не забудьте. Спасибо пользователю "die Schlampe mit Schwanz" за исправление и дополнение!)
  • MITM game traffic capture tool [github.com] Из этого архива вам понадобятся только EA-MITM.ini и dinput8.dll.



Подробный запуск эмуляции (реально подробный)

После того, как вы выполнили все вышеописанные действия, переходите к запуску эмуляции локального сервера:

  • Убедитесь в том, что Docker Desktop работает СТАБИЛЬНО:



  • Переместите файлы EA-MITM.ini и dinput8.dll в папку с игрой. По игре правой кнопке мыши -> Свойства -> Установленные файлы -> Обзор:



  • Перейдите в папку "pamplona-future-main", которую вы распаковали ранее, ЗАЖМИТЕ SHIFT и щелкните правой кнопкой мыши на пустом месте, и выберите: "Открыть окно PowerShell здесь". Покажу на скриншотах, если не понятно:

  • #1.


  • #2.

  • Потом вставьте и запустите эту команду в PowerShell:

    Rename-Item .env.example .env; if ($?) { (Get-Content .env) -replace '^POSTGRES_HOSTNAME=.*', 'POSTGRES_HOSTNAME=pamplona-future-db' | Set-Content .env }; if ($?) { docker compose up -d }; if ($?) { docker compose logs -f pamplona-future } else { exit 1 }

    У вас потом закроется ОКНО! ПОДОЖДИТЕ 2 МИНУТЫ И ОПЯТЬ СДЕЛАЙТЕ ТО ЖЕ САМОЕ! НО ВВЕДИ НЕ ЭТУ КОМАНДУ, А:
    docker compose up -d # это старт сервера

    У вас потом пойдёт такая шайтам-машина:



    Команды и их значения
    (вряд-ли вам понадобится последняя, но оставлю её здесь):

    docker ps -a # Отображение текущего состояния сервера и базы данных docker compose up -d # Запуск сервера docker compose logs -f server # Журнал аудита вашего сервера docker compose down # Остановка сервера docker compose prune -af # Удалить все, что вы развернули с помощью Docker




    Наверное... Всё?
    Теперь вы можете зайти в игру и попробовать подключиться к онлайн-сервисам. Вы увидите кучу текста в консоли, игра сообщит вам, что вы успешно подключились, а значит, все работает. Если что-то у вас не так, пишите! Я с радостью помогу вам, чем смогу!

    ДОПОЛНЕНИЕ: Вы можете закрыть PowerShell во время игры и не держать его открытым, так как Docker запустит сервер и базу данных в фоновом режиме:








ПРОБЛЕМЫ И ИХ РЕШЕНИЯ
"Virtualization support not detected" - не включена виртуализация на вашем ПК.
Решение проблемы [remontka.pro]


БУДЕТ ДОПОЛНЯТЬСЯ ПО КОЛИЧЕСТВАМ ПРОБЛЕМ ПОЛЬЗОВАТЕЛЕЙ!!!
77 条留言
Oink-oink 10 月 1 日 下午 3:59 
https://github.com/prisma/prisma/issues/8886 вот тут китайцы тоже жалуются. Можно как-то исправить, но что-то уж там заморочки такие...
Oink-oink 10 月 1 日 下午 3:58 
Если у кого-то ошибка на последнем шаге: то это из-з РКН. Команда
RUN npm -g pnpm prisma && pnpm install

Ставит Prisma. А prisma подхватывает @prisma/engines. А этот engine скачивает все prisma-engines со своего сайта Prisma CDN:
The postinstall hook of this package downloads all Prisma engines available for the current platform, namely the Query Engine and the Schema Engine from the Prisma CDN.


А Prisma CDN находится на серверах CloudFlare. А они заблочены у некоторых. РКН даже тут подгадил...
Саня Кофемол ジ  [作者] 9 月 2 日 上午 11:11 
кому как:manthinking:
JGRXXXN 9 月 2 日 上午 10:28 
чет многовато ради достижений в одной игре
extrimboy245 8 月 10 日 上午 8:33 
Тип пишет всё ок, вот только вхожу в игру, сервер отключён...
Саня Кофемол ジ  [作者] 8 月 10 日 上午 8:22 
чё пишет?
extrimboy245 8 月 10 日 上午 2:19 
У меня почему-то не пять пунктов как у тебя, авсего 2 при запуске эмуляции(
Саня Кофемол ジ  [作者] 8 月 10 日 上午 2:15 
Билд добавляется в Docker Desktop, когда ты включаешь эмуляцию локалки
extrimboy245 8 月 9 日 下午 2:46 
А как добавить билд с этой папкой в docker dekstop?
Aviasso 8 月 7 日 上午 1:29 
По всей видимости отключили только некоторые сетевые функции. Я буквально сегодня получил достижение в стиме и приложении EA без эмуляции локального сервера, но появляются они с задержкой в день примерно.