Closed Ronkn closed 2 years ago
That's not an issue with the launcher, but it's possible that the underscore character of the mod symlinks is causing problems with the game client.
$ grep -E '^name = ' @*/meta.cpp
@9ODHYA/meta.cpp:name = "VanillaPlusPlusMap";
@9uzwbw/meta.cpp:name = "PVEZ";
@_DhCeA/meta.cpp:name = "zSpawnSelection";
@_tY-qA/meta.cpp:name = "zSpawnSelectionFixed";
@AAgnaw/meta.cpp:name = "WindstridesClothingPack";
@AGVEZA/meta.cpp:name = "ItemSizeTweak";
@BLDvXA/meta.cpp:name = "CF";
@DC2-lw/meta.cpp:name = "MSP_NoGunProxies";
@KPa0dg/meta.cpp:name = "MuchStuffPack";
@M8fJlw/meta.cpp:name = "BuildEverywhere";
@Ne0pag/meta.cpp:name = "SIX-DayZ-Auto-Run";
@pJdzbA/meta.cpp:name = "Ear-Plugs";
@PTgIXQ/meta.cpp:name = "Unlimited Stamina";
@rVPcbA/meta.cpp:name = "TACSAT Radio";
@VMT7bA/meta.cpp:name = "VPPAdminTools";
@yf7Aag/meta.cpp:name = "Dayz Navigation";
@ZLHlkg/meta.cpp:name = "GameLabs";
Mod symlinks need to get shortened as much as possible due to a bug in the Steam client in regards to the maximum available length of the game launch parameters. The launcher reads the resolved decimal mod IDs as a string of bytes (8 bit chunks) and then translates that to base64 in order to have the shortest unique mod IDs possible. The two additional non-alphanumerical characters are -
and _
. _
was previously set to +
, but that caused issues with the game loading the mods (see #17). The two mods you've described are the only ones which have an underscore character in them.
You should rename the symlinks and launch the game manually using a custom -mod
launch parameter. To do that, run the launcher without the --launch
parameter, so that it outputs the game client's -mod
parameter and then rename the symlinks to something else. Then update the -mod
parameter value accordingly and set it in the game's launch options in Steam.
I have edited the file path in your code
There is no need to modify any file paths, as you can configure them via env vars and launch flags.
Decided to give this a go myself and unfortunately it's not working, so it must be something else.
That would be out of scope of this project however. The only purpose of the launcher is to retrieve mod IDs, create symlinks if they don't exist yet, generate the necessary launch parameter and optionally start the game. That's it. Anything else in regards to Steam itself, the game running via Proton, its mods and how the game loads the mods is up to these components themselves. There's nothing the launcher can do.
It's possible that these two mods require a filesystem with casefolding support (case-insensitive file paths, just like on Windows), so you could give that a shot (see the readme), but I'm not sure if this will actually help.
The error message you've posted doesn't necessarily mean that the server's mod is out-of-date, btw. It returns an empty version string of the server's mod while the local version is apparently 1.
Also tried to connect while the game and its mods being installed on an ext4 filesystem with casefolding support. Didn't work either.
As said, this is out of scope of the project and I can't help. I'll leave this issue open for a bit in case someone else can help.
Maybe try hosting a local server with the mods installed and see if that works. That's all I can suggest here. Good luck.
Interesting, thanks for your suggestions! What's weird is both of these mods are required on another one of their servers, and it loads just fine. So I'm thinking it's got to do with their server.
Thanks again, and thanks for making this tool. I've only booted into windows once in the last 8 months and that was just to update it.
I found something interesting; the zSpawnSelectionFixed mod is the only required mod of the two spawn selection mods, that is required on their Cherno server. However on the Livonia server (the one in question) it requires both this mod and the zSpawnSelection mod, per messages in the terminal from this launcher.
What's interesting is that the latter mod had issues according to the description in the former (zSpawnSelectorFixed). So I almost wonder if the zSpawnSelection mod is unneeded on the Livonia server. After all it's not used on the Cherno server.
But I don't understand why the launcher would think it's required if it wasn't really required. I've asked the server admins in my discord ticket, if both are indeed required for the Livonia map.
I don't understand why the launcher would think it's required
because the JSON API of dayzsalauncher.com says so https://dayzsalauncher.com/api/v1/query/23.111.157.142/27116 and they get the data from querying the server
The server admins removed the zSpawnSelection mod, keeping the Fixed version only, and this solved the problem.
Thanks and sorry for the off topic issue. I'll close it now.
Running the latest version of this launcher - on PopOS 22.04. I've used this launcher without issue on several servers for months now. The issue is, I'm trying to join https://www.battlemetrics.com/servers/dayz/12607800 this server.
However, the game loads, and I see the dayz loading screen (no countdown though) then it crashes to the main dayz menu and I receive this error (see image): (note, I have edited the file path in your code to match my mod directory as shown in the screenshot).
It appears to be an issue with these two mods, both of which are required: https://steamcommunity.com/sharedfiles/filedetails/?id=2017605880 https://steamcommunity.com/sharedfiles/filedetails/?id=2822756090
The mods on this server's discord are dumbfounded and insist their server's mod version is the latest. I have tried to uninstall and reinstall both mods, without success; I get the same error.