История изменений
Исправление
Psych218,
(текущая версия)
:
Для начала нужно узнать версию Unity3D. Сделать это можно так:
cat '*_Data/*.assets' 2> /dev/null \
| grep -a -v 'Archive' \
| head -2 \
| tail -1 \
| grep -E -a -o '[0-9]+\.[0-9]+\.[0-9]+[0-9a-zA-Z]+' 2> /dev/null
Ну или открыть любой файл из GameName_Data/*.assets в hex-редакторе или даже текстовом редакторе, и там где-то в самом начале написана версия.
Под GNU/Linux Unity3D есть с четвёртой версии. Если там четвёртая, то тебе очень повезло, «портировать» так удастся точно. Если пятая, то скорее всего удастся, но иногда бывают проблемы с шейдерами (aka «розовая дристня по всему экрану»).
Версии бывают трёх типов: с буквами f, p и b. Если там есть f или p (например 5.4.1f1), то выкачать нужный плеер можно этим скриптом. Если же там b, то хз как искать, придётся либо выкачивать с сайта юнити, либо выискивать линуксовую игру с такой же версией. У меня есть коллекция версий плеера, так что если надо будет b, она может у меня оказаться.
Скачав плеер, нужно просто переименовать player.x86 в GameName.x86, player.x86_64 в GameName.x86_64 и положить их в корень игры (где сейчас лежит GameName.exe), а содержимое player_Data скопировать в GameName_Data игры (БЕЗ замены файлов, только новые которые добавить).
После этого можно пробовать запускать.
Если игра из стима, то там может быть стимовская DRM с помощью libsteam_api.so. Поскольку играть в «портированную» таким образом игру через линуксовый стим всё равно не выйдет (он просто не знает о новоиспечённой линуксовой версии), то если это DRM использовано, надо будет обойти ещё его. Благо делается это элементарно уже готовой «таблеткой».
Исходная версия
Psych218,
:
Для начала нужно узнать версию Unity3D. Сделать это можно так:
cat '*_Data/*.assets' 2> /dev/null \
| grep -a -v 'Archive' \
| head -2 \
| tail -1 \
| grep -E -a -o '[0-9]+\.[0-9]+\.[0-9]+[0-9a-zA-Z]+' 2> /dev/null
Ну или открыть любой файл из GameName_Data/*.assets в hex-редакторе или даже текстовом редакторе, и там где-то в самом начале написана версия.
Под GNU/Linux Unity3D есть с четвёртой версии. Если там четвёртая, то тебе очень повезло, «портировать» так удастся точно. Если пятая, то скорее всего удастся, но иногда бывают проблемы с шейдерами.
Версии бывают трёх типов: с буквами f, p и b. Если там есть f или p (например 5.4.1f1), то выкачать нужный плеер можно этим скриптом. Если же там b, то хз как искать, придётся либо выкачивать с сайта юнити, либо выискивать линуксовую игру с такой же версией. У меня есть коллекция версий плеера, так что если надо будет b, она может у меня оказаться.
Скачав плеер, нужно просто переименовать player.x86 в GameName.x86, player.x86_64 в GameName.x86_64 и положить их в корень игры (где сейчас лежит GameName.exe), а содержимое player_Data скопировать в GameName_Data игры (БЕЗ замены файлов, только новые которые добавить).
После этого можно пробовать запускать.
Если игра из стима, то там может быть стимовская DRM с помощью libsteam_api.so. Поскольку играть в «портированную» таким образом игру через линуксовый стим всё равно не выйдет (он просто не знает о новоиспечённой линуксовой версии), то если это DRM использовано, надо будет обойти ещё его. Благо делается это элементарно уже готовой «таблеткой».