protonscr

Ticket to Ride doesn't work

steamclosed reviewed3rd party game
ValveSoftware/steam-for-linux#2951 · opened 2013-10-28 by Alarmfifa · updated 2017-09-24 · 23 comments · github
1 matching comments, n / p to jump
AAlarmfifa 2013-10-28 github

Ticket to Ride doesn't work from Steam.
If I launch the game manually (without Steam) it works perfectly.
(I mean $ cd ~/.local/share/Steam/SteamApps/common/Ticket\ to\ Ride/ && ./custom-ticket-to-ride-64 )
But when I try to launch it from Steam interface, a java process hangs and the game doesn't start.
Unfortunately, if I launch T2R not from Steam, there are no purchased maps =( consequently, I can't play at all...

My sysinfo is here.

Ggdrewb-valve maintainer 2013-10-28 github

Does it work if you disable the overlay in the game properties?

Jjohndrinkwater 2013-10-28 github

Its not an overlay issue, ./custom-ticket-to-ride-32 is called from steam, it waits on dlopen a 32bit lib, which breaks in a 64bit JVM causing this hang.

# BridJ: dlopen error = Steam/SteamApps/common/Ticket to Ride/lib/linux-x86/libdowsteam.so: wrong ELF class: ELFCLASS32

Renaming ./custom-ticket-to-ride-64 to ./custom-ticket-to-ride-32 also fails because their script guesses the arch from the filename of the launcher :|
Editing ./custom-ticket-to-ride-32 script gets you into the game, but you cannot get access to the maps because of missing 64bit java steamworks.

Ggdrewb-valve maintainer 2013-10-28 github

This isn't a Steam issue, then? You should report this to the app developers too.

Jjohndrinkwater 2013-10-28 github

Partially, dev needs to add their ./custom-ticket-to-ride-64 to a 64bit launch option and also ship with 64bit steamworks.

AAlarmfifa 2013-10-29 github

Hi guys, thanks for your answer.
@gdrewb-valve

Does it work if you disable the overlay in the game properties?

Unfortunately I forgot to test this case. Now I don't have an access to my PC, I'll check it in the evening.
@johndrinkwater
I agree, that it is very strange to try launch only 32bit. But, I didn't only rename a script, I also changed a ./custom-ticket-to-ride-32 so, that it launched a *64 one. And I saw in process list, that ./custom-ticket-to-ride-64 was launched, but it didn't help me.
Following this discussion I decided, that the problem could be somewhere in Steam environment. I mean a local variables, libraries etc.

AAlarmfifa 2013-10-29 github

I checked with disabled overlay and T2R launched successful. But anyway I can't play, 'cause I am not authorized and there are no available maps.
btw, as I said I changed ./custom-ticket-to-ride-32 as

#!/bin/sh
./custom-ticket-to-ride-64

My .install4j looks like:

JRE_VERSION     /usr    1       7       0       45
JRE_INFO        /usr    114

If I launch 32bit script, I have a problem with a splash screen (there is no progress bar and black screen with a word "loading"). If I launch a 64bit one, it seems ok.

AAlarmfifa 2013-10-29 github

Nevertheless, I made a ticket here
I tried it yesterday, but the form didn't work. Today I was more lucky)).
Will wait for their answer)

Mmasterzen 2013-10-30 github

Context: I'm one of the developper of Ticket to Ride.

The problem is that we can't run the 64 bits version of Ticket to Ride in Steam, because the current Steam sdk doesn't contain the necessary 64 bits library for linux. So we default to the 32 bits version that requires a 32 bits JVM which must be installed on the machine (usually sudo apt-get install default-jre:i386 on ubuntu).

@johndrinkwater you seem to imply there exists a steam sdk for linux 64 bits. Can you please direct me to where we can find this?

Ggdrewb-valve maintainer 2013-10-30 github

@masterzen, do you get the same hang mentioned when running 32-bit? Do you know what that hang is, is it something to do with not having all of the JRE installed?

Mmasterzen 2013-10-30 github

@gdrewb-valve no, we don't get any hang on our test machines (that means 2 different ubuntu versions, 1 debian, 1 fedora on different hardware).
If you don't have the jre installed, the game just gives you an error telling you need to install one.

We had some reports of hangs coming from people running with dual monitors on ATI cards with the fglrx driver (running in single screen mode solves the issue). I don't really know yet what the issue is.

I'll keep this bug posted with our findings.

AAlarmfifa 2013-11-03 github

Guys, I spent some time juggling with java versions. I made my T2R work from Steam, but it works only without Steam overlay.
I installed 32bit OpenJDK, made a symlink (as @masterzen advised me ) ln -s /usr/lib/jvm/bin32-java-7-openjdk/jre/ ~/.local/share/Steam/SteamApps/common/Ticket\ to\ Ride/jre, then I deleted ~/.install4j and launch the game. Unfortunately, it doesn't work with openjdk at all =( There is a part from ~/.tt/log/output.log :

00:04:03.026 [main] DEBUG log - Physical RAM available: 8359936000 < 266338304
00:04:03.125 [main] ERROR c.d.tt.application.TTApplication - Main: ouch something bad happened - ungraceful exit ahead
java.awt.HeadlessException: null
        at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207) ~[na:1.7.0_45]
        at java.awt.Window.<init>(Window.java:535) ~[na:1.7.0_45]
        at java.awt.Frame.<init>(Frame.java:420) ~[na:1.7.0_45]
        at java.awt.Frame.<init>(Frame.java:385) ~[na:1.7.0_45]
        at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1755) ~[na:1.7.0_45]
        at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1830) ~[na:1.7.0_45]
        at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1697) ~[na:1.7.0_45]
        at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:863) ~[na:1.7.0_45]
        at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:667) ~[na:1.7.0_45]
        at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:638) ~[na:1.7.0_45]
        at com.daysofwonder.tt.application.TTApplication.alert(TTApplication.java:935) ~[TicketToRide_application.jar:1.6.2-453-251f323e]
        at com.daysofwonder.tt.application.TTApplication.start(TTApplication.java:258) ~[TicketToRide_application.jar:1.6.2-453-251f323e]
        at com.daysofwonder.tt.application.TTApplication.main(TTApplication.java:752) ~[TicketToRide_application.jar:1.6.2-453-251f323e]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
        at com.exe4j.runtime.LauncherEngine.launch(Unknown Source) [i4jruntime.jar:na]
        at com.install4j.runtime.launcher.Launcher.main(Unknown Source) [i4jruntime.jar:na]
00:04:03.125 [main] WARN  c.d.tt.application.TTApplication - Exiting Process

After this fail I installed an Oracle jre, made a symlink in the same way and launched successfully T2R from Steam. But it works only with disabling overlay. I even can see opened maps)) But if I enable an overlay, the game hangs, as I wrote early.

Mmasterzen 2013-11-04 github

You installed the headless version of openjdk, instead of the "regular" version which explains the error you had.
Regarding the problem with the overlay, can you give us more detail about your graphic environment, including driver, distributions, version and graphic card model.

Jjohndrinkwater 2013-11-04 github

@masterzen currently the launch script fails to detect openjdk’s jre as a working vm and alerts the user that there’s nothing suitable ‐ good. It then suggests to define INSTALL4J_JAVA_HOME which may lead them to get it loading through their 64bit jvm anyway ‐ less good…

You could include in the zenity message ‘install default-jre:i386’, which should reduce some support requests.

I also don’t know of a 64bit steamworks yet :(

AAlarmfifa 2013-11-04 github

@masterzen Are you sure about headless? Because I see a lot of *.so files in a library directory here /usr/lib/jvm/bin32-java-7-openjdk/jre/lib/i386/, that's why I decided that this package provided me jre.
I'm not expert, so let it be =)
As for system configuration, I left a link to Steam sysinfo above. I hope it can give a full information about my system)
btw, could you add a hint about symlink on jre folder in the FAQ?
@gdrewb-valve do you have any ETA about 64bit steamworks?

AAlarmfifa 2013-11-04 github

By the way, I checked this tricks with java on my laptop ( here is sysinfo ) and the game works even with enabled overlay.

Ggdrewb-valve maintainer 2013-11-04 github

There's no date set for a 64-bit Steamworks.

AAlarmfifa 2013-11-08 github

@gdrewb-valve

Version 1.26 Steamworks SDK released
11/07/13
The Steamworks SDK has been updated with new APIs for Family Sharing, 64-Bit Linux binaries and a new UGC interface to query Workshop items.

via https://partner.steamgames.com/

Does it mean, that now @masterzen could add full support of 64bit OS ? =)

Mmasterzen 2013-11-08 github

@Alarmfifa yes it's planned for next week.

Eericwomer 2013-11-08 github

On gentoo amd64 all you should need to do is

sudo emerge -av emul-linux-x86-java
eselect java-vm set user [number for emul-linux-x86-java-1.6 ]

and it should work.

AAlarmfifa 2013-11-09 github

@masterzen Wow! It's an awesome news!
Good luck in you work!

Kkisak-valve maintainer 2017-09-22 github

Hello @Alarmfifa, are you still experiencing this issue?

AAlarmfifa 2017-09-24 github

Hi!
I've just tested, it seems works. Thanks! =)

Kkisak-valve maintainer 2017-09-24 github

Thanks for retesting, closing.

Nothing extracted yet.