It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Very nice, I am glad to see such a project in active development. :)
Here comes 2.0.2, more modest in size than the previous update.

The library got a couple upgrades, and should mostly improve the life of user of old WINE versions:
2.0.2

  * Fix a bug with the copy of the game binary in the user prefix for some
    native games

  * Work around WINE bug 29661 for WINE versions prior to 1.9.20
Some games got upgrades too, mostly new supported installers and better compatibility with a wider range of configurations:

 • Botanicula
    Add '-nodebug' option to help with a random early crash on Intel hardware
    Add missing dependency on libasound_module_conf_pulse

 • Darkest Dungeon
    New GOG installers supported
    Fix persistent logging

 • Hatoful Boyfriend
    Add missing dependency on wqy-microhei.ttc to fix an issue with missing text

 • Jotun
    New GOG installer supported
    Ensure that puslseaudio is running before starting the game

As usual, no update would be complete without some new supported games:

 • Anomaly 2
 • Darkest Dungeon: The Crimson Court
 • Knights of Pen and Paper
 • Osmos
 • Stacking

Let’s game ;)
avatar
Pangaea666: On Linux Mint 17.1 I'm getting

ubuntu
linux
linuxmint
I have upgraded to Linux Mint 18.2 Cinnamon (64-bit) recently, with kernel 4.8.0.53, and your commands yield slightly different results.

linuxmint
linux
linuxmint
avatar
Gede: May I suggest that you place a link to your website on the first post (or to another, more relevant post on this subject), and write a little bit about why this project exists, what problems does it solve, how it works, how can someone contribute to it, and so on? I think it would help with adoption.
avatar
PookaMustard: And, I didn't understand the OP enough, so what's the point of ./play.it? Is it allow easy integration of the games on platforms where gog_xyz.sh installers aren't supported by default?
avatar
vv221: For Linux games sold on GOG, ./play.it scripts provide a better integration, mainly a system-wide installation and menu entries, and an integration with your package manager. For games using DOSBox, ScummVM or WINE, it will use your system-provided version instead of the one bundled in the installer.
For Windows games, it will do the same ;-) That way you will avoid all the data extracting and WINE/DOSBox fiddling and get something that "just works" without spending half a day on it.
avatar
vv221: (from the Witcher forum)
That’s a question that comes a lot, I think I should write at some point a full description in English of the purpose of this project ;)

About the way the scripts work, it’s quite simple: the game data is extracted via innoextract (for The Witcher, other tools are used for other games), a bit re-organized, then packaged in a .deb package that you can install afterwards on any distribution that supports .deb packages.

Here goes a list of some of its advantages over a direct installation via WINE/PlayOnLinux:

_Package building works unattended even on a headless system, meaning you can use your machines at work to build the package and then transfer it on your own machine to install it ;)

_Once you built the .deb package you can keep it to have a way to install the game more quickly than via WINE.

_Game data is installed with read-only permissions, you can’t mess with it by accident.

_On multi-users systems, you just need to install the game once and it will work for every user.

_You can at any time reverse the game at its "freshly installed" state in a couple seconds, without the need to re-install it. It is especially useful if you like to tinker with lots of mods (I don’t know if it is pertinent for The Witcher).

_User-specific data is kept in directories in each user $HOME directory, directories you can easily copy between different systems without having to track down saves & settings files "by hand".

_Saves & settings are persistent, even if the original game did nothing to ensure this. This means you can uninstall the game to recover disk space, and if you re-install it later you will keep you saves & settings.

_Save & settings are per-user even if the original game doesn’t take care of this: each user of a same system can use different settings and a different set of saves without this changing anything for the other users.

_For some games (The Witcher included) some tweaks are applied on first run to make sure the game works as intended without the need for the user to worry about anything (PlayOnLinux does this too).

_Your system-wide installation of WINE is used (PlayOnLinux installs a new WINE version for nearly each and every game).

_Integration with your environment is seamless: once the game is installed you have no way to distinguish it from a game installed via the official repositories of your distribution.

-----

Any question you might have about all of this is welcome ;)
Excuse me for the many quotes (hope it goes through), but I wonder if there has been progress on writing some paragraphs on what these scripts do, in clear terms, for us noobs?

Also, reading that old quote I managed to dig up, isn't it risky to make data files read-only? Many games write to some of the files, like settings and so forth.

Two more questions
1) I checked out the github, and noticed that Banished isn't listed in the scripts, of either v1 or v2, yet it's on the webpage and you put it in the Banished forum. Is there a problem with this script? I saw we had some issues trying to install it (I've not tried again, but maybe I should).
2) A couple of times I saw that the package realpath was needed, but from what I could gather from the source code, it's not checked for in the script. Wouldn't this be a good idea? You mentioned somewhere that it's part of the core packages on Debian (?), but it's apparently not so on Mint, and I just re-installed 18.2 yesterday. It's not there either.

Oh darn it, one more =)
3) Looks like the scripts default to /usr/local. I'm probably not alone in having a relatively small / (root) and big /home, or separate harddisks for games/big files. Is there a way to set a custom path for all the scripts, or is it possible to get queried for where you want to install the game once the .deb has been created -- like is the case for the GOG installers? In my case for instance, I'm installing the games to an additional harddisk that is formatted with ext4.
Post edited July 21, 2017 by Pangaea666
avatar
Pangaea666: I wonder if there has been progress on writing some paragraphs on what these scripts do, in clear terms, for us noobs?
It’s not done yet, but I’m still working on it.

avatar
Pangaea666: Also, reading that old quote I managed to dig up, isn't it risky to make data files read-only? Many games write to some of the files, like settings and so forth.
Everything the user need write access to is copied into user directories, including mostly configuration and saved games. It allows different users to share the same game installation while having their own set of configuration and saved games.

avatar
Pangaea666: I checked out the github, and noticed that Banished isn't listed in the scripts, of either v1 or v2, yet it's on the webpage and you put it in the Banished forum.
I think you missed it, here it is:
https://github.com/vv221/play.it/blob/master/play.it-1/play-banished_gog-2.5.0.9.sh

avatar
Pangaea666: A couple of times I saw that the package realpath was needed, but from what I could gather from the source code, it's not checked for in the script. Wouldn't this be a good idea?
Since ./play.it 2, realpath is no longer used by the scripts. If I need to update some ./play.it 1 scripts, I’ll add realpath to their list of dependencies.

avatar
Pangaea666: Looks like the scripts default to /usr/local. I'm probably not alone in having a relatively small / (root) and big /home, or separate harddisks for games/big files. Is there a way to set a custom path for all the scripts, or is it possible to get queried for where you want to install the game once the .deb has been created -- like is the case for the GOG installers?
You can use the --prefix option to set this path when building the package, like this:
./play-caesar-3.sh --prefix=/opt/games/caesar-3
Indeed I did, sorry about that.

avatar
vv221: Since ./play.it 2, realpath is no longer used by the scripts. If I need to update some ./play.it 1 scripts, I’ll add realpath to their list of dependencies.
Cheers, that sounds good. I have it installed anyway now, but thought I should mention it just in case, for other users.

avatar
Pangaea666: Looks like the scripts default to /usr/local. I'm probably not alone in having a relatively small / (root) and big /home, or separate harddisks for games/big files. Is there a way to set a custom path for all the scripts, or is it possible to get queried for where you want to install the game once the .deb has been created -- like is the case for the GOG installers?
avatar
vv221: You can use the --prefix option to set this path when building the package, like this:

./play-caesar-3.sh --prefix=/opt/games/caesar-3
avatar
vv221:
That is actually what I done, thanks to the information on your site. However, it appears that some extra folders are created. Useful for installing in the default location, but less so in my case since I already have a folder structure in place (essentially a games folder), so the structure would become: DISK/GOG Games/games/the-witcher
... or something like that. I thought that when I set a folder, the game folder would be straight into it, instead of behind 1-2 other folders like games and/or applications. That's one of the things I like about the GOG installers, that I can put the games where I want, and then they get "proper" names like "The Witcher Enhanced Edition" for instance.

Sorry if this seems like nitpicking.

There is probably something I don't understand, but for games that GOG have released with Linux installers, on single-user systems, what is the benefit these scripts bring? Are there performance increases for instance? Cause it seems easier to me to just use their installers, install the game in a few clicks where I want, instead of building a new package and then installing it, having to use terminal and such to prevent it from intalling on the root partition.
avatar
Pangaea666: (…)
About the extra directories (share/games/the-witcher, share/applications, games, etc.), I’ve no idea right now about how to provide an option to not get them, but I’ll keep that in mind next time I work on the relevant part of the library.

For what ./play.it brings for native Linux games, it’s more subtle than for Windows/DOS games but there are still a couple benefits:
_installation/uninstallation is quick and easy once the package is built
_the game is detected and managed by your usual package manager
_no need to track down dependencies, it is handled automatically by our package manager
_some tweaks like persistent logging or multiple profiles are added to games missing them
Quite a lot of people have been asking me to do it, and it’s finally done: ./play.it now accepts donations!

So you can support the team behind ./play.it on Liberapay, a website allowing for recurrent anonymous micro-donations:
https://liberapay.com/play.it/

If you ever contributed to ./play.it, get in touch with me and I’ll guide you through the process of joining the team on Liberapay. You can join the team without asking for a portion of the donations if you do not wish to.

By the way, Liberapay is a free/libre/open-source project, you can find its source code on GitHub:
https://github.com/liberapay/liberapay.com
./play.it 2.1 went live a couple days ago, so let’s see what’s new with this one ;)

For starters, there are some new features in the library, all supported games should benefit from these:
2.1.0

  * First fully installable version of ./play.it

  * New script 'play.it' automatically loading the adequate game-specific
    script for the archive given in argument

  * Display an error when calling a script with unsupported arguments

  * New function easing the management of icons provided by post-installation
    links

  * New application type allowing to run native games without using a
    ./play.it prefix

  * The library can now be loaded without implying that it has been called by
    a ./play.it script, making it easier to use by third-party projects
 
As usual, a couple scripts got updates since the previous announcement:

 • 140
New Humble installer
 • Chaos Reborn
New GOG installers
 • Jazzpunk
Add optional icons pack
 • Jotun
New GOG installer
 • War for the Overworld
New GOG installer

And of course, a new version means new supported games:

 • Anima: Gate of Memories
 • Hollow Knight
 • Icewind Dale - Enhanced Edition
 • J.U.L.I.A Among the Stars
 • Melody’s Escape
 • Reus
 • Shadowrun: Hong Kong
 • Solar 2
 • Startopia
 • The Blackwell Epiphany
Post edited August 24, 2017 by vv221
The minor update 2.1.1 for ./play.it went live a couple days ago, focusing mostly on fixes and syntax improvements.

Have a look at the changelog if you’re insterested in this kind of stuff, or go directly a couple lines below for games-related updates:
2.1.1

  * Fails gracefully if organize_data() is called before setting $PKG

  * Fix a bug where postinst_icons_linking() would erase the prerm/postinst
    prior content instead of appending to it

  * Fix a bug with wrestool, where calling it once with the --name option
    would have this option been carried out to all subsequent invocations
 
While more than 70 scripts got modifications in one way or another while building this update, only the following ones should have a direct impact on ./play.it users:

 • Crypt of the NecroDancer
   New supported GOG installers
 • Neon Drive
   New supported Humble installer

Last but not least, the ./play.it collection never stops growing, so here go a couple new supported games:

 • A Story About My Uncle
 • Anomaly Defenders
 • Arcanum: Of Steamworks and Magick Obscura
 • Baldur's Gate
 • Baldur's Gate II
 • Candle
 • Heroes Chronicles
 • Heroes of Might and Magic V - Tribes of the East
 • Invisible Inc.
 • The Longest Journey
 • To The Moon
 • Torchlight
 • Tropico

You might have seen some of these games on ./play.it website prior to this update, but they were still using the old Debian-specific scripts. Now they use ./play.it 2 scripts, coming with the ability to build Arch Linux packages (amongst quite a lot of other things).

Let’s game!
Post edited September 23, 2017 by vv221
avatar
vv221: Let’s game!
I have been trying to install Settlers 2 again and this is what I get when I run the sh ./play-the-settlers-2.sh:
Hashsum mismatch. setup_settlers2_gold_german_2.1.0.17.exe is not the expected file.
Use --checksum=none to force its use.

How can I resolve this problem?
avatar
Matruchus: (…)
It seems there has been a silent update to the German installer, I’ll update my script to handle this.
Meanwhile you can run the script like this to bypass the MD5 integrity check:
./play-the-settlers-2.sh --checksum=none setup_settlers2_gold_german_2.1.0.17.exe
Hello World! ./play.it 2.2.0 has been around for a week now, so it might be time to share the news with all of you ;-)

Let's start with the changes affecting all scripts:
2.2.0

  * Automatically detect archive type for *.rar files

  * Allow to use multiple fallback values for $ARCHIVE_PATH and $ARCHIVE_FILES

  * Make /tmp/play.it world-writable to allow using ./play.it more easily on
    shared systems

  * Allow to set package-specific values for $APP_OPTIONS, $APP_PRERUN and
    $APP_POSTRUN

  * Add $APP_POSTRUN support to WINE launchers

  * Skip building already existing packages

  * New distro-agnostic method to declare dependencies
 
As usual, a bunch of scripts got updated since the last post in this thread:
 • Baldur's Gate
   Use a virtual dekstop on first launch to avoid messed up display with some GPU drivers
 • Baldur's Gate - Enhanced Edition
   Base package renamed from 'baldurs-gate-ee' to 'baldurs-gate-enhanced-edition'
   Merge data, movies and music packages together
 • Baldur's Gate II
   Use a virtual dekstop on first launch to avoid messed up display with some GPU drivers
 • Baldur's Gate II - Enhanced Edition
   Base package renamed from 'baldurs-gate-2-ee' to 'baldurs-gate-2-enhanced-edition'
   Merge data, movies and music packages together
 • Darkest Dungeon
   New GOG installers supported
 • Darkest Dungeon: The Crimson Court
   New GOG installers supported
 • Emperor: Rise of the Middle Kingdom
   Use a virtual dekstop on first launch to avoid messed up display with some GPU drivers
 • Fran Bow
   Fix list of Debian dependencies
 • Heroes Chronicles
   Use a virtual dekstop on first launch to avoid messed up display with some GPU drivers
 • Invisible Inc.
   Add missing license file
 • Nihilumbra
   Fix list of Debian dependencies
 • Osmos
   Fix list of Debian dependencies
 • War for the Overworld
   New GOG installers suported
 • Windward
   New Humble installer supported
   Fix support for old installers

And let’s wrap it up with your favourite section, the list of new supported games:
 • A Good Snowman is Hard to Build
 • Anno 1404
 • Aragami
 • Deus Ex *
 • Lumo
 • Oddworld: Abe's Oddysee
 • Pharaoh *
 • Renowned Explorers: International Society
 • Star Wars Battlefront II *
 • SteamWorld Dig *
 • System Shock 2 *
 • The Fall
 • Zeus: Master of Olympus *
* Games marked with an asterisk were already supported by a ./play.it 1 script (for Debian and derivatives only) and are now supported by a new ./play.it 2 script (for Debian + Arch Linux and derivatives)

Let’s game!
avatar
Matruchus: I have been trying to install Settlers 2 again and this is what I get when I run the sh ./play-the-settlers-2.sh:
Hashsum mismatch. setup_settlers2_gold_german_2.1.0.17.exe is not the expected file.
Use --checksum=none to force its use.

How can I resolve this problem?
The script for The Settlers II has been updated, the new German installer is now supported.
avatar
vv221: Hello World! ./play.it 2.2.0 has been around for a week now, so it might be time to share the news with all of you ;-)

Let's start with the changes affecting all scripts:

2.2.0

* Automatically detect archive type for *.rar files

* Allow to use multiple fallback values for $ARCHIVE_PATH and $ARCHIVE_FILES

* Make /tmp/play.it world-writable to allow using ./play.it more easily on
shared systems

* Allow to set package-specific values for $APP_OPTIONS, $APP_PRERUN and
$APP_POSTRUN

* Add $APP_POSTRUN support to WINE launchers

* Skip building already existing packages

* New distro-agnostic method to declare dependencies
avatar
vv221:  
As usual, a bunch of scripts got updated since the last post in this thread:
Baldur's Gate
Use a virtual dekstop on first launch to avoid messed up display with some GPU drivers
Baldur's Gate - Enhanced Edition
Base package renamed from 'baldurs-gate-ee' to 'baldurs-gate-enhanced-edition'
Merge data, movies and music packages together
Baldur's Gate II
Use a virtual dekstop on first launch to avoid messed up display with some GPU drivers
Baldur's Gate II - Enhanced Edition
Base package renamed from 'baldurs-gate-2-ee' to 'baldurs-gate-2-enhanced-edition'
Merge data, movies and music packages together
Darkest Dungeon
New GOG installers supported
Darkest Dungeon: The Crimson Court
New GOG installers supported
Emperor: Rise of the Middle Kingdom
Use a virtual dekstop on first launch to avoid messed up display with some GPU drivers
Fran Bow
Fix list of Debian dependencies
Heroes Chronicles
Use a virtual dekstop on first launch to avoid messed up display with some GPU drivers
Invisible Inc.
Add missing license file
Nihilumbra
Fix list of Debian dependencies
Osmos
Fix list of Debian dependencies
War for the Overworld
New GOG installers suported
Windward
New Humble installer supported
Fix support for old installers

And let’s wrap it up with your favourite section, the list of new supported games:
A Good Snowman is Hard to Build
Anno 1404
Aragami
Deus Ex *
Lumo
Oddworld: Abe's Oddysee
Pharaoh *
Renowned Explorers: International Society
Star Wars Battlefront II *
SteamWorld Dig *
System Shock 2 *
The Fall
Zeus: Master of Olympus *
* Games marked with an asterisk were already supported by a ./play.it 1 script (for Debian and derivatives only) and are now supported by a new ./play.it 2 script (for Debian + Arch Linux and derivatives)

Let’s game!
I tried to setup systemshock2 with the new files and installer. I had it installed with the previous instructions. With the new stuff, I get an error. The installer OK's the file checksum it appears, but the data extracted from the GOG download, isn't expected. Here is what I see:

Using setup_system_shock_2_2.46_nd_(11004).exe
Checking integrity of setup_system_shock_2_2.46_nd_(11004).exe OK
Extracting data from setup_system_shock_2_2.46_nd_(11004).exe
Warning: Unexpected setup data version: 5.5.7 (unicode)
Warning: Unexpected Privileges value: 4
Stream error while parsing setup headers!
├─ detected setup version: 5.5.7 (unicode)
└─ error reason: basic_ios::clear: iostream error
If you are sure the setup file is not corrupted, consider
filing a bug report at http://innoextract.constexpr.org/issues
Done with 1 error and 2 warnings.


I'm not sure, but it looks like the downloaded file is correct, so something else must be happening. I saw some
other instructions you posted, and although they didn't seem to apply, i tried them anyway, which was using the
checksum=none option. The result of that test was the same error, it just didn't check the integrity.

I know you are busy and the ./playit packages are awesome, but was wondering if you might have any ideas. No
biggie since I'm not playing the game, just configuring and updating things. Thank you for providing ./playit , it is
greatly appreciated.

Sincerely,
mcbake