XeRAbora достижения на ps2
Всем привет, месяц прошел с момента как я анонсировал, что занимаюсь разработкой возможности получать ачивки играя на ps2, вот пришел поделится результатом.
Проект получил кодовое название xeRAbora, ни с чем не связано, просто давно хотел прикрутить к своему пет проекту это название, а тут даже RA есть, что отсылает к ретродостидениям.
Как это вообще работает.
Работает все это в связке OPL + программа на пк(клиент) или с недавнего времени это может быть клиент на вашем телефоне. Opl это форк оригинальной программы для запуска игр на ps2 с любых носителей, флешка, хдд и smb и другие. Opl стартует на вашей консоле, вы проверяете ваши образы, важно что бы они были в формате iso, в этот момент делается запрос на клиент, клиент берет на себя всю работу по интеграции с сервисом ретродостидений(RetroAchivments) если хэш вашего образа там есть и они совпали, то данные для ачивок кладутся рядом с вашими играми. Далее вы запускаете игру, после чего в ход вступают доработки в opl, он отправляет начинает читать память вашей консоли во время игры, 60 раз в секунду(это требования ra) и отправляет эти ячейки памяти на клиент, клиент же отправляет их на сервер достижений и вся магия происходит именно там. Если память которую мы отправили имеет нужное значение для получения достижения, то ачивка открывается.
Пример, для достижения ачивки нужно проехать круг с определений скоростью 34 секунды, эти данные лежат в определенной ячейке памяти во время игры, пока вы играете с консоли приходит 60 снапшотов памяти, как только вы доезжаете круг, то в эту область памяти кладется значение круга, консоль отправляет это на клиент, клиент на сервер ra, если условия сошлись, достижение открывается.
Клиент
xeRAbora это клиент в принципе заточен на работу с ретродостидениями, даже если у вас нет ps2, вы так же можете им пользоваться, он показывают, достижения которые вы можете попустить, среднее время для получения достижений, медианное время прохождения игры в целом, все это есть в апи, но нет на сайте, есть режимы стримера, достижения будут красиво подсвечиваться. Вы просто начинаете играть с эмулятора на пк или приставке, и в клиенте все отображается.
Важно все это работает внутри локальной сети и ваш клиент, и консоль, должны быть подключены кабелем или по вайфай.
На данный момент, есть игры, которые не запускаются, не запускаются из за телеметрии, не запускаются в принципе с opl. Но большинство игр работает стабильно, 90% игр можно играть с закрытием достижений.
Я сделал отдельный канал на своем сервере в дискорде, где мы можем обсудить идеи и предложения.
Весь код открытый, вы можете ознакомиться с ним на GitHub.
Также хотел поделиться своим другим приложением для отслеживания/трекинга/бэклога игр, фильмов, сериалов, манги, аниме, музыки все в одном. Есть куча интеграций с разными источниками откуда вы можете загрузить свои данные.
Всем успехов в закрытие достижений!








































