this post was submitted on 02 Jun 2024
24 points (100.0% liked)

Linux Gaming

15797 readers
20 users here now

Gaming on the GNU/Linux operating system.

Recommended news sources:

Related chat:

Related Communities:

Please be nice to other members. Anyone not being nice will be banned. Keep it fun, respectful and just be awesome to each other.

founded 4 years ago
MODERATORS
 

I got Star Wars Episode I Racer from GOG on a sale for dirt cheap back around May 4th. I've been trying to get it working via Heroic ever since, particularly the multiplayer, which is fixed via mods. The Lutris script definitely does all of this super easy, but not only would I like to have it working via Heroic for the gamepad controls navigation, I'd also like to pay it forward and document these steps on the PC Gaming Wiki. Unfortunately, while I thought I could tell what this script was doing after scouring the Lutris script documentation, I haven't managed to crack it, and the Heroic install of the game complains about not having IPX installed when I boot it.

https://lutris.net/games/install/13260/view

With the Lutris install of the game and the Heroic install of the game side by side in WineCFG, I can see that that there are library overrides set for:

  • dplaysvr.exe
  • dplayx
  • dpmodemx
  • dpnet
  • dpnhpast
  • dpnhupnp
  • dpnsvr.exe
  • dpwsockx

All "(native)". For some reason they're sorted to the top of the library overrides and marked with an asterisk, and what's more, I don't see any hint of these ones in the Lutris install script, but they got set somehow, and I don't see the libraries here that are listed in the script.

There are also several ways to use the mod fix, including the DLL override and the EXE patcher. The EXE patcher just crashes and dies right away when I run it in the Wine prefix via Heroic, and I once again don't see any hint in the Lutris script that the patcher executable is being run. And if it wasn't clear up until this point, I did download the 3 files at the top of the Lutris script and extract them to the Heroic game directory.

Are there any Lutris experts here who can help me figure out what I'm missing?

UPDATE: The fix was, of course, very simple. Thanks to @bjoern_tantau@swg-empire.de! The thing that prevented it from working was the wsock32 override. Just because it's not in the list of library overrides, that doesn't mean you can't just type it in yourself. I've updated the PC Gaming Wiki with instructions for any time travelers from the future.

you are viewing a single comment's thread
view the rest of the comments
[–] bjoern_tantau@swg-empire.de 4 points 5 months ago (1 children)

Let me go through step-by-step.

  1. Download files listed at the top. The first one is the installer from GOG.
  2. You can ignore the game section, it's just saying with what executable to start the game.
  3. The most important are the tasks.
    1. The first one just sets up the Wine prefix, that should be done automatically.
    2. install the game (you don't have to use all the same flags)
    3. Extract the conf_files to the given directory.
    4. Extract the mod to the game directory.
    5. Extract the wrapper_audio to the game directory.
    6. Install directplay with winetricks.
  4. Limit the FPS to 60.
  5. Override the wine-dlls ddraw, dinput, dsound and wsock32 to prefer native versions.

I would also go over the conf_files and see what they set. In my experience those MyLittleLutrisScripts sometimes go a bit overboard with what one "should" do.

[–] ampersandrew@lemmy.world 1 points 5 months ago (1 children)

This is exactly what I thought was happening, and theoretically, it's exactly what I recreated in Heroic, give or take the frame rate limit. However, while things like the controller remapping config files are clearly working, the IPX networking fix is not. For one, things like wsock32, verbatim anyway, aren't present in the list of library overrides at all, and that list of libraries I put in the original post, that appear in the Lutris install, don't appear in the Lutris script. I looked for some extra scripts in the github directories to see if there were other instructions that were being run outside of this script (that's what you told me to look for, right?), but the only thing I found in there seemed to be a copy of part of this same Lutris script.

[–] bjoern_tantau@swg-empire.de 2 points 5 months ago (1 children)

You should be able to enter any dll name with the keyboard to get the wsock32 override.

[–] ampersandrew@lemmy.world 3 points 5 months ago

Man, that was it; or at least, it doesn't complain about IPX not being installed anymore. I didn't know you could just make up a name for any library not listed and it would still know to override it. Thanks! I'll run a LAN test between my desktop and Steam Deck, and if it's all working, I'll document it on PC Gaming Wiki and update this thread.