ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.91k stars 1.04k forks source link

Yu-gi-oh Duel Links (601510) #1471

Open jomarocas opened 6 years ago

jomarocas commented 6 years ago

Compatibility Report

System Information

Symptoms First problem encounter with media in ntfs i modify in /etc/fstab for working and execute,i use steam beta and proton beta /dev/sda3 /media/juegos ntfs-3g defaults,uid=1000,gid=1000,exec 0 0

Reproduction

Install latest update

  1. You can find the Steam AppID in the URL of the shop page of the game. e.g. for yu-gi-oh duel links the AppID is 601510.
  2. logs for proton in home https://gist.github.com/jomarocas/f5b40aa5786daa5511d4d9f0e5246917
  3. related issues are in #https://github.com/ValveSoftware/Proton/issues/11

more logs

the game crashed. the crashed report folder name "2018-09-15_152126" next to game executable. it would be great if you send it to developer of the game https://gist.githubusercontent.com/jomarocas/8c2ebd04425c8c2ec1c387d53d7136b9/raw/7af56432af5a6d1e387f7f2a932b510858599e59/log

WINEPREFIX="$HOME/prefix32" WINEARCH=win32 wine wineboot

kisak-valve commented 6 years ago

err:mscoree:CLRRuntimeInfo_GetRuntimeHost Wine Mono is not installed in the log points towards #18.

jvschiavo commented 6 years ago

err:mscoree:CLRRuntimeInfo_GetRuntimeHost Wine Mono is not installed in the log points towards #18.

Do you plan to include wine-mono in Proton to support those games?

jomarocas commented 6 years ago

duel links working with playonlinux https://www.youtube.com/watch?v=DR_gnNzt7e0

jomarocas commented 5 years ago

Later of try and read lot of things, i can make the game working with wine prefix, but i make a lot of things and i dont know how of this things is make to work the game. Start

Install mono form this page https://www.mono-project.com/download/stable/#download-lin-ubuntu follow steps for install mono, i use ubuntu 18.04 and i have nvidia driver 396 for clarify

later i install wine, wine64 bit and winetrick, but before you need to sure to other installation of wine that make have a problems

sudo apt remove wine*
rm -rf .wine/
sudo apt install wine-stable wine64

and go to you installation path and make

WINEPREFIX=/media/juegos/juegos_linux/steamapps/compatdata/601510/pfx winetricks dotnet45

execute the game and now working, i have steam cliente beta and proton beta, but this use local wine

wine --version
wine-3.0 (Ubuntu 3.0-1ubuntu1)
winetricks --version
20180217 - sha256sum: 1b156c616174f41df79d72a90c52eb2b110c63a6e8ecb865d303a8f9f0908924

I install dotnet from winetrick in install programs, i install corefonts this for game working sudo apt-get install msttcorefonts

minionprocyk commented 5 years ago

After installing mono, I can run the game, but I'm unable to transfer my data from the main menu and I get the error message "user-open error: Supplied URL scheme "duellinks" is not allowed". This then lets your browser hang on konami's authentication page while the main app is saying wait for the data to be transferred.

Outside of that one issue, game seems to run perfectly fine. Not sure if anyone is having a similar problem. I'll play around and see if I can get it to run.

jomarocas commented 5 years ago

@minionprocyk i dont have the issue, when download i close the app and reopen again for download in the same status, later of download all working good

jomarocas commented 5 years ago

@kisak-valve you can change the status of this issue to whitelist, thanks

kisak-valve commented 5 years ago

Hello @jomarocas, no, because it looks like this game requires manual install installation of wine-mono / .net. A whitelist request should be usable out of the box, but if the game needs some runtime config options, it can still be considered.

omnishamble commented 5 years ago

I have the same issue as @minionprocyk - game runs perfectly, but I am unable to setup Data Transfer with my Konami account. Falkon browser opens up the My Konami page, but after logging in, Falkon gives me the following error: "Could not find any application or handler for duellinks://yugioh/regist/?code=f9a88f3211c74bccab72a8f754555e05" Firefox simply does nothing.

minionprocyk commented 5 years ago

I took another go at this... I was able to get the data transfer to complete successfully. I will post detailed instructions later but basically you have to setup an application redirect in your default browser to handle "duellinks" and associate it to a shell script, this shell script needs to run wine in the same context (same prefix) as duellinks and launch the duellinkstakeover.exe file.

After you do this, when you press data transfer and punch in your konami credentials, the script will launch the duellinkstakeover.exe file, wait for the process to finish, wait some time, then tab back into the game and hit initialize link. You will load in with your save file.

I did not confirm if the data is presistent after initial load, but I'm pretty happy just to see it work. Will post later today with more detailed instructions of what I did.

...

I may have jumped the gun a little early. when you launch through steam, it performs its own data sync of the game's save files. That's what was being synced across my machines. I'm able to run the datasync tool in the game, but it results in some trouble downloading the files:

UnloadTime: 0.586700 ms Log: connection {1} has been disconnected by timeout; address {::ffff:127.0.0.1:2121} time {2418}, last rec time {333} rtt {0} timeout {2000} reactor filed to acomplish request with code {676}, bytesReceived {0} received close sock signal with code {676} and ret {0} Setting up 2 worker threads for Enlighten. Thread -> id: 53 -> priority: 1 Thread -> id: 54 -> priority: 1

minionprocyk commented 5 years ago

Well turns out I was just being silly. I did indeed get the process to work afterall. Here's what you need to do.

To get the game to launch at all, you need to install dotnet45 and set the launch options to PROTON_USE_WINED3D=1 %command%. Now the game loads, hooray!

Now to get data transfer to work: The example i will provide is using Firefox as default browser using ubuntu 18.10.

  1. In firefox, open about:config, and right click to add a new boolean with the name: "network.protocol-handler.expose.duellinks" and set it to false.

  2. Create a shell script called duellinks and place it into /usr/local/bin or wherever you choose. This shell script will serve as a wrapper for calling the data transfer process when you login to the konami page. It will need execute privileges, e.g. chmod +x /usr/local/bin/duellinks

  3. create a dummy html file that contains a duellinks application link.

<!DOCTYPE html>
<html>
<body>

<h1>Get Duel Links Data Transfer Working</h1>

<p>Click the link, set the default application to be your duellinks script and check the Remember This Choice checkbox</p>
<a href="duellinks://open/friends">Click This Link to get the dialog box</a>
</body>
</html>
  1. save the html file, load it into your browser, click the link, set your default application to handle the link to be the duellinks script you've already created.

  2. Add content to your duellinks script, here's an example of the shell script I created.

    
    #!/bin/sh

WINEPREFIX="/path/to/SteamLibrary/steamapps/compatdata/601510/pfx" WINEESYNC=1

exec /path/to/Proton\ 3.16\ Beta/dist/bin/wine Z:/path/to/SteamLibrary/steamapps/common/Yu-Gi-Oh!\ Duel\ Links/DuelLinksTakeOver.exe "$@"


If you want to test your script, you can type "duellinks" in your terminal, it will load a window briefly and your terminal should have a wall of text saying FIXME from wine. 

6. Launch DuelLinks and select data transfer, enter your konami credentials
7. watch a window appear, do some magic, then duellinks will load your new credentials and present you with a box saying it was succesful. Load the game and start playing!
omnishamble commented 5 years ago

Thank you for your detailed instructions, @minionprocyk , the solution worked! I'd just like to point out that there's a typo in your script - there's a " missing after the path pointing to the wineprefix.

minionprocyk commented 5 years ago

thanks @omnishamble . I updated the comment.

FooisOP commented 3 years ago

As much I don't want to quote entire solution, it is directed to the solution regarding on linking accounts.. It seems a lot has changed between now and then.

I ran into a major bug problem where I cannot run wine because it would give me bad EXE. However, if I run wine64 then it would run but it crash the duel links client. I have to force quit the game through htop.

Installing breakpad exception handler for appid(gameoverlayui)/version(20201007061553)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
recv failed for host {0}, error {676}. Host will be closed
[1010/094219.418521:INFO:crash_reporting.cc(270)] Crash reporting enabled for process: renderer
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
[1010/094219.611641:ERROR:frame_sink_video_capturer_impl.cc(206)] Invalid resolutions constraints: 0x0 must not be greater than 0x0; and also within media::limits.
Unloading 1 Unused Serialized files (Serialized files now loaded: 18)

Unloading 29 unused Assets to reduce memory usage. Loaded Objects now: 18112.
Total: 38.443600 ms (FindLiveObjects: 1.874800 ms CreateObjectMapping: 0.770700 ms MarkObjects: 35.675700 ms  DeleteObjects: 0.121700 ms)

I tried to dig up some additional info. This is the results.

Log: connection {1} has been disconnected by timeout; address {::ffff:127.0.0.1:2121} time {2533}, last rec time {433} rtt {0} timeout {2000}
reactor filed to acomplish request with code {676}, bytesReceived {0}
received close sock signal with code {676} and ret {0}
 Setting up 4 worker threads for Enlighten.
  Thread -> id: b4 -> priority: 1 
  Thread -> id: b5 -> priority: 1 
  Thread -> id: b6 -> priority: 1 
  Thread -> id: b7 -> priority: 1 

I am running Steam Proton 4.11. I am afraid to change anything since I found out that my account is not connected to the konami ID at all for some reason. This whole time, I thought it was connected automatically.

Anybody here got any ideas?

Edted: I fixed the solution.

"network.protocol-handler.expose.duellinks" and set it to True.

It should not be false as original solution stated.

UltiRequiem commented 3 years ago

duel links working with playonlinux https://www.youtube.com/watch?v=DR_gnNzt7e0

Not working actually.

alkaris2 commented 3 years ago

When I tried to play this game, the game appears to work normally until I click out of the game or Alt+Tab, and I can no longer interact with the game. I can still draw particle effects with my mouse when clicking in the game, but I cannot click on anything in the game like buttons, menus etc... everything just ceases to work for whatever reason.

I'm basically forced to restart the game if I click out or Alt+Tab, because trying to click back in or Alt+Tab back to the game doesn't restore game functionality. I need to try grab some logs next time I play it, to see if anything of interest pops up as to why it can't focus back to the game when switched to it.

EDIT:

I don't know if this log will help but this is what I get when I alt+tab away or click out the game. Perhaps there's something to add to the tweaks of Proton that can be made somewhere to fix this issue.

steam-601510.log

alkaris2 commented 3 years ago

A follow up to the mouse focus issue. I've found a fix to the mouse focus so you can click out or Alt+Tab to and from the game. To fix the issue, you need to add the following to Regedit;

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"UseTakeFocus"="N"

Copy+Paste the above in to a text editor and call it MouseFocusX11.reg or whatever you want and open Regedit with either Winetricks or Protontricks, and then from the menu select Import Registry Key to add it.

GAumala commented 3 years ago

I managed to transfer my data today. I can confirm that @minionprocyk's method works and that "network.protocol-handler.expose.duellinks" has to be set to false. Testing the dummy file beforehand is really important to get this working.

For some reason running the game executable in the bash script that I choose to run in firefox didn't work for me. Instead what I did is save the url that the script has to handle to a local file. The script used looks like this:

#!/usr/bin/bash

# Path must be absolute!!
echo "$@" > /home/user/args.txt

After submitting credentials in the Konami website, args.txt contained a single url like this: "duellinks://yugioh/regist/?code=aaaaaaaa-bbbb-cccc-dddddddddddd". Then I just ran in my terminal:

exec "$PROTON_PATH/dist/bin/wine" "Z:$STEAM_LIBRARY/steamapps/common/Yu-Gi-Oh! Duel Links/DuelLinksTakeOver.exe" "duellinks://yugioh/regist/?code=aaaaaaaa-bbbb-cccc-dddddddddddd" 

In case you are wondering about the variables used here:

McEazy2700 commented 4 months ago

Hi, I noticed the last comment was in 2021. I'm not sure steam works like this anymore. First of all I don't have whine or proton installed. When I chekes how steam runs it's apps if found this to be it's execution command steam steam://rungameid/601510. I'm also trying to connect Duel Links to my Konami account. Please is there an updated method?