ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.42k stars 1.07k forks source link

Train Simulator Classic (24010) #791

Open HonkingGoose opened 6 years ago

HonkingGoose commented 6 years ago

Train Simulator Classic

The game had another yearly update, and changed the brand name to Classic.

Train Simulator 2021:

The game had another yearly update.


Train Simulator 2020:

The game had another yearly update.

I no longer have access to a Linux computer to test on, so I can't provide a Proton log for TS2020.

I suspect there will still be a need to unpack the .ap files though. It seems the update to TS2020 was mainly shader work.

New hypothesis for the issue outlined in this post: having a . somewhere in the path causes the game to misbehave. So there might not even be a need to unpack the .ap files anyways...


Train Simulator 2019:

Edit 12th june 2019:

I tested a fresh install of the game, using Proton 4.2-7 and TS 2019 version 66.1b. Results:

Proton 4.2-7 log (64bit version of game): steam-24010.log Environment: https://gist.github.com/HonkingGoose/7936767029a19c23d330970a1a586c45 Missing water picture: Missing_water_Isle_of_Wight_DLC_at_Ryde_Pier_Head


The game has just been updated to the 2019 edition, which is split into 32 and 64 bit versions. So I'm updating the main post to reflect this. I've also edited the title of the issue, because the name of the game changed on the Steam store. The report for the 2018 version can be seen in my edit history.

What's new in 2019:

  1. 32 bit and 64 bit versions are now available.
  2. There seems to be some kind of audio bug in the 64 bit version (for now), search for "Setup_Audio.bat" on the Train Simulator 2019 FAQ for the workaround.

What's still the same:

  1. There is still a need to manually unpack .ap and legacy.bin files.
  2. The same kinds of rendering/graphical glitches are still there.

Environment:

OS: Ubuntu 18.04.1 Gist: gist Proton version: 3.7-8 Beta Game: Train Simulator (2019) Proton log for the 32 bit version steam-24010.log

Expected result:

Actual result:

Steps to reproduce:

  1. Install Train Simulator, with some DLC, from within the Steam client.
  2. Start game.
  3. On the main page of the game, click on “Drive”, this opens a menu in which you can see what content the game has loaded.
  4. Click on the different tabs.
  5. There is missing content (trains/routes/etc.).
  6. A work around is needed which is listed below, to get missing content to work.

What files are not processed automatically?

How to find those files:

The .ap files can be found with the Linux terminal:

cd 
find .local/share/Steam/steamapps/common/RailWorks/ -name "*.ap"

The legacy.bin files can be found with the Linux terminal:

cd
cd .local/share/Steam/steamapps/common/RailWorks/ 
find ../../workshop/content/24010 -name "*_legacy.bin"

Workaround for missing content:

Unzip the .ap files using the Linux terminal:

cd
find .local/share/Steam/steamapps/common/RailWorks/ -name "*.ap" -execdir unzip '{}' ';'

Unzip the legacy.bin files (from the Train Simulator Steam WorkShop), using the terminal:

cd
cd .local/share/Steam/steamapps/common/RailWorks/ 
find ../../workshop/content/24010 -name "*_legacy.bin" -exec unzip '{}' ';'
kisak-valve commented 6 years ago

Hello @HonkingGoose, please add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

HonkingGoose commented 6 years ago

This is a log of starting the game, and clicking on quit after the game loads. steam-24010.log

vanyasem commented 6 years ago

I have a weird issue with fonts with this game. Tried both English and Russian versions. Some fonts are just white squares. Installing corefonts makes no difference. System info: https://gist.github.com/vanyasem/f787469ec8c50cdd3728340ef4c73269 20180829070653_1

HonkingGoose commented 6 years ago

@vanyasem That's strange, this doesn't happen on a default English language Ubuntu 18.04 installation, when installing Steam from the Ubuntu repository.

Configuration difference:

My guess as to where the problem is:

Maybe the problem is that you're missing some dependency that is normally included in the steam runtime? It looks like some necessary font is not being included in your installation of Arch, because of those weird "text" boxes on your screenshot. So you would need to find those fonts and install them.

Sources for that guess:

From https://github.com/ValveSoftware/steam-runtime:

All the software that makes up the Steam Runtime is available in both source and binary form in the Steam Runtime repository http://repo.steampowered.com/steamrt

If we go and check the package list on http://repo.steamstatic.com/steamrt/lists/ and then go to http://repo.steamstatic.com/steamrt/lists/main_scout_main_amd64_Packages

There are many references to fonts and font handling libraries.

Guidance from Valve regarding runtime dependencies:

Also https://github.com/ValveSoftware/steam-for-linux/issues/4768 says:

Native runtimes Some distros have provisions to primarily use system libraries. Arch: The steam-native-runtime metapackage should pull in all the dependencies and adds the wrapper steam-native ...snip... Additional things to try while troubleshooting can be found at https://wiki.archlinux.org/index.php/Steam/Troubleshooting.

My advice:

  1. Install the steam-native-runtime metapackage on Arch, this also gives you the wrapper steam-native.
  2. Try the game again, and see if the weird fonts are fixed.
vanyasem commented 6 years ago

@HonkingGoose I tried both steam-native and steam-runtime (steam-runtime-beta-release_2018-06-14), both are affected by the exact same issue. The system configuration was indeed copied from steam-native.

HonkingGoose commented 6 years ago

@vanyasem Well, at least now you know that your steam-native and steam-runtime-beta-release_2018-06-14 both have the weird boxes for text.

Maybe try this to further debug the issue?

The basic Proton log for the game might have some reference to missing one or more of the following:

My output of basic Proton log with regards to fonts:

Relevant portion of my basic Proton log, remember my fonts do load properly, so my log shouldn't show missing fonts. There is some reference to fonts in my log though, so maybe yours would have more font errors listed?

Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 80: saw unknown, expected number

Steps to try:

Advanced launch options for more detail?

I tried the following launch options too, but the output of /tmp/proton_username doesn't seem to reference any fonts at all, there are just a bunch of shell scrips for starting up the Wine/Proton debug process. So I don't think the scripts itself would have the needed information for your missing script, if I'm reading the scripts correctly.

Advanced launch options are:

  • PROTON_DUMP_DEBUG_COMMANDS=1 %command%
  • PROTON_DEBUG_DIR=1 %command%
vanyasem commented 6 years ago

Here's my proton log: steam-24010.log

As you can see, it contains no errors related to fonts.

Offtopic: I feel a bit offended being an Arch user that you hand-walk me through the debugging process :P

HonkingGoose commented 6 years ago

@dreamer:

Existing corefonts workaround does not help in Train Simulator, so I can't include it here. I'll keep tabs on this problem, however - let's continue the discussion in #791.

Thanks for the comment dreamer. I've deleted my comment on your pull-request #1423 to keep things clean on that issue.

On the font issue: I'm outta ideas here, so help will have to come from somebody else on this. :smile:

HonkingGoose commented 5 years ago

@vanyasem Do you still have font issues with Proton 3.16?

From Wiki Changelog:

3.16-4: Proton now ships with corefonts support. This should fix many games with missing text, or that crash due to missing font support.

vanyasem commented 5 years ago

@HonkingGoose the issue is not related to corefonts. Now try to answer that question yourself :)

HonkingGoose commented 5 years ago

@vanyasem Oh well, I though maybe something had changed in the meantime. Guess I was wrong about that. :+1:

skinnyraf commented 5 years ago

It would be great if someone sorted out the need to unpack ap and bin files. My TS install is more than 100GB and I don't have enough space on my drive to almost double it. Perhaps someone from the modding community would know how to fix it?

neksio6 commented 5 years ago

Current Proton (4.2-9) with current Train Simulator (v66.1b) using Ubuntu 18.04.2 LTS works almost perfect for me - no need to unpack anything, no need to that OpenAL workaround. Rendering issues (Water/Horizon) are still present.. (and that's the only problem for me)

I've played about 30 hours (1685 hours total) using multiple DLCs and Workshops files without any crashes - even reinstalled/revalidate whole TS a few times and each time works out of the box for me (no longer need to unpack anything)

neksio6 commented 5 years ago

YAY, latest Proton 4.11-2, Ubuntu 18.04.3 LTS, Nvidia 430.26-0ubuntu0.18.04.2 and EVERYTHING works perfect, no need to unpack anything, horizon is perfect, water is perfect - so far I don't see even the smallest problem : )

HonkingGoose commented 5 years ago

@vanyasem Does using the latest Proton (4.11-2 as of writing this) fix your problem with the menu text?

vanyasem commented 5 years ago

@HonkingGoose I switched to Windows half a year ago. That did the trick

Laszlo-Fiat commented 5 years ago

Freshly installed Proton 4.11-2, Debian Bullseye, Nvidia 418.88, and I will have to unpack the .ap files, as scenarios don't start loading after clicking Start. Two DLCs load without unpacking .ap files: London to Brighton, and Great Western Mainline out of my 14 DLCs. 32 and 64 bit works the same way.

neksio6 commented 5 years ago

Freshly installed Proton 4.11-2, Debian Bullseye, Nvidia 418.88, and I will have to unpack the .ap files, as scenarios don't start loading after clicking Start. Two DLCs load without unpacking .ap files: London to Brighton, and Great Western Mainline out of my 14 DLCs. 32 and 64 bit works the same way.

London to Brighton isn't packed into a single .ap file so it don't need any unpacking

Interesting that I am the only one who doesn't need to manually unpack anything..

I have installed: libzip4, unzip, zip (for zip files) gzip, bzip2, p7zip, p7zip-full, libarchive-zip-perl, libperlio-gzip-perl (all other packages with "zip")

could you please check if those packages are installed in your system?

skinnyraf commented 5 years ago

I have installed: libzip4, unzip, zip (for zip files) gzip, bzip2, p7zip, p7zip-full, libarchive-zip-perl, libperlio-gzip-perl (all other packages with "zip")

could you please check if those packages are installed in your system?

I have the same issue as Laszlo-Fiat. I have all the above installed, no effect. I tried both fresh download and rsync from Windows, I tried clearing cache and verifying game files, no luck.

Also, some scenarios don't even get to the "missing assets" screen. All UI elements disappear with the exception of Store, Community and Settings buttons in the upper right corner, and the game just hangs there. Clicking Store and then Main Menu let's me get out of that screen.

Edit: removed compdata folder for TS, no difference.

neksio6 commented 5 years ago

I really have no idea why it's working for me.. I didn't do anything special..

and Train Simulator just works - I have almost 300 DLC and so far everything works like in Windows version - routes, locomotives, scenarios, workshop items..

(I know how painfully annoying unpacking is - some time ago I had do unpack everything too.. but Proton 4.2 fixed that for me, and Proton 4.11 fixed water/horizon bug)

hmm, maybe this is a coincidence but I recently moved my TS folder from a main partition (where is steam client) to a new disk (mounted as /steam) - anyone would like to check this possibility?

Laszlo-Fiat commented 5 years ago

@neksio6 Would you do a debug log so maybe we can compare what's happening on your install? Could you doublecheck that the unpacked files are not there where the .ap files are? in theory you don't need to natively install anything on your OS, the steam runtime and proton contains everything needed. I've just checked, tain simulator 2019 has windows zlib dlls, and the steam runtime has zlib*.so . steam-24010.log

neksio6 commented 5 years ago

I have a clean installation (removed a whole folder then verify steam files and recreate only those from steam repositories) - so all .ap files are intact and nothing was unpacked by hand

I tested on Canadian Mountain Passes which has a single .ap file

from our logs I don't see any major (on even minor) difference in our runs - : /

Laszlo-Fiat commented 5 years ago

@neksio6 Your install may help cracking this problem. Could you do a test? run this "script": while true ; do date ; lsof -u USERNAME; echo -----; sleep 2; done >>output.txt add your username above. run Train Simulator, load a scenario, when loaded, you can exit. stop the script. Check output.txt, it shows what files were open at certain times on your computer. You should be able to find the .ap file in output.txt, and near it, maybe the .dll or .so it uses to decompress it.

skinnyraf commented 5 years ago

@Laszlo-Fiat I did run the script you provided. No .ap file in output.txt. I ran the game with LogMate too. There are a few lines that look out of place, but there are no mentions about .ap files:

2019.08.27 20:40:10.937 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/home/raf/.local/share/Steam/steamapps/common/RailWorks/Content/ConsistTemplates.bin 2019.08.27 20:40:10.937 - [Data Management] - Trace cDatabase.cpp : 2943 = Falling back to XML for file @os:z/home/raf/.local/share/Steam/steamapps/common/RailWorks/Content/ConsistTemplates.xml

And then the following line repeated until I quit the game:

2019.08.27 20:40:17.980 - [Core] - Trace cDeltaSerializer.cpp : 1472 = Delta Serializer MakeID pointer address exceeded 32GB

neksio6 commented 5 years ago

I run that script - the only two processes which accessed .ap files were RailWorks and wineserv

cat output.txt | grep MainContent.ap (result is in the file below):

output2.txt

(I started the script just before clicking "Start" in standard scenario)

Canadian Mountain Passes is: 00000073-0000-0000-0000-000000002017

my mistake - actually it is 01cb3032-4d43-4be2-ac77-56d54368ebeb (I reran all my tests but results are the same..)

skinnyraf commented 5 years ago

So the first run of lsof failed to return any ap files probably because scenarios never started loading for some reason.

The second attempt at running lsof succeeded: a few ap files, including LondonFavAssets.ap appear, accessed by RailWorks.

neksio6 commented 5 years ago

Slightly modified script:

lsof -r1 /steam/steam/steamapps/common/RailWorks/Content/Routes/00000073-0000-0000-0000-000000002017/MainContent.ap

same results:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

wineserve 31677 nexus 595r REG 8,4 322003492 3682364 /steam/steam/steamapps/common/RailWorks/Content/Routes/00000073-0000-0000-0000-000000002017/MainContent.ap

RailWorks 31719 nexus 262r REG 8,4 322003492 3682364 /steam/steam/steamapps/common/RailWorks/Content/Routes/00000073-0000-0000-0000-000000002017/MainContent.ap

and one interesting thing - that file was opened BEFORE i even choose a scenario - just a few seconds after launch TS

UPDATE: i've just ran strace on both processes - still nothing : /

UPDATE2: run with logmate 400k lines but still nothing major related to ap, unpack, zip, error etc.. maybe yours logmate files will tell us more? (some strange error messages?)

UPDATE3: it is 01cb3032-4d43-4be2-ac77-56d54368ebeb (my mistake, I reran all the tests with the same results..)

neksio6 commented 5 years ago

And then the following line repeated until I quit the game:

2019.08.27 20:40:17.980 - [Core] - Trace cDeltaSerializer.cpp : 1472 = Delta Serializer MakeID pointer address exceeded 32GB

start a new logmate file when you encounter that 32GB message (solved that problem for me and new log save a lot of things afterwards - not related to unpacking unfortunately )

skinnyraf commented 5 years ago

Ok, after starting a new log I have found the following, which may be related to the issue:

2019.08.30 16:07:04.839 - [Streaming] - Trace Core\cFxFileMapped.cpp : 52 = cFxFileMapped failed to open, no physical file system: @os:z/home/raf/.local/share/Steam/steamapps/common/RailWorks 2019.08.30 16:07:04.839 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/home/raf/.local/share/Steam/steamapps/common/RailWorks/Content/Routes/00000034-c000-0000-0000-000000002013//Route.xml.bin 2019.08.30 16:07:04.839 - [Streaming] - Trace Core\cFxFileMapped.cpp : 52 = cFxFileMapped failed to open, no physical file system: @os:z/home/raf/.local/share/Steam/steamapps/common/RailWorks

And then a bunch of messages about missing Track rules and such. MainContent.ap is located in the directory 00000034-c000-0000-0000-000000002013. Railworks folder exists under the specified path.

neksio6 commented 5 years ago

I have the same errors as you (and everything works as expected - no unpacking is needed)

01cb3032-4d43-4be2-ac77-56d54368ebeb is the route I played (without any problems even with that errors below)

Log snippet

2019/08/30 16:48:24.076 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/steam/steam/steamapps/common/RailWorks/Content/ConsistTemplates.bin 2019/08/30 16:56:30.935 - [Streaming] - Trace Core\cFxFileMapped.cpp : 52 = cFxFileMapped failed to open, no physical file system: @os:z/steam/steam/steamapps/common/RailWorks 2019/08/30 16:56:30.935 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/steam/steam/steamapps/common/RailWorks/Content/Routes/01cb3032-4d43-4be2-ac77-56d54368ebeb//Route.xml.bin 2019/08/30 16:56:30.935 - [Streaming] - Trace Core\cFxFileMapped.cpp : 52 = cFxFileMapped failed to open, no physical file system: @os:z/steam/steam/steamapps/common/RailWorks 2019/08/30 16:56:30.935 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/steam/steam/steamapps/common/RailWorks/Content/Routes/01cb3032-4d43-4be2-ac77-56d54368ebeb//Route.xml.xml 2019/08/30 16:56:30.935 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/steam/steam/steamapps/common/RailWorks/Content/Routes/01cb3032-4d43-4be2-ac77-56d54368ebeb/Scenery/GlobalScenery.bin 2019/08/30 16:56:30.935 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/steam/steam/steamapps/common/RailWorks/Content/Routes/01cb3032-4d43-4be2-ac77-56d54368ebeb/Scenery/GlobalScenery.xml 2019/08/30 16:57:05.944 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/steam/steam/steamapps/common/RailWorks/Assets/missingtexture.TgPcDx 2019/08/30 16:57:24.949 - [Streaming] - Trace Core\cFxFileMapped.cpp : 52 = cFxFileMapped failed to open, no physical file system: @os:z/steam/steam/steamapps/common/RailWorks 2019/08/30 16:57:24.949 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/steam/steam/steamapps/common/RailWorks/Assets//scenery/structures/textures/vb_wp31_01.TgPcDx

neksio6 commented 5 years ago

thats all (grep 01cb3032-4d43-4be2-ac77-56d54368ebeb) entries from logmate about played route - could you compare this with your log?

Log snippet

2019/08/30 16:56:10.929 - [Scaleform] - Trace cScaleformManager.cpp : 92 = Image Details for Product box: z:\steam\steam\steamapps\common\RailWorks\Content\Routes\01cb3032-4d43-4be2-ac77-56d54368ebeb\RouteInformation\image.png 2019/08/30 16:56:10.929 - [Scaleform] - Trace cScaleformManager.cpp : 92 = image ready: z:\steam\steam\steamapps\common\RailWorks\Content\Routes\01cb3032-4d43-4be2-ac77-56d54368ebeb\RouteInformation\image.png 2019/08/30 16:56:10.929 - [Scaleform] - Trace cScaleformManager.cpp : 92 = filter.routeID 01cb3032-4d43-4be2-ac77-56d54368ebeb 2019/08/30 16:56:10.929 - [Scaleform] - Trace cScaleformManager.cpp : 92 = filter.routeID 01cb3032-4d43-4be2-ac77-56d54368ebeb 2019/08/30 16:56:10.929 - [Scaleform] - Trace cScaleformManager.cpp : 92 = Image Details for Product box: z:\steam\steam\steamapps\common\RailWorks\Content\Routes\01cb3032-4d43-4be2-ac77-56d54368ebeb\RouteInformation\image.png 2019/08/30 16:56:15.930 - [Scaleform] - Trace cScaleformManager.cpp : 92 = Image Details for Product box: z:\steam\steam\steamapps\common\RailWorks\Content\Routes\01cb3032-4d43-4be2-ac77-56d54368ebeb\RouteInformation\image.png 2019/08/30 16:56:15.930 - [Scaleform] - Trace cScaleformManager.cpp : 92 = image ready: z:\steam\steam\steamapps\common\RailWorks\Content\Routes\01cb3032-4d43-4be2-ac77-56d54368ebeb\RouteInformation\image.png 2019/08/30 16:56:15.930 - [Scaleform] - Trace cScaleformManager.cpp : 92 = Image Details for Product box: z:\steam\steam\steamapps\common\RailWorks\Content\Routes\01cb3032-4d43-4be2-ac77-56d54368ebeb\RouteInformation\image.png 2019/08/30 16:56:30.935 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/steam/steam/steamapps/common/RailWorks/Content/Routes/01cb3032-4d43-4be2-ac77-56d54368ebeb//Route.xml.bin 2019/08/30 16:56:30.935 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/steam/steam/steamapps/common/RailWorks/Content/Routes/01cb3032-4d43-4be2-ac77-56d54368ebeb//Route.xml.xml 2019/08/30 16:56:30.935 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/steam/steam/steamapps/common/RailWorks/Content/Routes/01cb3032-4d43-4be2-ac77-56d54368ebeb/Scenery/GlobalScenery.bin 2019/08/30 16:56:30.935 - [Streaming] - Trace Core\cFxStreamFile.cpp : 244 = cFxStreamFile failed to load: @os:z/steam/steam/steamapps/common/RailWorks/Content/Routes/01cb3032-4d43-4be2-ac77-56d54368ebeb/Scenery/GlobalScenery.xml 2019/08/30 16:57:46.958 - [Scaleform] - Trace cScaleformManager.cpp : 92 = routeID: 01cb3032-4d43-4be2-ac77-56d54368ebeb 2019/08/30 16:57:46.958 - [Scaleform] - Trace cScaleformManager.cpp : 92 = equals: 01cb3032-4d43-4be2-ac77-56d54368ebeb 2019/08/30 16:57:46.959 - [Scaleform] - Trace cScaleformManager.cpp : 92 = Image Details for Product box: z:\steam\steam\steamapps\common\RailWorks\Content\Routes\01cb3032-4d43-4be2-ac77-56d54368ebeb\RouteInformation\image.png 2019/08/30 16:57:51.460 - [Scaleform] - Trace cScaleformManager.cpp : 92 = image ready: z:\steam\steam\steamapps\common\RailWorks\Content\Routes\01cb3032-4d43-4be2-ac77-56d54368ebeb\RouteInformation\image.png 2019/08/30 16:57:51.460 - [Scaleform] - Trace cScaleformManager.cpp : 92 = image ready: z:\steam\steam\steamapps\common\RailWorks\Content\Routes\01cb3032-4d43-4be2-ac77-56d54368ebeb\RouteInformation\image.png

skinnyraf commented 5 years ago

Looks similar here. A lot (and I mean a lot) of lines with errors about missing blueprints:

2019.08.30 16:07:12.988 - [Content] - Trace cEntity.cpp : 1272 = Missing blueprint "railvehicles\electric\class395\default\engine\class395_dpts2.xml"

But you probably get those as well. How can this program even run, with so many errors in the logs?

Edit: interestingly, nothing about .ap files in the logs.

neksio6 commented 5 years ago

Probably not much info but after completely reinstall steam client (purge old .local/share/Steam and reinstall everything in .steam) everything still works perfect for me (no need to unpack anything)

I removed repository: deb http://repo.steampowered.com/steam/ precise steam deleted old steam directory (.local/share/Steam) and then installed a steam client directly from ubuntu

from dpkg.log: purge steam-launcher:all 1.0.0.54 installed steam:i386 1:1.0.0.54+repack-5ubuntu1

was a little worried that my somehow magic solution to unpacking will be broken but everything works perfect (still don't have a slightest idea why it is working only for me.. is there ANYONE else who don't have to unpack TS files?)

Laszlo-Fiat commented 5 years ago

I've spent ~4 hours yesterday trying to debug this. I used this page for information: https://wiki.winehq.org/Debug_Channels I've added +relay to WINEDEBUG in proton launch script for PROTON_LOG, then launched Train Simulator. It loaded very slowly, after a few minutes, before reaching the main menu, I killed the game, and found a whopping ~11 GByte log file. Then, using the script on the bottom of the winehq page, I made +relay less verbose, This resulted in a much smaller log file. What I could see in the log files, that while loading ((before reaching the main menu), it goes on the directory structure assets and routes, tries to open the uncompressed files, and if it is not there, then it looks for the .ap file, and reads it. I cannot see when/where/if it tries to uncompress it at any point. Then it tries to access the uncompressed files again, which are still not there... I saw zlib1.dll, zlibwapi.dll, zlibwapi64.dll in the RailWorks directory, The first two are the same file (by size, and by checksum). zlibwapi64.dll is loaded, I saw it in the logs. Maybe it would use these to uncompress the .ap files. Those are versions 1.2.5 of zlib, the actual zlib version is 1.2.11. The compiled windows versions linked on the zlib homepage are very old, even older, I managed to download version 1.2.3, tried that, it doesn't uncompress in Train Simulator either. After all that, I realized I could have played for ~4 hours with Train Simulator, or any other game I have, accepted defeat, and uncompressed the ap files. :-( Maybe if Valve or CodeWeavers would contact DoveTail Games, and looked at the source code, they could see where it goes wrong with wine. It is still a mistery why it works for you, @neksio6. Maybe your proton uses a .so from your OS, and not from the steam included ones. The steam included zlib so is version 1.2.3, very very old. I don't know logmate, it must be some kind of debugging tool, as it gives you source file names while debugging.

Laszlo-Fiat commented 5 years ago

logmate is explained here: https://dovetailgames.kayako.com/Knowledgebase/Article/View/44/12/i-have-been-asked-to-provide-a-logmate-report-how-do-i-do-this If I had not uncompressed I could use this to create a log under windows (where it works), and under wine (where it doesn't work), and try to compare those.

skinnyraf commented 5 years ago

I tried on a brand new PC with a pristine Debian Buster installation - no luck there. As I decided to go with Kubuntu in the end, I will test it later today, but I have little hope. And I agree with @Laszlo-Fiat, time spent investigating it with little results can be spent elsewhere.

neksio6 commented 5 years ago

New Train Simulator 2020 is coming September 19th, lets hope this will fix our unpacking problem (and I really hope it will not broke my working installation :)

https://live.dovetailgames.com/live/train-simulator/articles/article/introducing-ts20

neksio6 commented 5 years ago

brand new TS 2020, Proton 4.11-5, nvidia 430.26-0ubuntu0.18.04.2

everything works out of the box (no unpacking is needed, no graphic glitches, no crashes)

nickgsm commented 5 years ago

font problem (menu pause) fixes winetricks usp10

joker234 commented 4 years ago

I freshly reinstalled TS 2020, using Proton 4.11-10, with Intel Graphics. I'm stuck with this screen after launching a campaign Screenshot from 2019-12-14 19-56-35 Here is my proton log: steam-24010.log The game works fine with Steam installed via PlayOnLinux, but I'd prefer to use Steam natively with proton :)

Edit: I use steam from Debian testing.

HonkingGoose commented 4 years ago

You should be able to use Steam with Proton for this game.

The game relies on files with the .ap extension, to get the game working manually unpack those files. Have you unpacked those .ap files already? If not, please try the steps listed in the top post of this issue, to find and unpack the .ap files. It's listed in the section Workaround for missing content.

wutheringHeights commented 4 years ago

Just tested using Proton 5.0-1 and experience the same issue that requires extracting the .ap files to work around.

Not sure if anyone else saw this issue which seems like the same symptoms, but on Windows. This was apparently a problem with file permissions after game data was migrated to another disk.

neksio6 commented 4 years ago

It's still only me who don't need to do that unpack thing? Everything works out of the box..

Proton 5.0-1, Ubuntu 18.04.4, nVidia 430.50-0ubuntu0.18.04.2

HonkingGoose commented 4 years ago

To expand on what @wutheringHeights has said just above me. I read the linked Windows issue, and it seems very, very similar to the problems that many Linux users seem to have with this game. The issue for the Windows user was also "fixed" by unpacking their .ap files. The real fix seems to be setting the read/write permissions correctly.

The relevant part of the linked Windows issue is:

Many thanks for all your help/suggestions. I think I have solved my problem though. Making it brief, I changed the Steam directory to another partition on my Hard drive as per instructions by Steam support. It seems by moving the directory it had upset my read/write permissions in the directory which only seemed to affected TS and 'ap' files, odd I know. Once I had restored the correct read/write permissions for Steam folder all came good. Hope what I have said kinda makes sense.

So it might indeed be worthwhile to check into the read/write permissions of the main Railworks/Train Simulator 2020 directories, to figure out what the difference is between @neksio6 directories permissions, and those of users have issues,

skinnyraf commented 4 years ago

Does TS unpack those files on the fly to some temporary location? ap files on my install are rwxrwxr-x, so I don't think it is a matter of access rights to ap files themselves.

neksio6 commented 4 years ago

I have steam on separate partition /steam

drwxr-xr-x /steam drwxr-xr-x /steam/steam drwxrwxr-x /steam/steam/steamapps drwxrwxr-x /steam/steam/steamapps/common drwxrwxr-x /steam/steam/steamapps/common/RailWorks drwxr-xr-x /steam/steam/steamapps/common/RailWorks/Assets drwxr-xr-x /steam/steam/steamapps/common/RailWorks/Content

and so on - nothing special here.. (except that separate partition)

wutheringHeights commented 4 years ago

I was able to make this work without extracting the .ap files, by installing the game to a non-standard steam library location of /steam, just as @neksio6 has.

The steps I went through to set this up:

  1. A new library directory must be set up in the root of the filesystem. Permissions must be set up for this directory, the same as the default library location.
  2. Add this new directory as a library folder.
    1. Click Steam > Settings
    2. Click Downloads
    3. Click Steam Library Folders
    4. Click Add Library Folder
    5. Browse to this folder, click it, then click Select
  3. Install the game - when prompted where to install it, choose the new location

To confirm this functions correctly, I did the following:

  1. View the Academy - previously, without extracting the .ap files, no training academy scenarios are visible. Now, all items are shown.
  2. In the Academy, load the first Safety option D01 - Diesel Safety System. Previously, even with the .ap files extracted, this did not load correctly - no train would load and no events occurred.
  3. Load a DLC like Köln to Koblenz. I tested with Career mode, scenario 01. [155] Introduction to the DB BR155. Previously, with no .ap files extracted, the main menu elements disappear, the menu background, Community and Settings buttons remain, and the scenario would not load (the symptoms typically reported). Now, the scenario loads, and runs for a while (but I did get an out of memory error, although I get the impression this might be normal?)

Hopefully others can test this workaround and it helps them play the game normally with less effort/disk space requirements. Also, there might be easier ways to achieve the same result using symlinks or something, and maybe it doesn't have to be in the root directory. Feel free to contribute better suggestions.

kisak-valve commented 4 years ago

Blind guess if someone's will to test. We've seen other games trip up if there's a dot (.) in the path. The default Steam library on linux almost always contains this, but not secondary Steam libraries. Can someone create a secondary steam library that contains a . in the path, install the game to that library, and test if the game misbehaves? If it does, then it could be a game bug that rarely affects Windows users due to the default path names avoiding the scenario.

wutheringHeights commented 4 years ago

@kisak-valve I did the following as a test:

  1. Close the Steam client
  2. Move /steam to /.steam
  3. Start the Steam client
  4. Re-add the /.steam folder as a library location in Steam > Settings > Downloads > Steam Library Folders

The game was then identified automatically by the client. It opened up normally, but then the original issue exhibited itself again.

I've also just tested by uninstalling, and restoring from a backup to the new /.steam folder. The original issue exhibited itself again.

Finally, moving it back to /steam results in things working 'normally' - scenarios load as expected without having to extract .ap files.

So, your suggestion seems to be correct :) Thank you for the advice on this.

neksio6 commented 4 years ago

Yay, looks like we solved (or at least identified) the long existing problem and I am no more alone in my happiness : ))