View Issue Details

IDProjectCategoryLast Update
0024385AI War 2Crash/ExceptionFeb 2, 2021 11:50 am
ReporterReiver Assigned ToChris_McElligottPark  
Severitycrash 
Status closedResolutionnot fixable 
Product Version2.715 Unload Queuing 
Summary0024385: PlayerData should be saved under user directory
DescriptionSo on Linux with GOG purchase, installing AIWar2 to /usr/local/games/AIWar2 with no user write permissions (standard multi-user install on Linux and helps prevent accidental corruption) then trying to run it hangs on loading screen at 0% loading FleetOS. No errors to console other than noting it's logging to $HOME/.config/unity3d/Editor/Player.log which shows;

Could not write to error file ErrorsReportedByEngine.txt: ErrorsReportedByEngine -----------
UnauthorizedAccessException: Access to the path "/usr/local/games/AIWar2/game/PlayerData" is denied.

And similar errors. The $HOME/.config/unity3d/Arcen Games, LLC/AIWar2/prefs is created though. (The installer on GOG does not create a /usr/local/games/AIWar2/game/PlayerData directory.)

The PlayerData folder should preferably be, on Linux, under the $HOME/.config/unity3d/Arcen Games, LLC/AIWar2/ directory.
It could be done as a override to read/write user PlayerData files here in preference over game PlayerData directory or set from a test of permissions on game PlayerData directory and if no permissions use a user PlayerData directory.

Searching previous issues shows; https://bugtracker.arcengames.com/view.php?id=22446
Which has your previous reasoning but a symbolic link as a workaround cannot be done per user.

(Not sure how Steam syncs games but it works fine for my games including Unity game that store under user directories. However I personally prefer not to use Steam if an option.)

Cheers.
TagsNo tags attached.

Activities

Chris_McElligottPark

Feb 2, 2021 10:02 am

administrator   ~0060440

We could technically move the user data, but that wouldn't solve your core problem. The game is able to do things like let you save custom quickstarts, which go to GameData rather than PlayerData and are a thing that you can share with others. In general, the game has the capabilities for user-generated content and self-modification when required. Most of that is done externally from the game, by you adjusting xml files or adding code or whatever, but that's not all of it.

Regardless, my prior comments pretty much are the same, plus if we made a shift at this point we'd have to migrate a lot of user data for lots of people, which could be pretty confusing. In general, the game is assuming that it can edit itself if it needs to, and that would be a pretty major thing to change at this point. I think essentially that ship has sailed.

Reiver

Feb 2, 2021 10:13 am

reporter   ~0060442

That's disappointing. Since it's too late for a refund I'll see if I can recode the old nwuser LD_PRELOAD workaround to intercept all your file calls and make it user directory friendly.

BadgerBadger

Feb 2, 2021 10:45 am

manager   ~0060444

You could probably just move PlayerData to $HOME and replace it with a symlink.
So AIWar2/PlayerData would become a symlink to $HOME/AIWar2PlayerData. I'm not sure how that would play with the GOG installer's mechanism to handle new upgrades of aiw2, so you might want to script it in some fashion and just rerun it between upgrades.

Nothing prevents you from something like
"mv $GOGINSTALL/AIWar2 $HOME/AIWar2" anyway, though you'd probably need to mv it back for patches. I think there are a number of creative ways around this limitation

BadgerBadger

Feb 2, 2021 10:59 am

manager   ~0060445

Also at least for STEAM you can customize which directories a game is installed to, and I have Steam installing aiw2 to $HOME on my machine. If GOG doesn't let you do this then you fundamentally have a GOG problem, not an aiw2 problem.

Chris_McElligottPark

Feb 2, 2021 11:05 am

administrator   ~0060446

GOG on Linux at the moment is just based on an installer, not on GOG Galaxy. I'm pretty sure that in the installer, they allow you to install wherever directly. It's a bit of a pain of a process to use Linux version of the game on GOG right now, because every time there is an update you can only get it by downloading and installing the entire game again. I really hope that they add a GOG Galaxy client for Linux at some point.

Reiver

Feb 2, 2021 11:46 am

reporter   ~0060447

Call me old school, but I wouldn't install games in user home directory. Have a separate partition for games and steam. GOG on Linux is indeed annoying in that updates require a full install - even Loki had update diffs.

Just as a FYI as I wouldn't expect you to support or include, the nwuser LD_PRELOAD I'm referring to is https://github.com/nwnlinux/nwuser which wraps all *open, *read, *write, *dir, *xstat and related calls and was for Neverwinter Nights on Linux which also didn't support user saves. Essentially all writes are written to /home/user/.nwn and reads from there first before falling back to /usr/local/game/NWN. Just need to change and test that for AIWar2 and I'll be happy.

Chris_McElligottPark

Feb 2, 2021 11:50 am

administrator   ~0060448

Thanks for the heads up on that -- and sorry for the trouble here. It is a challenge working with a lot of OSes, especially over time as things change.

Issue History

Date Modified Username Field Change
Feb 2, 2021 9:56 am Reiver New Issue
Feb 2, 2021 10:02 am Chris_McElligottPark Assigned To => Chris_McElligottPark
Feb 2, 2021 10:02 am Chris_McElligottPark Status new => closed
Feb 2, 2021 10:02 am Chris_McElligottPark Resolution open => not fixable
Feb 2, 2021 10:02 am Chris_McElligottPark Note Added: 0060440
Feb 2, 2021 10:13 am Reiver Note Added: 0060442
Feb 2, 2021 10:45 am BadgerBadger Note Added: 0060444
Feb 2, 2021 10:59 am BadgerBadger Note Added: 0060445
Feb 2, 2021 11:05 am Chris_McElligottPark Note Added: 0060446
Feb 2, 2021 11:46 am Reiver Note Added: 0060447
Feb 2, 2021 11:50 am Chris_McElligottPark Note Added: 0060448