9

I am aware that BattleStar Galactica Online requires the Unity 3D browser plug-in to play. It is currently only available to Windows. I installed the windows version of Firefox 20 using Wine 1.4.1. It ran beautifully and smoothly. Then I installed the United 3D browser plugin version 4.1.2f1 using Wine. I registered for the game and went to play it. However, it gave me this error when the game started to load:

Failed to update    Unity web player
Error Details       Install Manually

This is the newest version of the Unity player. Also, selecting Error details produces a pop up that says:

A New version of the Unity Web Player is required, but the auto-update download failed.
Was trying to download http://webplayer.unity3d.com//Channels/795a449bc926/UnityPlayer3.x.x-win32.zip

Does anyone know what is causing the problem? Has anyone figured out a work around?


Update
As per suggestion, I tried following the link given in the error details. The url changed since the problem started, it is now http://webplayer.unity3d.com//Channels/911c7369eeac/UnityPlayer3.x.x-win32.zip. It opened in Ubuntu's Archive Manager and I extracted the contents to .../Local Settings/Application Data/Unity/WebPlayer/player/3.x.x/ in my user folder within my .wine folder. I placed the old files in a new folder in case I needed to revert back. When I reloaded firefox and went to Battlestar Galactica Online, I had the identical error message as above. This idea was a dead end.


Comment
To avoid an extended conversation with myself, I'll add the following information which may or may not be helpful as an edit. The Unity forums, which is a clone of a stack exchange site, offers little help to people with issues. I found multiple posts by Windows users who have had the same problem. The answers were either vague or irrelevant in most cases with a few of them just plain out-of-date.

This link may actually prove to be helpful. However, I don't know which log file they are referring to. If someone can tell me, we may be one step close to getting this game running.


Update
I removed the log files I had previously uploaded here. One was the from when I attempted an to use an older version of Unity and therefore irrelevant. Here are the two new log files that are actually relevant. The first one is log_9e49528ca7602f43a8ab3e512f51ec85.txt

130531 13:49:16 ------------------------------------------------------------
130531 13:49:16 Instance starting, version 4.1.3f3_9174d583c97b, UNITY_WEB_ENABLE_AUTODOWNLOAD: 1, GetDisableAutoUpdates(): 0
130531 13:49:16 Datafile http://battlestargalactica-547.ah.bpcdn.net/client/bgoclient.unity3d?__cv=74ec5150a2588c2594bbc497c418cc00
130531 13:49:26 Setting error display: 'Failed to update Unity Web Player', details: 'A newer version of Unity Web Player is required, but the auto-update download failed.
Was trying to download http://webplayer.unity3d.com//Channels/9174d583c97b/UnityPlayer3.x.x-win32.zip', link: 1

The second one is manager_a9779ddffc02944b911eb9afcd5390ff.txt

130531 13:47:33 ------------------------------------------------------------
130531 13:47:33 Manager starting, version 4.1.3f3_9174d583c97b
130531 13:47:36 Requesting bundle 1 (3.x.x) update. Required revision range is 4138003 to 4138003, installed revision is ffffffff
130531 13:49:19 Requesting bundle 1 (3.x.x) update. Required revision range is 4138003 to 4138003, installed revision is ffffffff

Interpretation
From what I can tell from the log file, the number that precedes each line is actually the day in yymmdd format followed by the military time. The file that begins with "log" only has information on what the most recent session with the Unity Web Plugin outputed. The file beginning with "manager" seems to keep all error messages from the current browser session. The error message:

Requesting bundle 1 (3.x.x) update. Required revision range is 4138003 to 4138003, installed revision is ffffffff

Appears after all events in both log files. From searching the Unity forums, I noticed that this error appears for multiple Windows users. Of course they are offered no help in determining the cause aside from their generic explanation of the error message. But those users did not give up hope and eventually some of them discovered the cause. Many of them has some kind of encryption system that prevented Unity from reading the files and folders it needed. Other people had some kind of network encryption that also seemed incompatible with Unity.

The question now becomes what in wine is causing Unity to fail and is it something that can be worked around?


Possible Solution?

There is with forum thread at winehq that claims to have gotten wine to run Unity via a patched version of wine (see here). It requires modifying some code and recompiling wine, there is a link to this video in which youtube user David Techer instructs on how to get it working. Ironically, the video features this very page in it yet Techer did not bother to leave an answer, >:( .

This method uses a different version of Wine, Firefox, Unity, and Ubuntu than I asked, however if it works I would gladly accept it as an answer provided that someone answers it in a clear, well structured manner.

Edit: The forum thread mentions applying a four part patch to fix bug number 12067, however that patch is already applied to wine version 1.7.6 and newer. The current version of wine 1.7.9 has a bug that results in certain programs, like firefox, to crash at startup (firefox gives a "could not load xpcom" error). This is suppose to be fixed when 1.7.10 comes out, however 1.7.8 runs firefox quite well. Since the simple instructions on obtaining the source code for wine using git results in the 1.7.9 code, I'll wait until 1.7.10 comes out to attempt this workaround. However the forum thread replaces:

HDESK WINAPI OpenInputDesktop( DWORD flags, BOOL inherit, ACCESS_MASK access )
{
FIXME( "(%x,%i,%x): stub\n", flags, inherit, access );
SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
return 0;
}

in winstation.c (in wine version 1.7.0) with

HDESK WINAPI OpenInputDesktop( DWORD flags, BOOL inherit, ACCESS_MASK access )
{
return CreateDesktopA("Desktop", 0, 0, flags, access, 0);
}

However, in the winstation.c file in 1.7.9 it's

HDESK WINAPI OpenInputDesktop( DWORD flags, BOOL inherit, ACCESS_MASK access )
{
    HANDLE ret = 0;

    TRACE( "(%x,%i,%x)\n", flags, inherit, access );

    if (flags)
        FIXME( "partial stub flags %08x\n", flags );

    SERVER_START_REQ( open_input_desktop )
    {
        req->flags      = flags;
        req->access     = access;
        req->attributes = inherit ? OBJ_INHERIT : 0;
        if (!wine_server_call_err( req )) ret = wine_server_ptr_handle( reply->handle );
    }
    SERVER_END_REQ;

    return ret;
}

I'm a bit reluctant in making a change since it may break wine. It seems that since 1.7.0 that the call to the function OpenInputDesktop has been implemented and doesn't merely create an error message. OpenDesktopA function returns the OpenDesktopW function which returns the open_winstation_desktop function which basically looks like what 1.7.9 and 1.7.10 has written for the OpenInputDesktop. It's more efficient not to recompile wine with the mentioned patch as it will do the same thing as is only with a smaller runtime stack. So I need to try to install firefox, flash, and unity with 1.7.10 then copy and past the updated files from a windows pc into the correct folder. If anyone has already done it please post detailed instructions and your results so I can select it as the best answer.

7
  • Perhaps downloading and installing it manually will resolve the issue? You've got a URL to use to download it; what happens if you paste that into your browser?
    – Frank
    Commented May 8, 2013 at 16:08
  • The error simply means Firefox couldn't install the plugin automatically. As @fbueckert said, you should try installing the plugin manually instead. Commented May 8, 2013 at 16:08
  • I had installed the most up-to-date player when I received the error. Before I had installed the Unity3d Web Player, It wouldn't even give me the option to load the game much less get to the point where it would tell me to update. Though, since I had downloaded the newest version, I never bother to check that link. I'll give that a try then get back to you
    – Nil
    Commented May 8, 2013 at 16:12
  • You downloaded the player. Did you install it, rather than just extracting it?
    – Frank
    Commented May 8, 2013 at 19:59
  • @fbueckert The link given by the error message is for a zip file, not an installer. Only the components are provide which I had to extract to the appropriate directory which should be .../Local Settings/Application Data/Unity/WebPlayer/player/3.x.x/
    – Nil
    Commented May 8, 2013 at 21:45

1 Answer 1

4

EDIT: I have found out that, unfortunately, no one has been able to get the Unity3D Web Player to run under Wine and there is no native version of the Web Player. I'm afraid it is impossible to get it to run under Linux for the time being.


If you have other things installed in your .wine folder, try making a new, clean Wineprefix to do the install in, so that you are sure that nothing else in somehow interfering with the program.

To create a new Wineprefix, say in a folder called .BSGOnline do this in a terminal:

  1. mkdir .BSGOnline
  2. export WINEPREFIX=/home/username/.BSGOnline
  3. Do the install the same way as you did previously; install Firefox inside the Wineprefix and then install the Unity3D Web Player. It might help to update Wine as well, but that might just as well make it worse.

Good luck, and I hope it helps!

4
  • I can't seem to install firefox to the new wine prefix. When I run the installer for firefox, it only shows the contents of the .wine prefix and wont show hidden directories. Mind giving me a few more pointers?
    – Nil
    Commented May 8, 2013 at 21:28
  • I used PlayOnLinux to create a new wine prefix and to use Wine 1.5.23. I get the same error message, only now it seems firefox has little tantrums where it freezes.
    – Nil
    Commented May 8, 2013 at 21:43
  • You have to install Firefox and Unity3D Web Player in the same terminal that you did <code>export WINEPREFIX=/home/username/.BSGOnline</code> in.
    – Ulrika
    Commented May 9, 2013 at 5:58
  • You could possibly try to use other browsers (Google Chrome, Opera or IE) to play as well. However, it would seem, after some research, that no one has got it running properly in Wine, I'm afraid. (If you want to delete the install, delete the .BSGOnline folder entirely)
    – Ulrika
    Commented May 9, 2013 at 6:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.