DaniAsh551 / wemod-launcher

Tool made to launch the popular Game Trainer / Cheat tool WeMod along with your game (made for steam-runtime version in Linux).
MIT License
174 stars 8 forks source link

[BUG]: Launcher is not working with Steam Tinker Launch #96

Closed BracketMaan closed 2 weeks ago

BracketMaan commented 2 months ago

Hey, love the project. Is it possible to run this with steamtinkerlaunch as a custom command? I'm not too familiar with how it works.

marvin1099 commented 2 months ago

jep should work there are 2 ways to make a command, these may both work im not 100% shure, just try them both and see what happens, you want to paste one of these commands into the steam launch options to try them:

/home/$USER/wemod-launcher/wemod steamtinkerlaunch %command%

OR

steamtinkerlaunch /home/$USER/wemod-launcher/wemod %command%

see what works and report back please, Also you have to replace $USER with your username.

BracketMaan commented 2 months ago

Alright. I will note that using steamtinkerlaunch as a launch option is supported only for native games. Regardless, I have tested both steamtinkerlaunch wemod %command% AND wemod steamtinkerlaunch %command%

Unfortunately both do not work. With the first set of launch options, steamtinkerlaunch starts and when stl tries to launch the game the process immediately finishes image

With the second set of launch options nothing gets launched. I have tested this with Factorio and steamtinkerlaunch v14.0.20240624-1

But that is for native games. Which are a minority, what most of people would be interested in is using this with proton games. And for this, a compatibility tool of steamtinkerlaunch has to be set on Steam, and to the best of my knowledge the steam launch options are then ignored. What we have to work with is a slew of configuration options inside Steam Tinker Launch itself. image

I have tried using a custom command and pointing it to the wemod executable but it appeared to get ignored - most probably I did something wrong. I would appreciate any pointers on how to make this work and if it's even possible.

Thanks!

marvin1099 commented 2 months ago

Wemod is a windows tool only therfore this can never work with native games. All the wemod-launcher is doing is installing a bunch of stuff in the fake windows system to make wemod work. There is no way to make it work for native games. Next i had assumed you allready tryed wemod without steamtinkerlauch, before you add any Additional tools like steam tkinkerlaunch make shure that the wemod-launcher works as expected.

So follow the guide on the readme or in the wiki, after you get have followed the guide and tested wemod go ahead and try changing the launch options to one of the options above.

Well the wemod-laucher also uses a custom start command as well as installing things to make wemod work, therefore is probably not a good idea to modify the command in steamtinkerlauch, but try to make the wemod-launcher work that we can tackle the addional tools.

BracketMaan commented 2 months ago

Sorry, it appears my previous statement was unclear.

There is no way to make it work for native games.

You suggested to use steamtinkerlaunch in the launch options so I tried it. But using Steam Tinker Launch in the launch options is only for native games. source

Next i had assumed you allready tryed wemod without steamtinkerlauch

I have! It works correctly.

This is how the logs look when everything works correctly and ge proton is set.

The script wemod-laucher is running on version 1.018
FreeSimpleGUI is missing
Dependencies missing
Trying to install Dependencies...
Ensuring virtual environment...
Virtual environment created successfully.
pip finished
Re-running script within virtual environment
The script wemod-laucher is running on version 1.018
All dependencies are already installed.
The subsplit args list is 4 long and the full contents are: [['/home/owo/.local/share/Steam/ubuntu12_32/reaper', 'SteamLaunch', 'AppId=934700'], ['/home/owo/.local/share/Steam/ubuntu12_32/steam-launch-wrapper'], ['/home/owo/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/_v2-entry-point', '--verb=waitforexitandrun'], ['/home/owo/.local/share/Steam/compatibilitytools.d/GE-Proton9-9/proton', 'waitforexitandrun', '/home/owo/.local/share/Steam/steamapps/common/Dead Island 2/DeadIsland.exe']]
Looking for init file '/home/owo/.local/share/Steam/steamapps/compatdata/934700/pfx/.wemod_installer'
Looking once more for the init file
Syncing wemod data from '/home/owo/.local/share/Steam/steamapps/compatdata/934700/pfx/drive_c/users/steamuser/AppData/Roaming/WeMod' to laucher dir '/media/projekty/wemod-launcher/wemod_data'
Found init file. Continuing launch...
Executing:
    '/home/owo/.local/share/Steam/ubuntu12_32/reaper' 'SteamLaunch' 'AppId=934700' '--' '/home/owo/.local/share/Steam/ubuntu12_32/steam-launch-wrapper' '--' '/home/owo/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/_v2-entry-point' '--verb=waitforexitandrun' -- '/home/owo/.local/share/Steam/compatibilitytools.d/GE-Proton9-9/proton' waitforexitandrun start 'Z:\\media\\projekty\\wemod-launcher\\wemod.bat' 'DeadIsland.exe'

However after changing compatibility tool to Steam Tinker Launch and setting launch options to wemod %command% it results with an error. This is of course for a non-native game. Using STL and proton.

The script wemod-laucher is running on version 1.018
FreeSimpleGUI is missing
Dependencies missing
Trying to install Dependencies...
Ensuring virtual environment...
Virtual environment created successfully.
pip finished
Re-running script within virtual environment
The script wemod-laucher is running on version 1.018
All dependencies are already installed.
The subsplit args list is 3 long and the full contents are: [['/home/owo/.local/share/Steam/ubuntu12_32/reaper', 'SteamLaunch', 'AppId=934700'], ['/home/owo/.local/share/Steam/ubuntu12_32/steam-launch-wrapper'], ['/home/owo/.local/share/Steam/compatibilitytools.d/SteamTinkerLaunch/steamtinkerlaunch', 'waitforexitandrun', '/home/owo/.local/share/Steam/steamapps/common/Dead Island 2/DeadIsland.exe']]
Looking for init file '/home/owo/.local/share/Steam/steamapps/compatdata/934700/pfx/.wemod_installer'
Looking once more for the init file
Syncing wemod data from '/home/owo/.local/share/Steam/steamapps/compatdata/934700/pfx/drive_c/users/steamuser/AppData/Roaming/WeMod' to laucher dir '/media/projekty/wemod-launcher/wemod_data'
Found init file. Continuing launch...
Executing:
    '/home/owo/.local/share/Steam/ubuntu12_32/reaper' 'SteamLaunch' 'AppId=934700' '--' '/home/owo/.local/share/Steam/ubuntu12_32/steam-launch-wrapper' -- '/home/owo/.local/share/Steam/compatibilitytools.d/SteamTinkerLaunch/steamtinkerlaunch' waitforexitandrun start 'Z:\\media\\projekty\\wemod-launcher\\wemod.bat' 'DeadIsland.exe'
Exit command with '0'
EXIT

I'm not too sure where to go from here.

marvin1099 commented 2 months ago

Interesting, sadly i don't know enough about steamtinkerlaunch to tell you how to fix this, I think the script never expects anything other then proton to run it, sadly with this tool i think you are out of luck, I may look into this in the future but for now this is not going to work. Sorry about that.

Btw.Ii have seen that steamtinkerlanuch wants to be selected instead of proton, and that is probably part of the issue.

marvin1099 commented 2 months ago

So there might be some way to make this work but you might have to do a bit of testing, for now download testrunner.zip, extract the python file and change the launch option to: /path/to/testrunner.py %command% change the path /path/to/testrunner.py to the real path of the py file. also set the compatibility tool to steamtinkerlaunch. Then make sure steam is closed open the console and run steam Then run the game and send the output here.

BracketMaan commented 2 months ago

The file had a missing shebang. After adding it, these are the logs of starting the game with steamtinkerlaunch and then shutting it down, then shutting it down steam. steamlogs.txt

marvin1099 commented 2 months ago

Turns out, you are on a old version and i didn't notice. Please update, it's possible that steamtinkerlaunch works in the newest version. To update run:

cd /home/$USER/wemod-launcher
git reset --hard origin
git pull
sudo chmod -R ug+x .

After that a auto updater will be included, so after you update, the launcher will update by itself in the future.

When trying it in the new version make sure to delete the old wemod.log file and then set steamtinkerlaunch as steam compat tool. And then send over the newly created wemod.log file.

BracketMaan commented 2 months ago

Log of wemod after updating wemod and launching a proton game with steamtinker launch: wemod.log

It would be more efficient if you tried steamtinkerlaunch on your own.

marvin1099 commented 2 months ago

Log of wemod after updating wemod and launching a proton game with steamtinker launch: wemod.log

It would be more efficient if you tried steamtinkerlaunch on your own.

I wanted to, but so far i could not get steamtinkerlaunch to run at all. Also hat happened on this run? Did steamtinkerlaunch appear? Did wemod appear? Did nothing happen?

marvin1099 commented 2 months ago

actually now that i think about it you may be able to use the wemod laucher in the custom command section, to do that

  1. make shure wemod works
  2. start the game with steamtinkerlaunch and without wemod
  3. set the custom command setting in steamtinkerlauch to:
    start 'Z:\\\\media\\\\projekty\\\\wemod-launcher\\\\wemod.bat' 'Z:\\\\home\\\\owo\\\\.local\\\\share\\\\Steam\\\\steamapps/common\\\\Dead Island 2\\\\DeadIsland.exe'

    or you probably want to set it to

    start

    and then set the custom command argument setting in steamtinkerlauch to:

    'Z:\\\\media\\\\projekty\\\\wemod-launcher\\\\wemod.bat' 'Z:\\\\home\\\\owo\\\\.local\\\\share\\\\Steam\\\\steamapps\\\\common\\\\Dead Island 2\\\\DeadIsland.exe'

    Keep in mind that i have used your wemod-launcher folder location from your logs for this command, therefore this will have to be changed if you move the wemod-launcher

start may need to be replaced with the location of the start.exe, usualy C:\\\\windows\\\\system32\\\\start.exe the \\\\ may need to be replaced by \\ or \ not matter where you use it

marvin1099 commented 1 month ago

So I marked this with help wanted, then someone else may help, but I'm out of ideas sadly. Sorry that I have no ideas.

marvin1099 commented 2 weeks ago

Please could you report if any of the things i have suggested have worked, a simple "no" will do, I just like to know if this is still a problem, it probably still is but you haven't said anything, so I'm not sure how problematic this still is.

BracketMaan commented 2 weeks ago

Hey, sorry. Was out of it for a while. So far haven't managed to get wemod to run with steamtinkerlaunch. However, I haven't tested manually invoking wemod with 'start'. I will try it in a week (cant atm) and report back.

marvin1099 commented 2 weeks ago

So after i had some time on my hand i managed to make Steam Tinker Launch work. To make it work i had no launch options and sett some stuff up in Steam Tinker Launch. Here is a screenshot of the setup, it will probably work for any game, as long as you replace the game path to your gamepath: Wemod and Steam Tinker Launch "pass external programs" may have to be disabled, but other then that it should work.

marvin1099 commented 2 weeks ago

A other option to make it work is by setting custom command to WeMod.exe (the full path to the WeMod.exe). In that case you would remove the arg line i have set in the image, enable fork custom command and disable only custom command. If you do it this way wemod won't close with the game, keep that in mind.

So i recommend doing it like in the image.

marvin1099 commented 2 weeks ago

I have also added the explanation to the wiki, if you want to read up on it check out Using Steam Tinker Launch. Since i have found a way to make this work this issue is finally done. If you have more problems with this ask, for now i will close this issue.