Кратко о главном: В сегодняшнем материале мы детально рассмотрим, как можно обмениваться играми между компьютерами на которых установлены операционные системы Linux и Windows. Зачем спросите вы? Это для того чтобы сэкономить время загрузки игр (гры). Я имею надежды, что этот материал многим поможет сэкономить ваше время на загрузку большого количества игр, сохранит ваш трафик и конечно же ваши нервы, мне данный метод помог сократить почти 83% трафика и время которое не было зря потрачено.

Если вы достаточно часто играете в игры как в Linux так и Windows, вы геймер который активно использует Steam и все его возможности, вы хотели бы добавить ваши игры которые у вас установлены в Windows на Linux, вы не хотите повторно загружать 10 и более гигабайт, некоторые игры весят по 20-50 и более, это огромное количество времени которое вам придется ждать, но этот процесс можно существенно сократить, ниже мы рассмотрим метод как подобное осуществить.

Переносим игры в Steam с Linux на Windows и наоборот

Многие из нас геймеры, которые активно используют двойную загрузку игр как в Linux так и Windows. Некоторые из нас пользовались бы только Linux если бы для него было бы то количество игр как для Windows, из-за этого большинство пользуется клиентом Steam который позволяет хоть как-то сократить ту пропасть которая образовалась между Linux и Windows и количеством игр которое доступно под эти ОС. Хотя и большое количество игр уже разработано / портировано для linux, но все же пропасть еще огромная, сегодняшний материал хоть немного, но все же поможет сократить ее.

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

На текущий момент вы можете установить с помощью Steam в Linux такие игры как Life is Strange, Tomb Raider 2013, Shadow of Mordor, XCOM: Enemy Unknown, XCOM 2, Race The Sun, Road Redemption, SUPERHOT, так же ожидаем новые игры Deus Ex: Mankind Divided and Mad Max. Вместо того, чтобы пользоваться этими играми сразу после релиза как это доступно для Windows, мы должны ждать годы не ясно сколько, пока кто-то из разработчиков решит и портирует ее для Linux, у всех игроманов это вызывает большое недовольство, а как иначе, другой реакции ожидать и не стоит так как разработчики первым делом пишут игры лишь для операционных систем которые более популярны и с которых они могут первым делом собрать прибыль, а Linux уже в последнюю очередь, к большому сожалению так и есть.

Экспериментальный метод который я опишу чуть ниже, показывает, как использовать существующие файлы игр на любой платформе, что позволяет восстановить абсолютно любую игру которая у вас установлена в Steam на Windows или в Linux. Это приводит к тому, что мы ждем гораздо меньшее времени которое было бы потрачена на повторную установку игры, мы хотим получить удовольствие от игры, а не сидеть в ожиданиях когда завершится повторная установка игры в другой OC, верно же.

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

1. Резервное копирование и восстановление в Steam

Когда я попытался использовать Steam для создания копии данных с Steam в Windows и с последующим переносом на Linux (файлы в формате .csd), Steam для Linux не признает эти файлы родными, он не понимает, что это и просто начинает загружать всю игру от 0 МБ! Даже делает проверку валидации, подавляющее большинство файлов не могут пройти идентификацию. Были также попытки сделать подобное испытание на Windows, но результат был тот же!

Используем резервное копирование в Steam
Валидация файлов в Steam

Как видите попытки с резервным копированием оказались безуспешными и ничего не получилось, пришло время к использованию метода в ручном режиме для некоторых ручных настроек чтобы в итоге произвести перенос Steam игр с Windows на Linux и наоборот!

2. Ручной метод переноса игр в Steam между Linux и Windows

Прежде всего был произведен визуальный осмотр каталогов в которых хранятся игры Steam в Linux. Переходим в Домашнюю директорию вашей Ubuntu выполняем комбинацию "CTRL+H", отобразятся скрытые директории, ищем .local и .steam. Перейдем по пути .loacal - share - Steam - steamapps - common - SUPERHOT(Your name Game), первое, что стоит отметь с первых отличий, так это то, что в Linux используется для запуска родной исполняемый файл "SUPERHOT.x86_64" в отличие от файла ".exe" в Windows:

Смотрим директорию SUPERHOT

далее мы перейдем в директорию .loacal - share - Steam - steamapps - common - SUPERHOT - SUPERHOT_Data(your name game for windows). Это директория, которая содержит большинство файлов, которые нам нужны (для обмена играми между Windows и Linux):

Смотрим директорию SUPERHOT_Data

Ниже мы видим .acf файлы. "Appmanifest_322500.acf" является одним из тех файлов который нам нужен. Редактирование и настройка этого файла поможет в многом для достижения нашей цели, чтобы в итоге заставить Steam признать существующие незашифрованные резервные копии файлов которые хранятся в директории .steam - steam - steamapps - common:

Открываем на редактирование файл манифеста

Для того, чтобы подтвердить перенос игры, просто откройте файл с помощью текстового редактора, того же gedit или geany и проверим содержимое. Чем больше вы будете понимать содержимое этих файлов, тем лучше. Вот пост на форумах Steam, где объясняется его огромное значение. Содержимое выглядит примерно так:

“AppState”
{
“appid”        “322500”
“Universe”        “1”
“name”        “SUPERHOT”
“StateFlags”        “4”
“installdir”        “SUPERHOT”
“LastUpdated”        “1474466631”
“UpdateResult”        “0”
“SizeOnDisk”        “4156100762”
“buildid”        “1234395”
“LastOwner”       “<SteamID>”
“BytesToDownload”        “909578688”
“BytesDownloaded”        “909578688”
“AutoUpdateBehavior”        “0”
“UserConfig”
{
“Language”        “english”
}
“MountedDepots”
{
“322503”        “1943012315434556837”
}
}

После удаления игры в Linux, давайте проверим ради теста, и посмотрим на содержание той же игры в Windows 10:

Проверяем директорию Supershot в Windows 10
Смотрим директорию SH_Data в Windows 10

Мы скопировали папку "SUPERHOT", а также файл манифеста (.acf) (он создается в том же формате, в Steam, для Windows). При копировании файла .acf в каталог в соответствующие места в Steam для Linux, мы убедились, что Steam не работает в фоновом режиме.

После того, как копирование было завершено, мы увидели в Steam следующее:

Смотрим реакцию Steam после завершения копирования файлов

Таким образом, вместо загрузки целых 867,4 МБ, Steam идентифицировал большую часть файлов и предлагает нам скачать всего лишь 235,5 МБ. Так что это является наверное прорывом во времени, условно говоря. Хотя все это может отличаться для различных игр, конечно, безусловно, стоит попробовать для геймеров, которые имеют игры весом 40-50 Гб, в наше время это не редкость.

Что мы попробовали:

  • Как я уже выше писал, просто перенос резервной копии ничего не дает и Steam этого не определяет предлагая скачивание игры заново и в полном ее размере. 
  • Мы можем видеть, что файлы данных которые нам нужны в Windows находятся в директории "SH_Data", в отличии от Linux, где директория называется "SUPERHOT_Data". Переименование директории так же не дает никакого результата если попробовать просто перенести игры скопировав их.

Попытка изменить файл манифеста

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

В сети есть проект на Github, который использует Python скрипт для генерация именно этих файлов манифеста. AppID для любой Steam игры можно получить из SteamDB. Зная идентификатор приложения, вы можете создать свой собственный файл манифеста через ваш текстовый редактор, используя следующий формат: "appmanifest_ <AppID> .acf". В приведенном выше ручном методе, мы можем видеть, что AppID для SUPERHOT является 322500. Следовательно, имя файла будет appmanifest_322500.acf.

Давайте попробуем документировать его в файле в соответствии с нашими лучшими интерпретациями:

“AppState”                           // The State of the Application(Game)
{
“appid”        “322500”              // The Steam Application ID of the Game
“Universe”        “1”
“name”        “SUPERHOT”            // Game Name
“StateFlags”        “4”
“installdir”        “SUPERHOT”      // Installation Directory Name
“LastUpdated”        “1474466631”
“UpdateResult”        “0”
“SizeOnDisk”        “4156100762”
“buildid”        “1234395”
“LastOwner”        “<SteamID>”        // Unique <SteamID> for account owner in numerical format
“BytesToDownload”        “909578688”  // Divide this number by 1073741824(1024 x 1024 x 1024) to calculate data remaining to download in GB.
“BytesDownloaded”        “909578688”  // Bytes downloaded
“AutoUpdateBehavior”        “0”       // The game will update automatically when this is set to 0.
“UserConfig”                          // User Configuration
{
“Language”        “english”
}
“MountedDepots”                       //  This section is mostly related to Game DLCs
{
“322503”        “1943012315434556837”
}
}

Экономия загрузки данных свыше 83%

Подсчитав размер загрузки данных в ГБ / МБ, в итоге мы можете сделать вывод, что ручной метод описанный выше, помог нам сэкономить более 83% данных которые нам не нужно было заново загружать.

Загрузка остатка необходимых данных игры после завершения идентификации

Я использовал метод описанный выше, в итоге это сохранило мне немного и не мало 19,8 ГБ данных которые мне не пришлось загружать заново.

Как видно с скриншота выше, я опробовал описанный способ на игре XCOM 2, которая имеет размер 23,6 Гб, в результате Steam идентифицировал большинство файлов и мне пришлось загрузить всего лишь 3,8 ГБ.

Завершение идентификации

Это чуть более 83%. Удивительно, не так ли?

Видеоинструкция в дополнение

Если у вас возникли сложности, смотрим видео выше как это делают другие пользователи на Linux Mint.

Пожалуйста, поделитесь с нами в комментариях, если вы знаете о подобных методах или точнее сказать трюках / с редактированием файлов манифеста или других решений / способов которые позволяют с помощью ручных обходных путей совершить определенные манипуляции которые облегчают жизнь для всех игроманов Steam. В будущем нам еще предстоит создать полную документацию по файлам манифестов, поскольку она еще не доступна нигде официально в сообществе разработчиков Valve и на форумах ничего нет.

Но на данный момент, это лучший способ для переноса игр Steam между Linux и Windows.

Источник: itsfoss.com

Понравилась статья?
Кратко о главном: В сегодняшнем материале мы детально рассмотрим, как можно обмениваться играми между компьютерами на которых установлены операционные системы Linux и Windows. Зачем спросите вы? Это для того чтобы сэкономить время загрузки игр (гры)....
Обзоры
799
Рейтинг: 5/1
При перепечатке материалов указание ссылки на linuxsoid.com обязательно.

Подпишитесь на рассылку

Смотрите также:
    11 причин почему Linux лучше чем Windows 11 причин почему Linux лучше чем Windows

    Кратко о главном: Вам интересно, почему и чем Linux лучше, чем Windows? Не удивляйтесь. Linux лучше, чем Windows, и в этой статье, я опишу преимущества Linux над Windows.

    Если вы не являетесь продвинутым пользователем, может показаться, что "Windows" является лучшим выбором (или проще) по сравнению с Linux. В любом случае, если вам не понравилось работать в Linux, то для вас очевидно Windows лучше. Однако, в действительности, имея опыт работы в разных операционных системах, мы можем сравнить их и сделать свои выводы, в чем Linux лучше чем ОС Windows.

    Лучшие сайты об играх для Linux Лучшие сайты об играх для Linux

    За последние годы вы уже наверное как и я увидели, что все больше игр становятся доступными для Linux, все больше разработчиков присоединяется к Valve чтобы разрабатывать игры на продажу в Steam. Все чаще мы слышим новости о портировании популярных игр для Linux, это говорит лишь о том, что Linux становится все популярнее в мире операционных систем и теперь крупные игроки игрового рынка так же делают ставки на то, что Linux может приносить доходы и не хуже Windows. Конечно, та же корпорация Valve в большей части рассчитывает в долгосрочной перспективе на прибыльность игр которые разрабатываются для Linux дистрибутивов, с каждым годом все больше пользователей открывают для себя Linux и обретают те возможности которых они не могли получить в других операционных системах.

    Сегодня материал об играх, но немного в другом направлении, мы обсудим топ 10 сайтов которые пишут материалы, новости об доступности новых игр, портировании и прочих нововведениях для Linux.

    Novatio - модульная игровая консоль для запуска игр в Linux Novatio - модульная игровая консоль для запуска игр в Linux

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

    Это проект, который основался в Италии, он работает над новой современной модульной игровой консолью. Эта консоль будет работать используя дистрибутив Linux под названием NovOS, который сможет совместить возможность играть в все игры которые доступны в Steam, в том числе и в игры для Windows, утверждает инженер проекта Samuele Bagalà.

    Как установить Steam в Ubuntu 16.04 LTS Как установить Steam в Ubuntu 16.04 LTS

    В сегодняшнем материале я опишу как установить Steam в Ubuntu 16.04 LTS. Имеется два способа установки клиента Setam в Ubuntu, первый и рекомендуемый, это конечно подключить системный репозиторий Multiverse. Перейдем в Параметры системы - Программы и обновления - Программное обеспечение Ubuntu, далее установим галочку напротив пункта "Программы, ограниченные патентами или законами multiverse", подтвердите изменения введя пароль администраторы и нажмите кнопку "Обновить" для обновления источников и проверки доступных обновлений программного обеспечения.

    Создаем загрузочную флешку с Ubuntu в Windows, Mac и Linux Создаем загрузочную флешку с Ubuntu в Windows, Mac и Linux

    Сегодня 1 апреля 2016, близится тот день когда выйдет стабильный релиз Ubuntu 16.04 LTS с долгосрочной поддержкой, осталось ждать совсем уже немного, 21 апреля вроде как почти в конце месяца, но 3 недели пройдут очень быстро и не успеем оглянуться. К этому событию я решил написать материал о том как создать загрузочную флешку с Ubuntu 16.04 так как это не будет лишним. 

    Live CD, Live Linux USB позволяют работать в Ubuntu на вашем компьютере без необходимости установки на жесткий диск. Загрузочная флешка являются очень полезной для того чтобы проверить совместимость аппаратного обеспечения.

    CrossOver - установщик Windows приложений в Linux CrossOver - установщик Windows приложений в Linux

    CrossOver (ранее известный как CrossOver Office) - программа, позволяет запускать практически все приложения, предназначенные для ОС Microsoft Windows в Linux и Mac OS X, главное преимущество еще в том, что устанавливать Windows на виртуальную машину не требуется.

    CrossOver создаётся компанией CodeWeavers на основе исходных кодов свободного аналога — Wine. При этом сам он является коммерческим продуктом. Разработчики CodeWeavers добавляют собственные заплатки, а также графические утилиты конфигурации. Кроме того компания нанимает нескольких разработчиков Wine, а также возвращает многие свои наработки в свободный проект.

Здравствуй Гость, как Вы видите еще никто не оставил свой комментарий, будьте первым, поделитесь мнением о материале выше.

avatar