Forums

[Script] Dirty Bomb

Application could not be started... wrong directory?

Auteur Réponses
FireDart Jeudi 19 Mars 2015 à 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"?

Edité par FireDart

Ronin DUSETTE Jeudi 19 Mars 2015 à 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. 

Edité par RoninDusette


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
FireDart Jeudi 19 Mars 2015 à 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.

Edité par FireDart

Ronin DUSETTE Jeudi 19 Mars 2015 à 4:51
Ronin DUSETTE

Look below. I figured it out. lol.

Edité par RoninDusette


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
Deleted Look below
Ronin DUSETTE Jeudi 19 Mars 2015 à 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. 


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
FireDart Jeudi 19 Mars 2015 à 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 Jeudi 19 Mars 2015 à 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 Vendredi 20 Mars 2015 à 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.

  1. Click the program icon
  2. Steam loads
  3. Steam says launching game
  4. Anti-cheat progam launchs
  5. 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:~$

Edité par FireDart

Ronin DUSETTE Vendredi 20 Mars 2015 à 4:39
Ronin DUSETTE

Try the newest version of Wine. 


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
Ronin DUSETTE Vendredi 20 Mars 2015 à 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. 


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
FireDart Samedi 21 Mars 2015 à 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.