Wine, Linux, and the NCSoft Client


Curveball

 

Posted

I know, I know, it's not formally supported and we few Linux users are pretty much on our own. However... for the last four days I actually had the NCSoft client mostly working!

Running Kubuntu Natty, with Wine 1.3.19...

I created a menu item with the following entry in the command field:

wine '/home/wrightc/.wine/drive_c/Program Files/City of Heroes/cohupdater.exe' /LaunchGameCityOfHeroes -renderthread 0

It would open a big grey box, then opened a dialog that said it was checking for updates to the NCSoft Launcher, then opened saying it was checking the CoH game for updates, then it went to the boot screen. Basically /LaunchGameCityOfHeroes bypasses the whole "can't find the path" message and goes straight to loading CoH. (Don't know if it will crash when the launcher actually needs to be updated).

I was able to use this for four glorious days... and now it just doesn't work. Why? Dunno. I click the same icon, I get the little "loading" bubble next to the mouse, and it spinso ff into infinity. When I try to load via terminal prompt, this is the message I get:

Code:
fixme:sync:CreateMemoryResourceNotification (0) stub
err:ole:CoGetContextToken apartment not initialised
fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms"
fixme:shell:URL_ParseUrl failed to parse L"System"
fixme:shell:URL_ParseUrl failed to parse L"System.Drawing"
fixme:exec:SHELL_execute flags ignored: 0x00000100
wrightc@Mark:~/.wine/drive_c/Program Files/City of Heroes$ fixme:sync:CreateMemoryResourceNotification (0) stub
err:ole:CoGetContextToken apartment not initialised
fixme:shell:URL_ParseUrl failed to parse L"System"
fixme:shell:URL_ParseUrl failed to parse L"_Launcher"
fixme:shell:URL_ParseUrl failed to parse L"NC.Logging"
fixme:shell:URL_ParseUrl failed to parse L"UnRar.Net"
fixme:shell:URL_ParseUrl failed to parse L"NLog"
fixme:shell:URL_ParseUrl failed to parse L"NC.Logging"
fixme:shell:URL_ParseUrl failed to parse L"System"
fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms"
fixme:shell:URL_ParseUrl failed to parse L"System.Drawing"
fixme:shell:URL_ParseUrl failed to parse L"NLog"
fixme:shell:URL_ParseUrl failed to parse L"System.Configuration"
fixme:shell:URL_ParseUrl failed to parse L"System.Runtime.Remoting"
fixme:shell:URL_ParseUrl failed to parse L"System.Xml"
fixme:win:EnumDisplayDevicesW ((null),0,0x33b528,0x00000000), stub!
fixme:shell:URL_ParseUrl failed to parse L"System.Configuration"
fixme:shell:URL_ParseUrl failed to parse L"System.Xml"
fixme:ras:RasEnumConnectionsW (0x1f34b0,0x33ae38,0x33ae34),stub!
fixme:ras:RasEnumConnectionsW RAS support is not implemented! Configure program to use LAN connection/winsock instead!
fixme:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request: stub
fixme:ras:RasConnectionNotificationW (0xffffffff,0x2f0,0x00000003),stub!
fixme:winhttp:WinHttpDetectAutoProxyConfigUrl 0x00000001, 0x33ad90
fixme:winhttp:WinHttpDetectAutoProxyConfigUrl 0x00000002, 0x33ad90
fixme:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request: stub
fixme:advapi:LsaOpenPolicy ((null),0x33ccac,0x00000800,0x33cc54) stub
fixme:advapi:LsaClose (0xcafe) stub
... which is where it remains until I kill it.

Are there any other brave linux-using souls out there who know more than I do and can tell me what I need to do to get this working again?


Scrapper Jack (SJ/WP Brute), Sky Commando (WP/SJ Tanker), Curveball (Rad/DP Defender), and a bunch more.

 

Posted

Well, even getting this to work, there's rumblings about *having* to use the NCSoft launcher (vs the COH launcher, which you're pointing at.) Which, according to je_saist (who tends to follow this more than anyone else I'm aware of) essentially "doesn't work, period."

Related, I'm not sure.


 

Posted

That launcher.exe isn't the old launcher. I'm pretty sure it's just a redirect to the ncsoft one because it backed up the original.


Scrapper Jack (SJ/WP Brute), Sky Commando (WP/SJ Tanker), Curveball (Rad/DP Defender), and a bunch more.

 

Posted

After looking into this a little more I think it's a general Wine problem, because a number of other games are also not working. I used to be able to run Mids' for one thing. I also can no longer run Civ IV, which is one of the games I've always, always been able to play under wine. So there's definitely something else going on that has nothing to do with NCSoft.


Scrapper Jack (SJ/WP Brute), Sky Commando (WP/SJ Tanker), Curveball (Rad/DP Defender), and a bunch more.

 

Posted

any progress on this? since they're now pushing for the new launcher by Aug 4th i've started testing it. i've got the same "can't find the path" error.


 

Posted

Actually, yes. I have the NCSoft launcher sort-of working. I plan to post a procedure for it soon, right now my notes are a bit scattered.


Scrapper Jack (SJ/WP Brute), Sky Commando (WP/SJ Tanker), Curveball (Rad/DP Defender), and a bunch more.

 

Posted

Quote:
Originally Posted by Curveball View Post
Actually, yes. I have the NCSoft launcher sort-of working. I plan to post a procedure for it soon, right now my notes are a bit scattered.
The problem with "mostly" working is that new users aren't likely going to follow through a complex series of steps and or procedures.

Like it or not, the average Linux user these days checking out Debian spin-offs like Mepis or Ubuntu are not interested in esoteric / exotic systems configurations.

There's already been a thread about getting around the launcher and running the game directly, as well as some unique solutions to solving the patching issue... but most of those work-arounds all run into the same problem. A user needs to have a valid installation of Microsoft Windows.


 

Posted

je: i haven't seen any actual workarounds for the launcher. care to share?

as for new users to Linux, anyone who is dedicated enough to run Linux full time will do what is necessary to run the progs they want. what more can we ask of anyone?

as for Paragon and NCSoft, all we can do is try to appeal to them.

in the end, everyone makes their own choices.

curveball: awesome, looking forward to it. i've followed the bug on WineDB but i've seen nothing useful to me as of yet.


 

Posted

Quote:
Originally Posted by Nicodemus View Post
je: i haven't seen any actual workarounds for the launcher. care to share?
http://boards.cityofheroes.com/showthread.php?t=263829

Quote:
as for new users to Linux, anyone who is dedicated enough to run Linux full time will do what is necessary to run the progs they want. what more can we ask of anyone?
This isn't true anymore. Yes, it was true back in 1999, but it hasn't been true since Mepis revolutionized the LiveCD install back in 2003.

To be perfectly fair, many of the gamers that have moved off of Windows have gotten fed up with the corporate treatment of the platform and just do without. I'm not really going to go further into details since talking about other games and market impacts is something that does go against this forum's terms of service.

Quote:
as for Paragon and NCSoft, all we can do is try to appeal to them.
I'm tried of appealing. At this point I'm going straight for punches.

Quote:
in the end, everyone makes their own choices.
And I'm going to stand by the point that NCSoft's slagging off on part of the subscriber base is one LOUSY choice to make when the whole mantra from the development staff is that the Subscribers are the "very important players"

If anything the decision by NCSoft to force a .NET launcher on the user-base really ruins the credibility of everybody at Paragon Studios whose saying that the V.I.P. accounts are supposed to remind Paragon Studios that the subscribers are the important players.

Quote:
curveball: awesome, looking forward to it. i've followed the bug on WineDB but i've seen nothing useful to me as of yet.
Nor will you.

.NET is covered by some questionable patents. I'm not really going to go into the reasons why Mono got away with what it did, but I assure you, Microsoft's threat to use those patents in lawsuits is just as valid as the day it was first made.


 

Posted

Quote:
Originally Posted by je_saist View Post

And I'm going to stand by the point that NCSoft's slagging off on part of the subscriber base is one LOUSY choice to make when the whole mantra from the development staff is that the Subscribers are the "very important players"

If anything the decision by NCSoft to force a .NET launcher on the user-base really ruins the credibility of everybody at Paragon Studios whose saying that the V.I.P. accounts are supposed to remind Paragon Studios that the subscribers are the important players.
You're not going to sell them on this, Sai. I mean, honestly - do you have numbers on how much of the playerbase is on Linux full time? Or even "most of the time?"

As it is, the arguments you're goign to get are:
1. The game (and launcher) are not, and has never been, supported on Linux of any flavor by NCSoft, Cryptic or Paragon Studios.

I don't think we've even seen a redname say "We'll look at it." The attitude has been one of "Not worth the extra investment/time/etc." And you can't really fault them - I can't think of very many major game releases that have been done on Linux, and of those, fewer still done directly by the company or even close to simultaneously. (Neverwinter Nights stands out for me here - I think the Mac version was a year late, the Linux version went third party and came out even later.) Yes, there have been Indie games that have. Those games rarely really garner attention. (Which is a shame, some are good.)

All "support" has come from the Linux (/wine/cedega) side.

2. None of NCSoft's game family (living or dead) has ever been supported on Linux.

Look at their stable. Tabula Rasa they had high hopes for. Windows only (at least I don't believe they had a Mac client.) With that, I'd imagine they'd put some effort toward a Linux client, if they were going to. Aion - which has pretty decent Asian numbers, last I looked - should be bringing in enough money to fund a Linux port, if there was interest. There isn't. Lineage - nada. Guild Wars - nope. Auto Assault died early, but no Linux rumblings.

Linux is, essentially, terra incognito for NCSoft. They have no development resources to direct to any of the development houses (to be clear, they have the money to do so, to hire people and do what's needed to develop - but they have never chosen to, this is what I mean by "no resources,") no support experience (highly important) or the like. And the launcher drives this home, really - if *anything* would show Linux support, even indirectly, it would be the launcher, to have it in place for future releases if not current.

3. Linux is just not seen overall as a market worth pursuing at this time.

There's still - how many different ways of installing programs? How many different variations, just in window managers?

And how many people run *a* - not total variants, just *a* - version of Linux on the PC? Not on a server, but at home as their everyday machine? As their main machine, which would (in theory) be their gaming machine? I'm not talking Android (which itself shows fragmentation in UIs, for instance, having heard complaints about trying to switch from one android phone to another and finding it completely alien,) I'm not talking servers. I'm talking "I go home, turn on my PC and see Ubuntu/Mint/Fedora/Yellowdog boot up."

About the only market like that you can point at is the Mac market, and that's FreeBSD based (of sorts,) and not entirely open. They, of course (having been third in sales this past quarter, for instance, not counting iDevices,) are a large enough market TO develop for.

IF that market were there, I'd expect to see... *some* nod to it by some of the major game publishers. But - I go to Blizzard.com, go to support, search on "Linux" or "Ubuntu" (separate searches,) and get "There are no results found." If there were any support, a FAQ, a pointer, it would be there - and there's certainly not a native Linux WoW, Starcraft II, etc. client. I don't hear word of TOR coming out on Linux. Bioshock I/II. Assassin's Creed I/II. Steam itself you listed before, and I provided info directly from Valve that there is *no* Linux Steam client coming (which they put out to counter that rumor.) EVE Online - which *had* Linux support (and which at least you can still find info on) dropped it. (And it still wasn't, from what I can see, a native client - it relied on WINE.)

There's just no interest in Linux by the major developers. They may even develop ON Linux, but there's not one nibble, not a glance in the direction of a Linux native client.

Linux, as a gaming system, is a non-entity to the major game development houses as a whole. And the places that did ports... the last one I knew of was Loki, and they died nearly a decade ago (their "we're dead" post was in 2002.)

Even if they wanted to - with the economic climate now, I don't see them investing into what would very much be a risky venture in an unknown market.

As I said elsewhere - I don't see anything happening for at least five years.

Do I want it to happen? Sure. I'd love to see more support - I don't run Linux full time, not even 1/4 of the time, honestly. But I think it would be great to see (and, with some steam picking up, get more people away from Windows.) I'm all FOR getting native clients on Linux for major games, even if they just focus on one distribution (which would probably be Ubuntu/Mint, as I think red hat/fedora is more focused on the corporate space.)

But I can't agree it's a lousy choice, or that they're "choosing to ignore... the people they call VIPs" (paraphrasing you.) Here's the thing - no matter that we may not agree on much, when it comes to someone having questions about Linux, *you* are the person I point them to to ask on these boards. Just like Arcanaville for the mathy stuff, FatherXmas for hardware, etc. However, that also means you're in it pretty deeply - and I think it's skewed your perceptions of just how *large* a PC gaming market Linux has, or how much attention game development houses should pay to it (profitably.) If they make 500 people (which would be, assuming 70,000 subs - one of the lowest numbers I've seen suggested - still be a rather generous percent) have to decide between dropping COH or finally dual-booting into Windows to play it, I'd honestly be surprised. If we had 2,000 people even dual-booting with any regularity between Windows and COH - even if they've always run COH on Windows, which would make this not affect them anyway - or had it on another system that does more than gather dust, I'd be surprised.

I'd love for there to be a Diablo day for me with Linux. (Diablo being what finally got me to break down and buy a copy of Win95... triple booting it with DOS/Win3.1 and OS/2.) That'd be, IMHO, a great day for gaming *and* Linux.

I don't think I'll see it within a decade, though.

Complain - I won't say you shouldn't. But this will have to be worked around on the Linux side. I wouldn't expect anything from NCSoft on this.


 

Posted

Quote:
Originally Posted by je_saist View Post
yeah, i saw that thread, but i wouldn't really consider that *workable* since it requires me to buy windows, which is precisely what i'm trying to avoid. =)

by and large i agree with you that this is poor form on NCSoft/Paragon's part and we should speak up, but i also agree with Bill that, well, i can't really *blame* them as it's well within their right. it's more that i always hope a company will start making the other choice and go the extra mile for their players.

i know of at least one MMO that does, and i'll be going to play their game instead, it seems.


Quote:
This isn't true anymore. Yes, it was true back in 1999, but it hasn't been true since Mepis revolutionized the LiveCD install back in 2003.
we may have to agree to disagree here. Linux becoming more accessible finally got me into it with Ubuntu a few years back, but it's clear that the strength of the OS is in my freedom to do (most) whatever i want with it, and that requires some elbow grease. heck, that's part of the fun. that should be clear to any user from looking at any Linux community forum or wiki.

but you're also correct that whenever i recommend Linux to people, i do make it clear that at some point they most likely will have to "just do without." i can get a LOT of progs running, but i'll never get them all. and really, i don't have to. i have enough games that do work, and i'll just go play those. they're pretty awesome too. =)

it's a shame that City of Heroes will soon become one of the games i have to do without, but who knows, people are resourceful, maybe someone will have a change of heart. i've played at least one game that required .NET, so we'll see what the community does.


 

Posted

I'm not giving up on this quite yet either.

I initially tried to simply run "wine COH_Installer.exe" from within it's home directory, but then I attempted your /LaunchGameCityOfHeroes approach. I get identical results no matter which I try. It appears to start the Launcher just fine, producing the NCSoft window containing a progress bar that quickly jumps to 25% or so, and status text saying "Checking for updates". While it does this, my terminal window displays the following:

Code:
wildcat@linux-wn9g:~/.wine/drive_c/Program Files (x86)/City of Heroes> wine 'COH_Installer.exe' /LaunchCityOfHeroes -renderthread 0
fixme:ole:CoInitializeSecurity (0x33f988,-1,(nil),(nil),6,2,(nil),8192,(nil)) - stub!
fixme:heap:HeapSetInformation 0x2c4000 0 0x23fce0 4
err:rpc:I_RpcReceive we got fault packet with status 0x3e6
fixme:ole:NdrClearOutParameters (0x33dec4,0x7e6746e0,0x33e20c): stub
err:rpc:I_RpcReceive we got fault packet with status 0x3e6
fixme:ole:NdrClearOutParameters (0x33dec4,0x7e6746e0,0x33e20c): stub
err:seh:setup_exception stack overflow 2160 bytes in thread 0021 eip 00007f20f8bbf248 esp 0000000000140d90 stack 0x140000-0x141000-0x240000
fixme:ole:NdrClearOutParameters (0x33e458,0x7e6746e0,0x33e7a0): stub
fixme:ole:NdrClearOutParameters (0x33e458,0x7e6746e0,0x33e7a0): stub
fixme:ole:NdrClearOutParameters (0x33e458,0x7e6746e0,0x33e7a0): stub
fixme:ole:NdrClearOutParameters (0x33e458,0x7e6746e0,0x33e7a0): stub
fixme:ole:NdrClearOutParameters (0x33e254,0x7e6746e0,0x33e59c): stub
fixme:ole:NdrClearOutParameters (0x33e4b8,0x7e6746e0,0x33e800): stub
fixme:ole:NdrClearOutParameters (0x33e4b8,0x7e6746e0,0x33e800): stub
fixme:ole:NdrClearOutParameters (0x33e4b8,0x7e6746e0,0x33e800): stub
fixme:ole:NdrClearOutParameters (0x33e4b8,0x7e6746e0,0x33e800): stub
fixme:ole:NdrClearOutParameters (0x33e2b4,0x7e6746e0,0x33e5fc): stub
err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706be
err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706be
fixme:wincodecs:JpegDecoder_Frame_GetResolution (0xf3dddc,0x33e7f8,0x33e7f0): stub
It seems to think about it for a few seconds, until the display window throws me my command line prompt, indicating that the program has ceased functioning properly. Meanwhile, the NCSoft window continues existing, until I "kill -s 9" it.

I can't assume the errors shown in the display aren't related to the problem, but I'm not sure how to read them. Is there a way to get a more detailed debug display from wine, or even from the NCSoft launcher itself?

W4E


 

Posted

Slight update.

From within .wine/drive_c/Program Files/NCSoft/Launcher

I run "wine NCLauncher.exe /LaunchGame=CityOfHeroes" as suggested at winehq.org

This time the terminal output is:

Code:
err:mscoree:LoadLibraryShim error reading registry key for installroot
fixme:wincodecs:JpegDecoder_Frame_GetResolution (0xf818d4,0x33e798,0x33e790): stub
And the NCSoft progress window hangs at about 25% while "Checking for updates". This time, there is no apparent crash -- it simply goes into a holding pattern or a loop of some kind.

W4E