Campaign progress not saved

Avatar
  • updated
  • Completed - Resolved

Using Arch Linux (64-bit), with version 2.0.4 and all DLC installed, my main campaign progress is not saved properly. I haven't tested the other campaigns yet.


Saving/loading games works without any problems, the home realm is also saved correctly. Every time I restart the game, all maps are locked again and no achievements are available. Basically this means I'm replaying the tutorial every time.


Using the tutorial level, I've tested that I can load a game, complete that level and then the progress will be recorded until I quit the game again (i.e. I can start level 2 correctly).


Some bits that are saved properly are: all the (graphics/audio/etc) settings, whether the intro movie has played the first time, and the help button tutorial in the first level doesn't come back after the first time either.


I have the game installed to a custom directory (on a separate partition; full install path is /mnt/linux-games/war_for_the_overworld -- no spaces). I did make sure my Linux user account has write access to the entire directory and all files (in fact, I installed the game as the same user).


I also tried removing the entire directory and then reinstalling the game from scratch, but that has not solved the problem.


Player.log file of completing the first level (which should save progress): Player.log.save
Player.log file when restarting the game: Player.log.load
Based on file timestamps I can see that my custom save, and the WFTO_Tutorial file were saved when finishing the level. Options.txt is also properly saved. You can download the full GameData directory as a zip from here (link will expire November 7th 2018).

Game Version:
GOG DRM-Free
Platform:
Linux

How would you rate the customer service you received?

Satisfaction mark by Cheetah 5 years ago

Confirmed that now the patch is deployed on GOG, progress is saved correctly again with 2.0.6f1. Thanks for the assistance!

Add a comment about quality of support you received (optional):

Avatar
Cheetah

Digging a little further with strace uncovers that stat.txt, while being read, is never written to:

strace ./WFTOGame.x86_64 2>&1 | grep stat.txt                                                                                                                               [22:28]
stat("/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/GameData/stat.txt", {st_mode=S_IFREG|0644, st_size=1022, ...}) = 0
lstat("/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/GameData/stat.txt", {st_mode=S_IFREG|0644, st_size=1022, ...}) = 0
stat("/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/GameData/stat.txt", {st_mode=S_IFREG|0644, st_size=1022, ...}) = 0
lstat("/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/GameData/stat.txt", {st_mode=S_IFREG|0644, st_size=1022, ...}) = 0
stat("/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/GameData/stat.txt", {st_mode=S_IFREG|0644, st_size=1022, ...}) = 0
lstat("/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/GameData/stat.txt", {st_mode=S_IFREG|0644, st_size=1022, ...}) = 0
stat("/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/GameData/stat.txt", {st_mode=S_IFREG|0644, st_size=1022, ...}) = 0
lstat("/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/GameData/stat.txt", {st_mode=S_IFREG|0644, st_size=1022, ...}) = 0
openat(AT_FDCWD, "/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/GameData/stat.txt", O_RDONLY) = 30
[1]    29786 killed     strace ./WFTOGame.x86_64 2>&1 | 
       29787 done       grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn} stat.txt

This happens both with a 0-byte stat.txt file (which was originally there in my installation) and a version I found on the GOG forums (this issue), where I reset all C??_Complete=0. With this custom version, it did show the manipulated campaign progress, but still would not save my own progress.


Resetting the campaign progress (also for any of the DLC campaigns) does not write the stat.txt file.


It seems to me to be a fairly safe bet to say the problem lies with writing the stat.txt file, which for some reason never happens (or isn't even attempted).

Avatar
anonymous
  • Under Review

Hey Cheetah,


Pretty odd, ultimately we only guarantee Debian based Distros. I'll look into this and make sure its not a general issue but if it is specific to Arch then there may not be a lot we can do


Avatar
anonymous

It is likely that this is related to an issue another user had, is the information here of any use to you?


https://brightrockgames.userecho.com/communities/1/topics/4720-use-applicationpersistentdatapath-for-mutable-files

Avatar
Cheetah

Thanks for your reply. I've tried the other user's patch, but it didn't solve my problem (in fact, I think it may have broken some of the DLC menus. I do agree with them that writing save game data to the correct directory is a good idea).


I've tried playing the first level of the Under Games, and it seems that in that case progress is partially saved. After restarting the game I can continue with the next level, but none of the achievements (including the basic "Completed level" one) are marked as completed. I assume those achievements are saved in stat.txt whereas the actual progress is stored elsewhere.


Using strace to monitor all file access by the game (as logged above), I still see no attempt to locate or open the stat.txt file, apart from reading it once at startup.

Avatar
Cheetah

I checked a little further. Some things I noticed:

- The exit code of the game is 137, which I guess indicates an unclean exit. Possibly it crashes just before it wants to write out the file. I haven't managed to get a backtrace or anything, unfortunately

- I tried running the game from Ubuntu 18.04.1 on the same hardware (using a 'live' system from USB, but that shouldn't matter much compared to a fully installed version I reckon), and got exactly the same behavior. Saves would show up, load/save etc, but achievements didn't persist


FYI, some hardware details:

- AMD Ryzen 2600 CPU

- AMD Radeon RX 580 graphics card

- 2 screens (one connected to the DisplayPort, one on HDMI) using an extended desktop side by side (both screens are 1920x1080, so full desktop is 3840x1080).

- I'm using open source AMDGPU drivers (not the proprietary ones) on Arch; not sure what Ubuntu's live system uses, but I think it's the same

- I have a Steam controller, but unplugging that didn't help


Full start.sh terminal output:

$ ./start.sh                                                                                                                                                                       [17:47]
Running War for the Overworld
Set current directory to /mnt/linux-games/war_for_the_overworld/game
Found path: /mnt/linux-games/war_for_the_overworld/game/WFTOGame.x86_64
Mono path[0] = '/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/Managed'
Mono path[1] = '/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/Mono'
Mono config path = '/mnt/linux-games/war_for_the_overworld/game/WFTOGame_Data/Mono/etc'
displaymanager : xrandr version warning. 1.5
client has 6 screens
displaymanager screen (0)(HDMI-A-1): 1920 x 1080
displaymanager screen (1)(DisplayPort-1): 1920 x 1080
Using libudev for joystick management
Importing game controller configs
./start.sh: line 16:  4530 Killed                  ./"WFTOGame.x86_64"
Avatar
Pavel Župa

I just installed the game (2.0.4) bought from GOGS on Ubuntu 16.04 to default installation dir and I'm having the same problem. Saves are successfuly saved, I'am able to load them, settings are preserved but game progress is lost. 

The game is installed in '~/GOG Games/War for the Overworld' even tried a dir wihout spaces with no success.

I did not find even empty stats.txt, which the OP mentioned. Tried creating the file as described with the same result of changing the progress but never getting saved.

Avatar
Jaykizi

I too just bought the game from GoG and installed it on Ubuntu 17.10 and have the same issue. I created a stat.txt file and used the values that I found in another thread and loading the campaign progress seems to be working fine, but writing to the file just doesn't happen. At the moment I just update stat.txt manually after each session to match my campaign progress, but this seems to mean that any aspect selections I've made in the veins of evil don't persist (unless I load from a saved game).

Avatar
Lee "Noontide" Moon

Hi Guys,

Thanks for the reports and updates. I'll raise this with Cian again tomorrow to get his input and thoughts on it.


Truly sorry for the problems you're facing and I hope we can find some solution for you in the near future.

Cheers,

Lee

Avatar
Cheetah
Quote from Lee "Noontide" Moon

Hi Guys,

Thanks for the reports and updates. I'll raise this with Cian again tomorrow to get his input and thoughts on it.


Truly sorry for the problems you're facing and I hope we can find some solution for you in the near future.

Cheers,

Lee

Hello Lee, Cian,

Thanks for keeping an eye on this :) I just checked the 2.0.5 build from GOG and this issue is still present.

From what I gather, the file is supposed to be saved when you quit the game. If this is true, one work-around would be to save the file every time an achievement is achieved.

Secondly it seems the game kills itself somehow, rather than exiting nicely. the last few lines of the full strace output are as follows:

kill(15984, SIG_0)                      = 0
wait4(15984, 0x7fff540e01bc, WNOHANG, NULL) = -1 ECHILD (No child processes)
kill(15984, SIGKILL)                    = ?

The exit code I'm getting - 137 - seems to indeed correlate with a kill -9 (SIGKILL) according to a quick search on the internet.

If you need further details please let me know, I'll be happy to help.

Avatar
anonymous
  • Completed - Next Patch

We kill the games process on game end on Linux as Unity 5.4.6 cannot close correctly and will keep a zombie process. This means that the stats file is not being saved as it is saved during the shutdown which is interrupted. We have corrected this by saving the file everytime it is written to on Linux DRM Free.

This should be corrected in the next patch