FireDart |
Thursday 19 March 2015 at 3:28
|
FireDart
|
Hello,
I'm trying to add support for a game on Steam called DirtyBomb: http://store.steampowered.com/app/333930/
When ever the script gets to
POL_Wine start /unix "Steam.exe" "steam://install/$STEAM_ID"
It fails with:
[POL_Wine] Message: Running wine-1.6 start /unix Steam.exe steam://install/333930 (Working directory : /home/######/.PlayOnLinux/tmp)
fixme:exec:SHELL_execute flags ignored: 0x00000100
Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: Success.
The issue seems to be the working directory being pointed to ~/.PlayOnLinux/tmp and no instance of Steam exists in that directory. What am I doing wrong? As well ~/.PlayOnLinux/wineprefix/DirtyBomb/drive_c/Program Files/Steam does not exists, I was under the impression the following would install Steam like that:
POL_Call POL_Install_steam
Linux OS: Debian Sid
PlayOnLinux Version: 4.2.5
This is the entire script, this is my first POL script so any improvements would be much appreciated! I tried to follow the wiki as close as possible.
#!/bin/bash
# Date : (2015-03-18 ??-??)
# Last revision : (2015-03-18 ??-??)
# Wine version used : 1.6
# Distribution used to test : Debian 8 Sid
# Author : FireDart
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
TITLE="Dirty Bomb"
PREFIX="DirtyBomb"
EDITOR="Splash Damage"
GAME_URL="http://dirtybomb.nexon.net"
AUTHOR="FireDart"
STEAM_ID="333930"
WORKING_WINE_VERSION="1.6"
GAME_VMS="512"
# Starting the script
POL_GetSetupImages "http://files.playonlinux.com/resources/setups/$PREFIX/top.png" "http://files.playonlinux.com/resources/setups/$PREFIX/left.png" "$TITLE"
POL_SetupWindow_Init
# Starting debugging API
POL_Debug_Init
# Set Presentation
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
# Installing mandatory dependencies
POL_Call POL_Install_steam
# Setting prefix path
POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
# Set video driver
POL_Wine_SetVideoDriver
# Mandatory pre-install fix for steam
POL_Call POL_Install_steam_flags "$STEAM_ID"
# Game install
POL_SetupWindow_message "$(eval_gettext 'When $TITLE download by Steam is finished,\nDo NOT click on Play.\n\nClose COMPLETELY the Steam interface, \nso that the installation script can continue')" "$TITLE"
cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
POL_Wine start /unix "Steam.exe" "steam://install/$STEAM_ID"
POL_Wine_WaitExit "$TITLE"
# Make shortcut
POL_Shortcut "steam.exe" "$TITLE" "$TITLE.png" "steam://rungameid/$STEAM_ID"
# Close POL
POL_SetupWindow_Close
exit
I also hope this is the right board? From the general discussion sticky it seemed this was also considering testing?
As well if anyone can explain the following:
POL_Call POL_Install_steam_flags
I did not find any documentation in the wiki yet it seems every script has it (if you need steam):
http://wiki.playonlinux.com/index.php/Components_and_Functions#steam_flags
Once the script is working should I post in "Application tests"?
Edited by FireDart
|
Ronin DUSETTE |
Thursday 19 March 2015 at 4:00
|
Ronin DUSETTE
|
This is the right place. :) When we are able to figure everything out to get it working, then submit it there.
And yes, at this point, that part of the wiki is still a work in progress (there are a LOT of entries to do. lol.). You shouldn't need to do the steam_flags function, though. Just use POL_Call POL_Install_steam. At least I have not had a problem leaving it out.
I believe you can leave out "start /unix", as well. I think "/unix" makes it parse like a *nix system, in which case you would need to escape special characters with a "\" (backslash). I could be wrong, though.
Edited by RoninDusette
|
FireDart |
Thursday 19 March 2015 at 4:27
|
FireDart
|
Hello,
Thank you for the response. I tried what you suggested and seems it got further but but still getting an error:
[03/18/15 23:18:53] - Running wine-1.6 Steam.exe steam://install/333930 (Working directory : /home/julian/.PlayOnLinux/tmp)
wine: cannot find L"C:\\windows\\system32\\Steam.exe"
It seems the following is not being run?
cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
I should have mentioned before but Steam does open but does not beinging downloading the app. I need to manually close Steam to continue. It also seems Steam is still only installed in:
~/.PlayOnLinux/wineprefix/default/drive_c/Program Files/Steam
Instead of:
~/.PlayOnLinux/wineprefix/DirtyBomb/drive_c/Program Files/Steam
However if I close Steam (to continue the install) the error above is produced. From my understanding POL should install another instance of Steam in the specificed virtural drive correct?
I have also tried POL with another game (Payday 2) and it seems to install an extra copy of Steam, the script is similar to that instal script so I'm bit confused, it's not my system or POL so it must be the scipt.
Edited by FireDart
|
Ronin DUSETTE |
Thursday 19 March 2015 at 4:51
|
Ronin DUSETTE
|
Look below. I figured it out. lol.
Edited by RoninDusette
|
Deleted |
Look below |
Ronin DUSETTE |
Thursday 19 March 2015 at 5:08
|
Ronin DUSETTE
|
Oh.I see. You are installing Steam before creating the virtual drive. Put POL_Call POL_Install_steam AFTER POL_Call_PrefixCreate. That will fix it.
|
FireDart |
Thursday 19 March 2015 at 23:19
|
FireDart
|
That ineed fix the above issue! The game is however having difficulity launching, might be caused from the the third party anti-cheap program, more testing needed.
The game is also "technically" not avaliable until the March 26th but you can launch the game; just not enter a match. Won't be able to properly test it till then, thanks again for the help this far. Here is the currently "working" script untill I get it to launch correctly.
#!/bin/bash
# Date : (2015-03-19 ??-??)
# Last revision : (2015-03-19 ??-??)
# Wine version used : 1.6
# Distribution used to test : Debian 8 Sid
# Author : FireDart & Ronin DUSETTE
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
TITLE="Dirty Bomb"
PREFIX="DirtyBomb"
EDITOR="Splash Damage"
GAME_URL="http://dirtybomb.nexon.net"
AUTHOR="FireDart"
STEAM_ID="333930"
WORKING_WINE_VERSION="1.6"
GAME_VMS="512"
# Starting the script
POL_GetSetupImages "http://files.playonlinux.com/resources/setups/$PREFIX/top.png" "http://files.playonlinux.com/resources/setups/$PREFIX/left.png" "$TITLE"
POL_SetupWindow_Init
# Starting debugging API
POL_Debug_Init
# Set Presentation
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
# Setting prefix path
POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"
# Installing mandatory dependencies
POL_Call POL_Install_steam
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
# Set video driver
POL_Wine_SetVideoDriver
# Make shortcut
POL_Shortcut "steam.exe" "$TITLE" "$TITLE.png" "steam://rungameid/$STEAM_ID"
# Game install
POL_SetupWindow_message "$(eval_gettext 'When $TITLE download by Steam is finished,\nDo NOT click on Play.\n\nClose COMPLETELY the Steam interface, \nso that the installation script can continue')" "$TITLE"
cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
POL_Wine "Steam.exe" "steam://install/$STEAM_ID"
POL_Wine_WaitExit "$TITLE"
# Close POL
POL_SetupWindow_Close
exit
As well I can't edit the wiki so here is an entry for steam:
== steam ==
'''What is it?'''
An installer for the game publishing platform Steam.
'''What it does:'''
Downloads and Installs Steam client.
'''When would I need it?'''
Any time a game requires Steam to run.
'''Script/Shell command:'''
<pre class="playonlinux code">
POL_Call POL_Install_steam
</pre>
'''Notes:'''
For Steam to be installed in the correct virtual drive make sure ''POL_Call_PrefixCreate'' is called before ''POL_Install_steam''.
<pre class="playonlinux code">
# Call first
POL_Call POL_Call_PrefixCreate $PREFIX
# Then call
POL_Call POL_Install_steam
</pre>
'''Links:'''
http://store.steampowered.com/
|
petch |
Thursday 19 March 2015 at 23:38
|
petch
|
I'm no Steam specialist, but to use it I'd recommend using either Wine 1.6.2, or a recent 1.7.x version (at least 1.7.11 as far as I know), as they regularly break Wine compatibility...
|
FireDart |
Friday 20 March 2015 at 1:10
|
FireDart
|
Hi petch,
I tried Wine 1.7.11 however still the same issue, everything seems to be the same from Wine 1.6.
- Click the program icon
- Steam loads
- Steam says launching game
- Anti-cheat progam launchs
- Game crashes directly after anti-cheat program loads
Debugger (1st run):
[03/19/15 19:46:54] - Running wine-1.7.11 Steam.exe steam://rungameid/333930 (Working directory : /home/julian/.PlayOnLinux/wineprefix/DirtyBomb/drive_c/Program Files/Steam)
[0319/194655:ERROR:network_change_notifier_win.cc(174)] WSALookupServiceBegin failed with: 8
[0319/194655:ERROR:gpu_info_collector_win.cc(103)] Can't retrieve a valid WinSAT assessment.
Install script executed.Setting breakpad minidump AppID = 333930
Steam_SetMinidumpSteamID: Caching Steam ID: 76561198013901946 [API loaded no]
Second launch attempt:
[03/19/15 19:52:22] - Running wine-1.7.11 Steam.exe steam://rungameid/333930 (Working directory : /home/julian/.PlayOnLinux/wineprefix/DirtyBomb/drive_c/Program Files/Steam)
[0319/195224:ERROR:network_change_notifier_win.cc(174)] WSALookupServiceBegin failed with: 8
[0319/195224:ERROR:gpu_info_collector_win.cc(103)] Can't retrieve a valid WinSAT assessment.
Setting breakpad minidump AppID = 333930
Steam_SetMinidumpSteamID: Caching Steam ID: 76561198013901946 [API loaded no]
[0319/195433:ERROR:renderer_main.cc(227)] Running without renderer sandbox
Any suggestions?
The Anti-cheat program is XIGNCODE3 by Wellbia.com Co., LTD
Some Googling about XIGNCODE3 brings up:
https://bugs.winehq.org/show_bug.cgi?id=36671 (Bug report, no solution)
https://appdb.winehq.org/objectManager.php?sClass=version&iId=24076 (not updated since 2014)
http://forums.dirtybomb.nexon.net/discussion/1053/xigncode3-wont-load-all-the-way (no-reply)
https://forum.winehq.org/viewtopic.php?f=8&t=22656 (Dead end)
The comment on the A.V.A game (another game which uses XIGNCODE3) says to install .NET Framework 3.0 for the "launcher". Would an anti-cheat program use a .NET framework?
POL_Install_dotnet30
Edit
Regarding the error "Running without renderer sandbox", does not seem to be an issue with the game so I would ignore it:
https://github.com/ValveSoftware/steam-for-linux/issues/3620#issuecomment-66340994
Edit 2
I should also mention I'm running Debian 8 sid with Meas 10.4 using a AMD R9 290.
julian@octus:~$ glxinfo | grep -i version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.4.2
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 10.4.2
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.4.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.0
julian@octus:~$
Edited by FireDart
|
Ronin DUSETTE |
Friday 20 March 2015 at 4:39
|
Ronin DUSETTE
|
Try the newest version of Wine.
|
Ronin DUSETTE |
Friday 20 March 2015 at 4:43
|
Ronin DUSETTE
|
That ineed fix the above issue! The game is however having difficulity launching, might be caused from the the third party anti-cheap program, more testing needed.
The game is also "technically" not avaliable until the March 26th but you can launch the game; just not enter a match. Won't be able to properly test it till then, thanks again for the help this far. Here is the currently "working" script untill I get it to launch correctly.
#!/bin/bash
# Date : (2015-03-19 ??-??)
# Last revision : (2015-03-19 ??-??)
# Wine version used : 1.6
# Distribution used to test : Debian 8 Sid
# Author : FireDart & Ronin DUSETTE
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
TITLE="Dirty Bomb"
PREFIX="DirtyBomb"
EDITOR="Splash Damage"
GAME_URL="http://dirtybomb.nexon.net"
AUTHOR="FireDart"
STEAM_ID="333930"
WORKING_WINE_VERSION="1.6"
GAME_VMS="512"
# Starting the script
POL_GetSetupImages "http://files.playonlinux.com/resources/setups/$PREFIX/top.png" "http://files.playonlinux.com/resources/setups/$PREFIX/left.png" "$TITLE"
POL_SetupWindow_Init
# Starting debugging API
POL_Debug_Init
# Set Presentation
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
# Setting prefix path
POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"
# Installing mandatory dependencies
POL_Call POL_Install_steam
# Asking about memory size of graphic card
POL_SetupWindow_VMS $GAME_VMS
# Set video driver
POL_Wine_SetVideoDriver
# Make shortcut
POL_Shortcut "steam.exe" "$TITLE" "$TITLE.png" "steam://rungameid/$STEAM_ID"
# Game install
POL_SetupWindow_message "$(eval_gettext 'When $TITLE download by Steam is finished,\nDo NOT click on Play.\n\nClose COMPLETELY the Steam interface, \nso that the installation script can continue')" "$TITLE"
cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
POL_Wine "Steam.exe" "steam://install/$STEAM_ID"
POL_Wine_WaitExit "$TITLE"
# Close POL
POL_SetupWindow_Close
exit
As well I can't edit the wiki so here is an entry for steam:
== steam ==
'''What is it?'''
An installer for the game publishing platform Steam.
'''What it does:'''
Downloads and Installs Steam client.
'''When would I need it?'''
Any time a game requires Steam to run.
'''Script/Shell command:'''
POL_Call POL_Install_steam
'''Notes:''' For Steam to be installed in the correct virtual drive make sure ''POL_Call_PrefixCreate'' is called before ''POL_Install_steam''.
# Call first
POL_Call POL_Call_PrefixCreate $PREFIX
# Then call
POL_Call POL_Install_steam
'''Links:''' http://store.steampowered.com/
Be patient. lol. We are working our way through it (it is huge, if you haven't noticed.). Also, you should NEVER install ANY dependency without creating the virtual drive first. That goes for ANY POL_Call POL_Install_blah command. That is in the scripting docs if I am not mistaken. It is not JUST for Steam. That goes for everything you install into a virtual drive. It has to actually be created first. I will add the Steam entry for now (it is really obvious what POL_Install_steam does), but I am not going to add the thing about creating the virtual drive first, and then install Steam, as all components should be done like that anyway. I just didn't notice it in the script right away.
|
FireDart |
Saturday 21 March 2015 at 18:25
|
FireDart
|
I've been trying different Wine versions and still no luck. Decided to check out other games using XIGNCODE3 as the anti-cheat engine and it seems it's an issue with Alliance of Valiant Arms, tons of MMOs & another Nexon game called Dekaron. Some one claimed (from 2012):
"Official Dekaron doesn't run over WINE because of the rootkit behaviour that XignCode has.
Xign needs to scan the memory range from cicle to cicle and Linux just doesn't allow that."
I'm not sure how accurate this is and it's from 2012 but seeing other similar games using XIGNCODE still have the garbage rating on WineHQ's AppDB I don't think this will be possible. In a similar bug report about a similar software named GameGaurd a Wine developers also mentioned they don't want/can't add it::
"Wine can never support root-kits. Wine has no kernel in the same sense as native platforms." [1]
I'll keep playing with it but don't think it's going to work, solution is to dual boot or run a VM.
|