Перейти к содержанию
Авторизация  
PSI

PSI Store - Steam для сталкерских модов

Рекомендуемые сообщения

 

Logo.png.1bf113ddf2dfb7899ee576dfb37f6ad4.png

PSI Store

Проект на стадии разработки и поиска финансирования

Привет! Спасибо, что заглянул! Здесь я расскажу об интересном проекте, над которым я работал около года.

О себе

Начну с краткого рассказа о себе. Я бывший DevOps инженер, который теперь работает в области Frontend разработки. У меня есть опыт работы и понимание инфраструктуры от аппаратного до сетевого уровня.

О проекте

Library.thumb.png.85828140fe2b51f72747eee11cc1b4b6.png

Проект PSI Store возник после того, как я столкнулся с проблемами установки мода, требующего определённой версии игры, множества патчей и фиксов. Это стало для меня триггером. Я собрал все свои технологические возможности и, проведя небольшой анализ существующих проектов, решил, что смогу создать собственное решение.

Что такое PSI Store?

PSI Store — это мультиязычная платформа, основанная на принципах и паттернах Steam. Она представляет собой своего рода "Steam для модов" со всеми необходимыми архитектурными решениями.

spacer.png

Текущее состояние

Большая часть работы уже завершена, и проект мог бы быть опубликован несколько месяцев назад. Однако я держал его в тайне, надеясь запустить самостоятельно. К сожалению, финансовые обстоятельства не позволяют это сделать, и я стал забывать о проекте.

Структура сайта

Структура сайта схожа с Steam. На странице мода есть разделы: Описание, Новости, Файлы, Аддоны, Модпаки, Патчи, Форум, Гайды, Отзывы. Полноразмерные моды, такие как Аномали, будут соседствовать с Зов Припяти как самостоятельные игры. Видео автоматически парсятся с YouTube и связываются с модом по названию.

Рекомендации и фильтрация

На сайте есть базовая система рекомендаций по тегам и жанрам. В будущем планируется внедрение ИИ для улучшения этих функций. Также присутствует система фильтрации пользовательского контента: если в отзыве будут слова из черного списка, появится заглушка “Этот контент может быть оскорбительным. Вы точно хотите его посмотреть?”. Такой контент попадает в список “Подозрительных” для модераторов, которые смогут его при необходимости удалить.

Почему PSI Store уникален?

Многие пользователи отметят, что подобные проекты уже были, но ни один из них не дошёл до релиза. Причина в том, что многие разработчики не понимали базовых основ работы с бинарными данными. Даже если бы такие проекты вышли, они быстро столкнулись бы с проблемами распространения и хранения больших объёмов данных. У меня же есть все необходимые знания для решения этих задач. Для подтверждения этого снизу напишу стек (для знающих), который уже используется на проекте:

Спойлер

Всей веб и серверной частью оперирует k8s

Фронтенд

  • NextJS 14 на саспенсах и серверных роутах
  • Почанковая многопоточная загрузка файлов на сервер
  • CDN для всех статический файлов от CloudFlare

Бекенд

  • Strapi 4 - как оператор над данными и API
  • Redis
  • Загрузчик файлов из фронта на S3. Написан на Golang, идет отдельным микросервисом дабы не нагружать основной кластер API
  • Сервис на Golang, который собирает загруженные файлы, валидирует их и отправляет дальше по конвееру
  • S3
  • Кастомный торрент сервер на Golang на базе anacrolix
  • CDN для всех статический файлов от CloudFlare
  • RabbitMQ
  • Nginx
  • PostgreSQL
  • ElasticSearch
  • Kafka
  • imgproxy
  • Keycloak

Клиент

Всё написано на базе Tauri v2. Разбито на несколько процессов, чтобы минимизировать зависимость компонентов и избежать прерывания загрузки в случае проблем на стороне GUI, например.

  • GUI
    • ReactJS
    • Rust
  • Загрузчик
    • Качает файлы, торренты. Для каждой загрузки запускается отдельный процесс
    • Aria2c
    • Rust
  • Раннер
    • Запускает игру. Его главная функция - замерять время игры и API для достижений. Работает отдельным процессом специально, чтобы не нагружать лишний раз систему GUI.
    • Rust
  • Клиент для разработчиков
    • Он подготавливает файлы для загрузки на сервер. Сжимает и оптимизирует. Ну и загружает файлы на сервер. Основные технологии, которые используются:
    • GUI
      • React
      • Rust
    • Прочее
      • Inno Setup
      • 7zip
      • freearc
      • Precomp
      • XTool
      • deflate
      • diff patching
      • Почанковый загрузчик данных на сервер написанный на Rust
      • Aria2c(для валидации загруженных данных)

Архитектура проекта почти полностью повторяет ту, что используется в Steam. Да, это сложный проект, но именно при такой архитектуре подобные проекты имеют шанс на существование.

Возможности проекта

Проект предусматривает запуск публичного API. На данный момент не реализована лишь система модпаков (сборок) на клиентской стороне, и, возможно, потребуется переделать интерфейс сайта. Остальной функционал уже готов для развертывания.

Проблемы и поддержка

Однако проект большой и требует значительных ресурсов на поддержку и обслуживание. Поэтому я хотел бы узнать ваше мнение: нужен ли вам этот проект? Готовы ли вы поддерживать его финансово и меня, как автора, морально? Сможем ли мы вокруг него выстроить сообщество?

Что мешает запустить проект сейчас?

На начальном этапе работы над проектом таких проблем не было. Основная проблема, как всегда, – деньги. Для полноценного запуска потребуется значительные ресурсы, даже с учётом оптимизации. Необходимы сидирующие сервера (для раздачи торрентов), файловые сервера (для холодного хранения данных), кеширующие сервера (для загрузки файлов и их сборки в единые бандлы) и множество кластеров. Всё это стоит денег. Возможно, будет дешевле приобрести оборудование и разместить его в дата-центрах.


Спасибо, что уделили своё время! Вместе мы сможем запустить ресурс таких масштабов, но я один, увы, не справлюсь. Я надеюсь на вашу поддержку и хочу, чтобы сообщество знало, каким может быть инфраструктура сталкерского моддинга.

Если хотите поддержать проект, вы можете сделать это через Boosty.


Спойлер

Судьба Ap-Pro в случае успеха

Что касается Ap-Pro, то, к сожалению, он концептуально и технически устарел. Форумы уже не подходят для современного поколения. Главная цель PSI Store в другом. Тем не менее я готов поддержать товарища TheWolfstalker на своей платформе, если проект запустится.

Финансирование для поддержки работы проекта

Проект будет жить за счёт европейского рекламного трафика, поскольку российский, к сожалению, не приносит существенного дохода. Финансирование также будет поступать от рекламы, прямых интеграций (возможно, со сталкрафт и подобными проектами) и донатов.

Дополнительные наработки

У меня есть наработки по документации для XRay SDK и движка, как мы делали в SonUE. Также есть недоделанный аналог GitHub, специально спроектированный для хостинга равдаты от SDK. Возможно, когда-нибудь и до этого дойдут руки.

Изменено пользователем PSI
  • Лайк 8
  • Мастер! 3
  • Сталкерский лайк 1
  • Жму руку 1
  • Аплодисменты 1
  • Дурка 2
  • Хабар 1
  • Клоун 1
  • Спасибо 1

220160712_BoostyButton.png.1b4b03bc853f53bc74de8810afccea85.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
10 часов назад, kola2451 сказал:

А зачем 2 брокера? в чем прикол использовать рэббит и кафку?

Kafka используется для работы с логами и аналитикой, также собирает данные для будущего улучшения системы рекомендаций. Rabbit используется для декомпозиции, т.е. уже конкретно как брокер.

7 часов назад, macron сказал:

А сами мододелы что с этого поимеют?

Можно много способов монетизации реализовать, но исходя и без того низкого дохода, там будут копейки. Но, если моды пойдут по иностранной аудитории, то профит вполне может быть. Но конкретно могу гарантировать выход мода сразу на несколько рынков, не только в РФ, грубо говоря.

30 минут назад, centr0as сказал:

В любом случае, проект амбициозен и необычен, желаю вам удачи 

Спасибо!


220160712_BoostyButton.png.1b4b03bc853f53bc74de8810afccea85.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 02.08.2024 в 13:43, PSI сказал:

Также присутствуют механизмы обхода "пиратства", например проверка на наличие оригинальной игры, чтобы соблюдать требования GSC. Этот же механизм также доступен и в Web версии, я просто могу запретить скачивать контент до тех пор, пока пользователь не укажет папку с игрой.

Вот с этого клиент потеряет сразу часть пользователей. Те же ТЧ моды например на старые патчи, что в Gog, что в Steam новые версии, а откатить их это обращаться к пиратству, найти лицензию на диске честно можно, но опять гемороится придется, да и дисководы у многих уже нет.

А обладателям дисковых лицензий современные системы помашут ручкой из-за старфорса, а его обход это уже пиратская деятельность.

И зачем переходить на такой проект, если на этом же форуме никто тебя не ограничивает в плане использования какого-либо клиента 🤔

Изменено пользователем Stern-13

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
5 минут назад, Stern-13 сказал:

Вот с этого клиент потеряет сразу часть пользователей. Те же ТЧ моды например на старые патчи, что в Gog, что в Steam новые версии, а откатить их это обращаться к пиратству.

Моя задача, как платформы, лишь убедиться в том, что у пользователя есть копия оригинальной игры, а вот пиратская она или лицензионная - это уже ответственность пользователя, т.е. не мои проблемы.

И насколько я помню уже был прецедент, в котором явно указали, что если у тебя присутствует лицензионная копия продукта, то ты можешь без проблем использовать любые другие пиратские копии этого продукта.

И я даже больше скажу: юридически в РФ если у тебя нет документа (например чека), то продукт априори считается пиратским. Т.е. покупая ключ Windows 10 на Plati за 1500 рублей - ты юридически покупаешь пиратскую копию.


Дополнено 3 минуты спустя
7 минут назад, Stern-13 сказал:

И зачем переходить на такой проект, если на этом же форуме никто тебя не ограничивает в плане использования какого-либо клиента 🤔

Это лишь необходимый инструмент обеспечения "лицензионности" продукта, некий обход правил. И если такое действительно начнут применять, то форумы полетят первыми.

Изменено пользователем PSI

220160712_BoostyButton.png.1b4b03bc853f53bc74de8810afccea85.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 минут назад, PSI сказал:

Это лишь необходимый инструмент обеспечения "лицензионности" продукта, некий обход правил

Так там смысл был в том: Не ограничивают в использование, а не содействуют распространению или распространяют. И есть ли клиент или нет - не ограничивают скачивание мода.

9 минут назад, PSI сказал:

что у пользователя есть копия оригинальной игры

А если проект самодостаточный тоже проверяться будет? Тот же аномали например, при установить будет требовать наличие ЗП на ПК?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 минуты назад, Stern-13 сказал:

И есть ли клиент или нет - не ограничивают скачивание мода.

Повторюсь, если GSC начнут за такое кидать страйки, то пострадают все сайты, а не только мой.

2 минуты назад, Stern-13 сказал:

Тот же аномали например, при установить будет требовать наличие ЗП на ПК?

Чисто технически да, должен требовать ЗП. Но механизмы проверки наличия копии игры не ограничиваются лишь проверкой на "установленность", можно проверять, например, привязав профиль Steam к сайту. Т.е. пользователь разово привязывает свой Steam и более у него нет никаких ограничений.

Но, это немного утопичные диалоги ведь, повторюсь, такой механизм нужен лишь только в том случае, если GSC начнет раскидываться страйками. Также, например, GSC может страйки кидать только по еврозоне, а в РФ не будет трогать, у сайта есть разделение на региональность, я могу эту проверку включить только для европы, но выключить для РФ.


220160712_BoostyButton.png.1b4b03bc853f53bc74de8810afccea85.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
33 минуты назад, Stern-13 сказал:

откатить их это обращаться к пиратству

Лучший вариант распространять репаком игра + мод. Алексей писал GSC и уточнял этот вопрос. Они дали конкретный ответ. Распространять репаки мода (игра + мод) можно. Распространять мод отдельно можно. Распространять саму игру нельзя.

У псая есть 3 варианта:

1) Распространять только мод как делает в основном Ap-pro.

2) Распространять репак мода как делает StalkerPortaal.

3) Распространять только мод при условии, если игрок указывает, что у него есть лицензионная копия игры. Но есть она по факту или нет это уже другой разговор.

Все 3 варианта рабочие и не нарушают условия ПЫС. Но нет гарантии, что мнение у них резко поменяется и они станут негативно смотреть на какой нибудь из сайтов и решат его наказать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Мне кажется нужно было сделать MVP, что бы сообщество его обкатало и при необходимости масштабировать, а не строить "офигенную архитектуру", которая будет потреблять дофига ресурсов и не понятно как себя показывать на продакшене

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 часов назад, kola2451 сказал:

Мне кажется нужно было сделать MVP, что бы сообщество его обкатало и при необходимости масштабировать, а не строить "офигенную архитектуру", которая будет потреблять дофига ресурсов и не понятно как себя показывать на продакшене

Да, и оно в каком то смысле даже планировалось, но сообщество настолько холодно отнеслось к этой идеи, что я сильно сомневаюсь, что стоит вкладывать еще своих ресурсов. Эта тема создана, в том числе, чтобы собрать фидбек.

  • Лайк 1

220160712_BoostyButton.png.1b4b03bc853f53bc74de8810afccea85.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Шикарная идея, коллега. От братства девопсов плотный респект, буду поддерживать проект верой, надеждой и рублём.


Дополнено 0 минут спустя
11 часов назад, PSI сказал:

Да, и оно в каком то смысле даже планировалось, но сообщество настолько холодно отнеслось к этой идеи, что я сильно сомневаюсь, что стоит вкладывать еще своих ресурсов. Эта тема создана, в том числе, чтобы собрать фидбек.

КМК, ап-про - не та площадка, чтобы собрать хоть какой-то стоящий фидбэк и найти поддержку аудитории, тут контингент в большинстве своём - какие-то дети солнца, которым нужен лишь очередной повод, чтобы облить ПЫС помоями, а их шикарная зарплата и жаба не позволят даже подписку за 500 рублей оформить, да и вообще это скам-проект, тупо развод гоев на нефтедоллары)0 

  • Лайк 2

"Единственным благом является знание, а единственным злом – невежество" © Азек Ариман.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
11 часов назад, thegodofmyopia сказал:

не та площадка, чтобы собрать хоть какой-то стоящий фидбэк

Еще есть статья на DTF - там примерно то же самое. В целом сообществу еще тяжело поверить в подобный проект. Возможно, я когда-нибудь смогу запустить за свои средства MVP и так что-то поменяется, но пока обстоятельства такие.

Спасибо за поддержку и добрые слова! :u2665:

  • Лайк 1
  • Жму руку 1

220160712_BoostyButton.png.1b4b03bc853f53bc74de8810afccea85.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

PSI Удачи! Со следующим проектом повезет, главное работать и совершенствоваться дальше.

  • Лайк 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Ждём, когда вульф принесёт чемодан деняг для финансирования идеи

  • Смех 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 05.08.2024 в 01:06, PSI сказал:

Да, и оно в каком то смысле даже планировалось, но сообщество настолько холодно отнеслось к этой идеи, что я сильно сомневаюсь, что стоит вкладывать еще своих ресурсов. Эта тема создана, в том числе, чтобы собрать фидбек.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
23 часа назад, PSI сказал:

В целом сообществу еще тяжело поверить в подобный проект.

А различные дискорд-серваки типа сборок на аномали (гамма, кастом, реалити etc.) или зарубежные ресурсы не пробовал посещать? ИМХО, публика там может быть лояльнее и отзывчивее, точно можно кого-нибудь найти, кто проектом заинтересуется :)


"Единственным благом является знание, а единственным злом – невежество" © Азек Ариман.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

thegodofmyopia Сомневаюсь, что там будет бурная реакция с учетом того факта, что локализованных модов не так много, а чисто англоязычных и того меньше.


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, thegodofmyopia сказал:

А различные дискорд-серваки типа сборок на аномали (гамма, кастом, реалити etc.) или зарубежные ресурсы не пробовал посещать? ИМХО, публика там может быть лояльнее и отзывчивее, точно можно кого-нибудь найти, кто проектом заинтересуется :)

Чет сомнительно. Мне кажется у него только один шанс как-то набрать аудиторию и возможно финансирование. Это запуск проекта за свой счет. Люди посмотрят что это такое, потрогают. А там уже и организовать сбор.

Не думаю, что он найдет инвестора, который оплатит ему хотя бы 50000 тыс руб на минимальный запуск сайта. Эти люди лучше задонатят эти 50-100 тыс. руб в какой нибудь сталкрафт или любой другой проект.

А собирать по 10-30 рублей с каждого это за годы не наберется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
17 часов назад, Deathman сказал:

Советую на хер послать это сообщество - оно не достойно ничего хорошего

Не всё так плохо. Просто те самые адекватные люди молча сидят и потребляют контент. А с платежеспособностью в целом в любом СНГ сообществе есть проблемы.

11 часов назад, thegodofmyopia сказал:

А различные дискорд-серваки типа сборок на аномали (гамма, кастом, реалити etc.) или зарубежные ресурсы не пробовал посещать? ИМХО, публика там может быть лояльнее и отзывчивее, точно можно кого-нибудь найти, кто проектом заинтересуется :)

Пробовал. Есть зарубежные чуваки, которые готовы помочь, но увы, у меня нет полноценного зарубежного счета, чтобы я мог выводить из Patreon или иной зарубежной платформы. А Boosty банально у многих не принимает платежи.

10 часов назад, Hardtmuth сказал:

Это запуск проекта за свой счет.

Если бы собрались хоть какие-то копейки, то да, конечно бы запустил хоть в каком нибудь виде за свой счет. Но поддержка настолько минимальна, что всякие васянки на 2 часа получают донатов больше, чем этот проект.

 

Увы, но пока расклад такой. Посмотрим что будет дальше, возможно я когда-нибудь смогу запустить полностью за свой счет. Но пока буду смотреть на сторонние игровые франшизы.

  • Лайк 2

220160712_BoostyButton.png.1b4b03bc853f53bc74de8810afccea85.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу