Universal Linux Launcher for NCSoft Games


Ciaviel

 

Posted

*EDIT 8/24/11*

a solution to the NC Soft Launcher problem for City of Heroes has been provided by Mark on the WineHQ page for City of Heroes. it seems we've abandoned the effort to get a universal NCSoft launcher at this time.

this is a PERL script he wrote. the original page is located here and it will list the dependencies needed.

this script will update an existing install. it will also download a new version of the client if placed into an empty folder. i could not get it to work correctly with a fresh install from DVD (Architect Edition) due to a lack of a version.ini file. i recommend downloading a new client with the PERL patcher instead of trying a fresh install from CD/DVD.

complete directions for it are on the webpage provided above. make sure to place the script inside your City of Heroes install folder (ie. where you want the game to be) and run it from there. for example, mine is located here: /home/<USERNAME>/.cxgames/CityofHeroes/drive_c/Program_Files/City_of_Heroes

*CrossOver Games Specific Section*
i have made a minor adjustment to the script so that it will launch using CXG. in order for this work you must first:

1) open your Manage Bottles window in CXG.
2) highlight the City of Heroes bottle that you've made.
3) click on the Advanced tab.
4) Check the box that says "Use This Bottle as the Default for the Command Line"

that should sort it out. you can grab my CXG specific version of the patcher here. all i did was change the wine call at the end of the script to the cxgames specific method of a command line call.

NOTE: the script assumes you installed CXG with the generic .bin installer. if you used a .deb or .rpm installer, you will need to first locate the directory where the CXG program was installed, and then edit the call at the bottom of the perl script to call the correct directory.

for example, user Vauluur tells us this:

Quote:
"Thanks, I was able to find the cxgames directory. It installed to /opt. So I modified the script to call /opt/cxgames/bin/wine and it now functions perfectly."
*End of CrossOver Games Specific Section*

Common errors:
1) Freezing at Loading bar: if the game freezes at the loading bar, launch the script with the argument -renderthread 0
2) (LEGACY ERROR, SHOULD NO LONGER BE A PROBLEM) UNNAMED server: if after logging in you only see one UNNAMED server, launch the script with the argument -auth 64.25.36.4 for the live server. for test it's 64.25.36.21. for beta it's 64.25.36.19.

the command i use to successfully run this patcher and launch the game is this:

./cohlaunch.pl -renderthread 0

test server access needs the following:

./cohlaunch.pl -test -renderthread 0

beta server access needs the following:

./cohlaunch.pl -beta -renderthread 0

let us know if you have questions!

special thanks to: Mark for writing the script, Tex for his support and patience, je_saist, Wildcat4Ever, Kosmos, Katie_V, Cx_1223, & Vauluur. if i forgot anyone, sorry! let me know and i'll add you! =D


 

Posted

Quote:
Originally Posted by Nicodemus View Post
cool, thanks je.

and just to keep our options open, it looks like there's also a perl script that someone put together to patch and launch the game. it's here: http://www.carnildo.com/cohlaunch/index.html
hmm. First I've seen of the perl script, but it's probably worth looking at if it's calling for the patcher and running Xdelta directly.


 

Posted

Quote:
Originally Posted by Nicodemus View Post
cool, thanks je.

and just to keep our options open, it looks like there's also a perl script that someone put together to patch and launch the game. it's here: http://www.carnildo.com/cohlaunch/index.html
Bingo! Good catch, Nicodemus -- this does the trick! You were ready to give up the other day, but I'm glad you didn't!

Je Saist, thanks for you doing your part as well! My wall has developed stress fractures from where I've been forcefully applying the front of my cranium, thanks to this thing. o.o

I'll be logging in as soon as the servers go live again.

W4E


 

Posted

hehe, thanks wildcat! i sure was ready to give up, but my account hadn't expired yet, so since i could still post, i still tried. :P

i'm trying the perl script patcher right now to reinstall. i'll report back.

*edit* ok, i was able to reinstall with the perl script, though it put it in a weird folder. and it seems like i can run it through CrossOver with -project coh -renderthread 0.

so far so good, this perl script has been the most promising for me yet. i'll have to try actually logging in tonight, as the servers are currently down.

have a good day, all!


 

Posted

Quote:
Originally Posted by Nicodemus View Post
hehe, thanks wildcat! i sure was ready to give up, but my account hadn't expired yet, so since i could still post, i still tried. :P

i'm trying the perl script patcher right now to reinstall. i'll report back.

*edit* ok, i was able to reinstall with the perl script, though it put it in a weird folder. and it seems like i can run it through CrossOver with -project coh -renderthread 0.

so far so good, this perl script has been the most promising for me yet. i'll have to try actually logging in tonight, as the servers are currently down.

have a good day, all!
The perl script itself was all I needed to launch the game for playing -- just run it as a shell command and let it go: " ./cohlaunch.pl -renderthread 0 "

Unfortunately, "was" is the operative term. The first time I tried it, it was apparently just after the servers had been taken offline. It checked for patches, determined I was up to date, and started the game. My login attempt failed, though, as, well, the servers were down.

I tried using this to maybe login to the test server, but that required a patch -- I haven't logged in there since last year, apparently. After it downloaded the patch and extracted the files, the whole thing just quit out, claiming "Unable to decompress patch CityOfHeroes.etc.etc.ncpatch"

Just to make sure I didn't screw something up on my live game directory, I went to launch the game there. It detected a new patch, from the live publish, went through all the motions -- and came to a sudden halt with the same "Unable to decompress" message.

So now I'm stuck again. This is getting ridiculous. >.<

W4E


 

Posted

Right, fiddling with the perl-script since i don't know how to point the ULL to use the internal updater.

Quote:
The perl script itself was all I needed to launch the game for playing -- just run it as a shell command and let it go: " ./cohlaunch.pl -renderthread 0 "
I tried running "sh cohlaunch.pl -renderthread 0 -project eucoh" in a terminal, this is what i got :
Code:
cohlaunch.pl: 16: use: not found
cohlaunch.pl: 17: use: not found
cohlaunch.pl: 18: use: not found
cohlaunch.pl: 19: use: not found
cohlaunch.pl: 20: use: not found
cohlaunch.pl: 22: my: not found
cohlaunch.pl: 23: my: not found
cohlaunch.pl: 25: my: not found
cohlaunch.pl: 26: my: not found
cohlaunch.pl: 27: my: not found
cohlaunch.pl: 28: my: not found
cohlaunch.pl: 30: my: not found
cohlaunch.pl: 32: Syntax error: "(" unexpected
I made sure to install the packages required by the script, so i am currently at a loss.
Any ideas?

//cx - who wants his game!


 

Posted

Cx, is it in your CoH directory? it has to be run from there.

that's about all i can think of, if you've met the dependencies.

i actually couldn't use it to launch my game, perhaps because i use CrossOver and not straight WINE.

i did get it to reinstall the game by placing it in an empty directory, but it failed to successfully update it after that. i'll keep messing with it when i get home.

the thread with the creator is here at winehq for CoH: http://appdb.winehq.org/objectManage...rsion&iId=2980

i also get the "Unable to decompress patch CityOfHeroes.etc.etc.ncpatch" error.

i'll probably keep trying until my sub runs out, but it's getting a bit frustrating when i could just play other games instead of paying to be hassled. lots of my motivation is pure principle at this point, more than a desire to play. (ok that last part is only sort of true. Freedom does look AWESOME. )


 

Posted

Quote:
Originally Posted by Cx_1233 View Post
Right, fiddling with the perl-script since i don't know how to point the ULL to use the internal updater.



I tried running "sh cohlaunch.pl -renderthread 0 -project eucoh" in a terminal, this is what i got :
Code:
cohlaunch.pl: 16: use: not found
cohlaunch.pl: 17: use: not found
cohlaunch.pl: 18: use: not found
cohlaunch.pl: 19: use: not found
cohlaunch.pl: 20: use: not found
cohlaunch.pl: 22: my: not found
cohlaunch.pl: 23: my: not found
cohlaunch.pl: 25: my: not found
cohlaunch.pl: 26: my: not found
cohlaunch.pl: 27: my: not found
cohlaunch.pl: 28: my: not found
cohlaunch.pl: 30: my: not found
cohlaunch.pl: 32: Syntax error: "(" unexpected
I made sure to install the packages required by the script, so i am currently at a loss.
Any ideas?

//cx - who wants his game!
Running "sh ..." calls a shell interpreter to read the file, which quite naturally doesn't understand perl code and predictably gives a bunch of "not found" (what it thinks are calls for executable commands it can't find) and syntax errors.

You need to call the perl executable to read the script. Depending on your setup either of these might work...

"./cohlaunch.pl -renderthread 0 -project eucoh"

or

"perl cohlaunch.pl -renderthread 0 -project eucoh"


Kosmos

Global: @Calorie
MA Arcs in 4-star purgatory: Four in a Row (#2198) - Hostile Takeover (#69714) - Red Harvest (#268305)

 

Posted

ah, right! why didn't i think of that? i ran it with ./ out of habit, didn't even think about it. listen to Kosmos, Cx. =)


 

Posted

D'oh! Ohwell, I'm not used to perl-scripts. You learn something new every day

Code:
x@x:~/.wine/drive_c/Program Files/City of Heroes$ perl cohlaunch.pl -live -project eucoh -renderthread 0
Can't locate XML/Simple.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at cohlaunch.pl line 18.
BEGIN failed--compilation aborted at cohlaunch.pl line 18.
seems like i forgot to add the xml.simple dependency. double d'oh.

update:
script working fine! it connected and started downloading/patching the game and then this happened
Code:
Unable to decompress patch CityOfHeroes_Main_2060.201107262317.0.0To2060.201108050059.1.0.ncpatch
cx - one step closer


 

Posted

regarding the extraction error, i need to check the version of Unrar in the repos when i get home. maybe that has something to do with it?

that's exactly where we're at, Cx. =) now we're all on the same page of being unable to update. =P =D hopefully Mark (the coder) or someone can shed some light on this issue soon.


 

Posted

Quote:
Originally Posted by Nicodemus View Post
regarding the extraction error, i need to check the version of Unrar in the repos when i get home. maybe that has something to do with it?
I have version 3.90.4-6.1 installed, which is the latest version available for SuSE 11.3 via online updates. I have xdelta 1.1.4-185.1 which is the *only* one available from the same source, and falls within the specs listed by the scripts author. Dunno if this will help.

W4E


 

Posted

got unrar 3.90 beta and xdelta 1.1.3, those two are the newest available in the ubuntu 10.04 repos.

//cx


 

Posted

good to know, thanks guys! ok, so that's probably not it then...


 

Posted

Tex posted in another thread regarding Linux patchers, so you might want to PM him to ask if he can tell you the patch file format.

[Edit:] Note: I'm not running CoH on Linux myself, I'm just trying to help a friend who is with OS/perl support. The script is definitely failing on the 'unrar' command, most likely due to a file format issue, since the file appears to be passing the MD5 checksum prior to that.


Kosmos

Global: @Calorie
MA Arcs in 4-star purgatory: Four in a Row (#2198) - Hostile Takeover (#69714) - Red Harvest (#268305)

 

Posted

Quote:
Originally Posted by Kosmos View Post
Tex posted in another thread regarding Linux patchers, so you might want to PM him to ask if he can tell you the patch file format.

[Edit:] Note: I'm not running CoH on Linux myself, I'm just trying to help a friend who is with OS/perl support. The script is definitely failing on the 'unrar' command, most likely due to a file format issue, since the file appears to be passing the MD5 checksum prior to that.
Done. Let's see what comes of it. good idea!


 

Posted

i appreciate your effort kosmos


 

Posted

I got Nicodemus' PM and I cannot comment on the patch file format.


 

Posted

ok, thank you for replying Tex.


 

Posted

thanks anyway tex


 

Posted

I read through my NCSoft Launcher logs. The Launcher itself definitely appears to be using unrar to unpack the patch. Here's an example of what I see there:

2011-08-09 06:55:04.9687 : 20 : Info : Patcher: BeginOp: Extracting file: CityOfHeroes_Main_2060.201107262317.0.0To2060.2011 08050059.1.0\PatchManifest.xml : () : 0%

2011-08-09 06:55:04.9843 : 20 : Info : Unrar (stderr): CityOfHeroes_Main_2060.201107262317.0.0To2060.2011 08050059.1.0\PatchManifest.xml - use current password ?

2011-08-09 06:55:05.0156 : 20 : Info : Unrar: Extracting CityOfHeroes_Main_2060.201107262317.0.0To2060.2011 08050059.1.0\PatchManifest.xml

2011-08-09 06:55:05.0468 : 20 : Info : Unrar: OK


I can't do anything with this at the moment. Perhaps not till Monday in fact. However, it shouldn't be hard to figure out if the patch archive is the issue. The perl script appears to be leaving the patch file in place when the 'unrar x' command fails. Look for it and if it is still there then try testing the archive with an 'unrar' command from the command line.


Kosmos

Global: @Calorie
MA Arcs in 4-star purgatory: Four in a Row (#2198) - Hostile Takeover (#69714) - Red Harvest (#268305)

 

Posted

will do. thanks Kos! don't worry about rushing anything, the game isn't going anywhere. =)


 

Posted

well, it does unrar the patch archive, because it places the new directory with the archive contents into the .patches folder. but it isn't applying the patches. this is odd, since it claims to fail the decompression. i guess it cannot complete the process for some reason, which would then trigger the next step which should be to call xdelta.

mark, the author, can't look at it right now, but if anyone else has the skills and wants to give it a go, by all means. =)

this is where we stand so far. =)