
- записывать игру на внутренний диск
- использовать специальные программы которые разбивали большие файлы на части, которые понимал файловый менеджер PS3 (в конечном итоге он все равно склеивал эти файлы и копировал на внутренний диск приставки)
Но существовал и еще один метод, это поднять медиа-сервер для «стриминга» контента на PS3. Собственно этим мы займемся :)
У меня на PS3 установлена CFW с функцией Cobra, что позволяет использовать ISO образы, и не требует разворачивания образа в отдельный каталог, как того требуется. Дополнительно у меня еще установлен webMAN что позволяет мне монтировать образы игр не запуская файловый менеджер и даже управлять образами и самой приставкой из веб-браузера (даже с мобильного). Но не это есть предметом данного сообщения. Кому интересно, может обратиться к документации по этому ПО или мне написать личное сообщение.
Собственно, ничего сложного в сборке этого нет (сложно было найти это все в разных форумах и собрать вместе), скачиваем подготовленный архив с исходными файлами. Этот архив предназначен для платформы Linux x86_64, хотя я его собирал и под FreeBSD и даже для роутера ASUS RT-N56U. Я уже не помню всех нюансов сборки под данную платформу, если вас интересует данный вопрос, можете мне написать в личку или почитать Issue 1106: compiling ps3netsrv. В данный архив уже включены измененные файлы «main.cpp» и «netiso.h». Разворачиваем архив и собираем.
$ tar -xzvf ps3netsrv.tar.gz
$ make
Примечание.
В архиве есть скелет rc-скрипта для автоматического запуска/остановки сервиса, но я пошел другим путем и так его и не закончил.
Запускаем все это очень просто:
$ ./ps3netsrv /mnt/media/ps3netsrv
— где /mnt/media/ps3netsrv root-директория где будет лежать контент для PS3. Внутри корневой директории создаем папки — GAMES, PS3ISO. В первую складываем обычные распакованые образы, а в вторую образы в формате ISO.
Как я и говорил рание, мы не будем использовать rc-скрипты для управление сервисом, а создадим отдельный контейнер для данного сервиса используя возможности Docker.
Создадим отдельную папку для размещения файла конфигурации создания контейнера и скопируем в него скомпилированый файл. Для примера:
$ cd ~/docker/ps3netsrv
$ cp ~/source/ps3netsrv/ps3netsrv ./
Создадим файл конфигурации:
$ vim Dockerfile
FROM sovicua:jessie
MAINTAINER Viktor M. Sytnyk <sovicua@sovic.org.ua>
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get upgrade -y
RUN groupadd -g 1000 ps3netsrv
RUN useradd -u 1000 -g 1000 -m -c "PS3 Media Server" ps3netsrv
VOLUME /home/ps3netsrv/media
RUN chown ps3netsrv:ps3netsrv /home/ps3netsrv/media
COPY ps3netsrv /home/ps3netsrv/
RUN chown ps3netsrv:ps3netsrv /home/ps3netsrv/ps3netsrv
WORKDIR /home/ps3netsrv
CMD ./ps3netsrv ./media
Создаем образ для данного сервиса:
$ docker build -t sovicua:ps3netsrv .
И запускаем контейнер:
$ docker run --net=host --name=ps3netsrv --user=ps3netsrv -v /mnt/media/ps3netsrv:/home/ps3netsrv/media -i -t -d sovicua:ps3netsrv
— где /mnt/media/ps3netsrv — корневой каталог в основной операционной системе, который монтируется в /home/ps3netsrv/media в контейнере. Все можно проверять работу нашего медиа-сервера на PS3. Думаю что вы сможете дальше не составить труда вам разобрать что и как.
В дальнейшем я планирую выгрузить данный контейнер в общий пул Docker Hub, что бы каждый мог воспользоваться данным готовым контейнером для создания медиа-сервера.
Хотелось бы услышать ваше мнение по данному вопросу.
P.S. Изначально я для базового образа забыл установить правильную временную зону, по умолчанию для контейнера была установлена UTC. Процедура изменения временной зоны для базового образа описана в небольшой статье Установка timezone в базовом образе Docker.
kvaps
Я думал о таком подходе раньше, когда кобра была еще закрытой, а данный подход доступен только для DEX-прошивок. Но спустя время у меня полетел родной жесткий диск, и я поставил первый нашедшийся у меня на терабайт.
К этому времени вышла уже кобра, со всеми плюшками и плагинами среди которых фоновый ftp-сервер.
Весь смысл в шаринге образов отпал. Образы, как и PKG файлы сливаются на плойку прямо с NAS, консольным ftp-клиентом, во время копирования можно играть в другие игрушки, места еще до фига. PKG-игры, после копирования, можно установить через Package Manager (у меня Rebug).
Тем не менее за статью спасибо, было интересно:)
sovicUA Автор
Да, сейчас это не проблема есть заменить родной диск большим. Но на заливку тоже нужно время и место,
У меня все это работает в связке с торрент клиентом Transmission который работает на домашнем NAS, соответственно я после того как скачиваю игру остаюсь на раздаче, и для того что бы играть, я просто создаю символическую ссылку в PS3ISO или GAMES на образы что лежат в папке Transmission. То-есть банально экономия места на диске, и копировать не нужно.
Как то повелось что не нравятся мне PKG и потом если нужно установить новую прошивку (я обычно делаю downgrade до 3.55) на чистую систему, нужно снова их инсталлировать. А так достаточно только данные пользователя восстановить из резервной копии.
Ghool
Я так и не собрался вложить 2500 в поход к умельцам, а покупка flashtool оказалось стоит столько же и ещё кучу времени ждать, так что я забил на взлом и купил все 3 интересующих меня игры :)
sovicUA Автор
2500 это на понижение прошивки или на ODE? У нас Cobra стоит от $60 до $80.
Я даже подумывал себе поставить, хоть у меня и прошивка 3.55, очень хотелось в онлайне поиграть.
А потом словил бан на консоль в PSN (Dark Soul игрался в онлайне) и тоже забил, если сильно уж захочется то приходится искать чистый ID и подменять, но тут есть неудобство обычно его хватает всего на пару дней.