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

×
...and if you do, this may help.

Mono doesn't like when the environment variable TERM is set to anything but "xterm" (check yours by opening a terminal window and running echo "$TERM"). The default for me, running Konsole on KDE5 on Arch, is "xterm-256color", so the game won't launch, but instead throws a bunch of exceptions:

Unhandled Exception:
System.TypeInitializationException: The type initializer for 'GSGE.AssertHandler' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.Console' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.ConsoleDriver' threw an exception. ---> System.Exception: Magic number is wrong: 542
[TOO LONG, CUT OFF MOST OF IT]
--- End of inner exception stack trace ---
at System.Console.SetupStreams (System.Text.Encoding inputEncoding, System.Text.Encoding outputEncoding) [0x00007] in <4bafc978642b4fd6b6c08368db3d2bdc>:0
at System.Console..cctor () [0x0008e] in <4bafc978642b4fd6b6c08368db3d2bdc>:0
--- End of inner exception stack trace ---
at GSGE.AssertHandler..ctor () [0x0000d] in <2b5334eba16e4b01b74e9fbda4fa5b11>:0
at (wrapper remoting-invoke-with-check) GSGE.AssertHandler:.ctor ()
at GSGE.AssertHandler..cctor () [0x00000] in <2b5334eba16e4b01b74e9fbda4fa5b11>:0
--- End of inner exception stack trace ---
Note, the game runs fine (for me) if not launched from the terminal, but from the menu/desktop icon created at install. However, I often use the terminal even to launch graphical applications such as games, so I devised a quick fix.

In the file game/Pyre, there are two checks for the current OS, first to see if it's OS X/macOS, and if it's not that, then to see if it's a 64-bit Linux.
Shortened-up, it looks like this:

if [ "$UNAME" == "Darwin" ]; then
# These instructions are for OS X, because Mono and this shell script is used on both platforms.
# We don't care about that, what's interesting is what's after the "else"
else
if [ "$ARCH" == "x86_64" ]; then
./Pyre.bin.x86_64 $@
else
./Pyre.bin.x86 $@
fi
fi
We need to add a single line to that file, so that the environment variable TERM looks like Mono expects it to:

else
export TERM=xterm
if [ "$ARCH" == "x86_64" ]; then
And there you go - as long as you remember not to run Pyre.bin.x86 or Pyre.bin.x86_64 directly, it should work (instead use GOG's start.sh, or the script we just changed, Pyre).

Said line could instead be added before the relevant ./Pyre.bin... line, or at any point before if [ "$UNAME" == "Darwin" ], but I thought it felt most logical directly within the else block as that only applies to Linux, and to both 64 and 32-bit.
Post edited March 08, 2018 by Maighstir
Hey thx, with this I got it started, no sound though. Probably need to install "apulse".
Thanks for the tip, saved my day off :)
Underlying issue in Mono bug tracker: github.com/mono/mono/issues/6752 (I can't post links because of some stupid forum rules)
avatar
kolen: Underlying issue in Mono bug tracker: https://github.com/mono/mono/issues/6752
Now your link works, despite stupid forum rules ;)