Universal Linux Launcher for NCSoft Games


Ciaviel

 

Posted

Quote:
Originally Posted by Nicodemus View Post
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. =)
It's definitely failing on the unrar command, though why is a mystery. If you go in and edit the command on line 344 of the script to add a 'v' (the 'verbose' flag) after the 'x' in the unrar command there, then post the output of that portion of the script here it might be useful. That makes the comment on 343 and that command look like this (with the change underlined and emboldened):
Code:
	# Unpack the patch
	system("$unrar_program xv $file") || die "Unable to decompress patch $file\n";
Basically, we want to make sure it's extracting everything. If it is but is still returning a "fail" code then you could try simply commenting out the "or die" part of that system call and see how far the script gets if the unrar command doesn't halt execution. (It would still be good to figure out why the unrar is returning a fail code, of course.)

What the script does after unpacking the archive is this...
  • Change to the patch directory
  • Parse the XML manifest file
  • Check various elements of the XML to see if it makes sense
  • Add all those files that didn't exist in the previous version
  • Use Xdelta to patch existing files that need to be updated
  • Clean up temp files


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
It's definitely failing on the unrar command, though why is a mystery. If you go in and edit the command on line 344 of the script to add a 'v' (the 'verbose' flag) after the 'x' in the unrar command there, then post the output of that portion of the script here it might be useful. That makes the comment on 343 and that command look like this (with the change underlined and emboldened):
Code:
	# Unpack the patch
	system("$unrar_program xv $file") || die "Unable to decompress patch $file\n";
Tried editing the script per your suggestion, it halts on the unrar command due to the faulty argument.
I've tried adding -v instead, no luck. All that gives me is the same result as with the unmodified script. No verbose readout.

removing the else die statement got me this:
Code:
All OK
xdelta: usage: xdelta patch patchfile [fromfile [tofile]]
md5sum: ~/.wine/drive_c/Program: No such file or directory
md5sum: Files/City: No such file or directory
md5sum: of: No such file or directory
md5sum: Heroes/piggs/player.pigg.patched: No such file or directory
Patching file piggs/player.pigg failed.
seems to me like there is some kind of problem with the paths to the directories?

//cx - guinea pig.


 

Posted

Mark, the author, has put up a new version which seems to fix the patching issue.

let me know if it works for you guys.

mine seems to patch ok, but when i try to run cityofheroes.exe -project coh -renderthread 0, all i see is one Unnamed server. =/ this may be because i use CrossOver and not straight wine, so the launcher won't actually launch for me (though it will patch.)


 

Posted

Quote:
Originally Posted by Cx_1233 View Post
Tried editing the script per your suggestion, it halts on the unrar command due to the faulty argument.
I've tried adding -v instead, no luck. All that gives me is the same result as with the unmodified script. No verbose readout.

removing the else die statement got me this:
Code:
All OK
xdelta: usage: xdelta patch patchfile [fromfile [tofile]]
md5sum: ~/.wine/drive_c/Program: No such file or directory
md5sum: Files/City: No such file or directory
md5sum: of: No such file or directory
md5sum: Heroes/piggs/player.pigg.patched: No such file or directory
Patching file piggs/player.pigg failed.
seems to me like there is some kind of problem with the paths to the directories?

//cx - guinea pig.
[Edit:] Never mind, I was 5 minutes late to the party.


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 Nicodemus View Post
Mark, the author, has put up a new version which seems to fix the patching issue.

let me know if it works for you guys.

mine seems to patch ok, but when i try to run cityofheroes.exe -project coh -renderthread 0, all i see is one Unnamed server. =/ this may be because i use CrossOver and not straight wine, so the launcher won't actually launch for me (thought it will patch.)
You need to use quote marks, and take the renderthread out.

Jsut do :

-project "Coh"
-project "CohTest"
-project "CohBeta"


 

Posted

Quote:
Originally Posted by je_saist View Post
You need to use quote marks, and take the renderthread out.

Jsut do :

-project "Coh"
-project "CohTest"
-project "CohBeta"
hi je, still no joy.

i need the -renderthread 0 or it will hang at the loading bar, and even with -project "Coh", i'm still getting that one UNNAMED server. =/ thanks though. any other thoughts?


 

Posted

Quote:
Originally Posted by Nicodemus View Post
hi je, still no joy.

i need the -renderthread 0 or it will hang at the loading bar, and even with -project "Coh", i'm still getting that one UNNAMED server. =/ thanks though. any other thoughts?
working on it.

The un-named server problem was one of the reasons I provided the pre-install enviroments for my two Game-Tree-Linux guides.

* * *

Also, as a note because I didn't see it mentioned, for the perl script, it looks like libxml-simple-perl should satisfy the XML::Simple requirement linked to by the perl-script author.


 

Posted

Okay, got the perl script running. I tried it on one of the pre-existing G.T.L. installs that was out of date.

Updater ran and showed a complete patching, and I was able to get to the name servers, but when I tried to log-in I ran into an invalid game version.

Trying it again through a fresh install.


 

Posted

it may or may not be relevant, but note that the script patcher dropped a .0 off of the end of the version.ini version number. i had to readd it in order to match the server version #.

in either case, i still only saw the unnamed server.

just fyi.

*edit* going to try a redownload with the new, fully working version of the patcher. couldn't hurt at this point. *shrug*


 

Posted

I tested the updated cohlaunch.pl against my Test server installation, since my live server is up to date. I ran it as " ./cohlaunch.pl -test -renderthread 0 -compatiblecursors 1 " It patched properly, then started the game. It allowed me to attempt to login, but the db server is apparently down or something.

Seeing as how the patch files already existed, the script paused for several seconds at one point, announcing "The file is already fully retrieved; nothing to do." I thought it had hung, so started over. When it did so again, and didn't actually crash, I allowed it to sit, and it eventually started extracting and patching as it should. So, if it pauses without crashing, LEAVE IT ALONE.

I'm attempting a fresh live install into a new directory. I'll update this post with the results.

On edit: the fresh install loaded, patched, launched the game, and all is well!

One last note: It was the "Unnamed Server" thing that I encountered when I used -test... I thought maybe that was just a test server thing. Maybe the test server is just plain unavailable currently? I tend to not pay enough attention to such details, I'm afraid ^.^;

W4E


 

Posted

W4E, awesome news that your new live install patched up and worked! =D sounds like you're good to go! here's hoping my results will be as positive. =)


 

Posted

hmm. right now the perl-script is pulling game version 2050.201107131807.1.0

The game version on Live is reported as 2060.201108050059.1


 

Posted

it did, but then it immediately updated to 2060.201108050059.1 for me.

still no joy. UNNAMED server remains.


 

Posted

If you run the game through the Launcher on Windows and then look in your game folder, you will see an addcache.xml file which has the correct arguments needed to pass to cityofheroes.exe


 

Posted

thanks for the heads up, Tex! =D

can anyone with windows hook me up? =)


 

Posted

Here's what I have in addcache.xml:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<GameAdditions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Game_Arguments>
    <CityOfHeroes>
      <Value Regions="US">-project CoH -launcher -setlocale 1033 -auth 64.25.36.4 </Value>
      <Value Regions="EU">-project CoH -launcher -setlocale 1033 -auth 64.25.36.4 </Value>
    </CityOfHeroes>
    <CityOfHeroesEU>
      <Value Regions="US">-project euCoH -launcher -setlocale 1033 -auth 64.25.36.4 
				<Value Languages="de">-project euCoH -launcher -setlocale 1031 -auth 64.25.36.4 </Value><Value Languages="fr">-project euCoH -launcher -setlocale 1036 -auth 64.25.36.4 </Value></Value>
      <Value Regions="EU">-project euCoH -launcher -setlocale 1033 -auth 64.25.36.4 
				<Value Languages="de">-project euCoH -launcher -setlocale 1031 -auth 64.25.36.4 </Value><Value Languages="fr">-project euCoH -launcher -setlocale 1036 -auth 64.25.36.4 </Value></Value>
    </CityOfHeroesEU>
  </Game_Arguments>
</GameAdditions>


Kosmos

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

 

Posted

On edit: what Kosmos said XD

addcache.xml was one of the files that I ported over from my laptop, which I imagine is why I haven't experienced any problems with the live server installation.

Let me see what I can learn for -test...

W4E


 

Posted

great info, thanks guys!

ack, W4E, don't edit that stuff out, that was good info. =)

*edit* i confirm that i can now see the servers. =) i can successfully install, patch up and play the game using the cohlaunch.pl perl script with the following command:

./cohlaunch.pl -live -renderthread 0 -auth 64.25.36.4

=D looks like we're back in business! thanks to everyone for all their help and sticktoitiveness! =)

special thanks to Tex for helping us out and putting up with us. =D

yay!


 

Posted

Quote:
Originally Posted by Nicodemus View Post
great info, thanks guys!

ack, W4E, don't edit that stuff out, that was good info. =)

*edit* i confirm that i can now see the servers. =) will keep fiddling and report back with more soon.
I posted my method in Je Saist's GameTree Linux thread, and rather than name every file, just referred to the block of files I copied. ^.^; In fact, I think I named the addcache.xml in my first draft of the post. And then I moved away from the editor window in which I had been writing that post, deleting it entirely. On my second go-round, I sort of pared down my "instructions", omitting the file names. Sorry about that o.o;

No more progress with the test server. Guess I'll go see what my laptop has to say about it...

On edit: Test server access uses: ./cohlaunch.pl -test -renderthread 0 -auth 64.25.36.21

W4E


 

Posted

good stuff, W4E! i've officially updated the CrossOver Games page for CoH also, letting everyone know about this workaround.

glad to be back in Paragon! =D


 

Posted

the new script sorted the patching issue, but it wouldn't start the game i get

Code:
error parsing command argument "renderthread 0 project eucoh"
But, running ~./wine cityofheroes.exe -renderthread 0 -project eucoh loads the game and I CAN PLAY!!

btw tex, i got the latest catalyst drivers for linux installed

edit : adding -auth 64.25.36.4 to the script gets the game up and running.

/cx


 

Posted

i've updated the first post to make it more relevant and consolidate the new information.


 

Posted

Awesome.
can anyone post the auth ip for the beta server?
if not, how do I figure it out? sniff a windows install with Wireshark?


 

Posted

Quote:
Originally Posted by Papaschtroumpf View Post
Awesome.
can anyone post the auth ip for the beta server?
if not, how do I figure it out? sniff a windows install with Wireshark?
64.25.36.19 - based on my Beta install's addcache.html


Kosmos

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

 

Posted

If you're like me, you'll want to create a shortcut, so as not to have to futz with terminal windows, filepath navigation, and typing out the command and all the flags manually, from memory, every time. My solution was to create a desktop icon for the command.

This is a perfect solution when no update is necessary, but on those occasions when there's a patch coming down the line, and there's a sizeable pause between clicking the icon and the initial "LOADING" graphic, I'm going to start wondering if something's gone wrong -- launching the patcher and game like this does not provide a terminal in which the CLI output is provided.

With a little help from a friend, I learned that the simple solution is to prepend " xterm -e " onto the command line, which creates a terminal window in which the game command will actually run, and display all progress. Mind you, if there's a problem, and the script and/or game crashes, this terminal goes away; adding the flag " -hold " will keep the terminal alive after such an occurence, but then it will need to be closed manually, which would be a minor inconvenience.

So, for the command line, enter:

xterm -home -e '/..filepath../cohlaunch.pl' -live -auth 64.25.36.4 -renderthread 0 -compatiblecursors 1

Remember to remove those optional flags that you feel are unnecessary, and to use the proper filepath and -auth flag when using -test and -beta.

And your workpath would simply be whatever filepath your installation directory happens to be. In my case, it is "/home/wildcat/.wine/drive_c/Program Files (x86)/City of Heroes/ , although shortcuts such as ~ or $HOME might serve me well in this instance.

To create a seperate icon to launch directly into the game, bypassing the update checks, use this:

wine '/..filepath../cityofheroes.exe' -project coh -auth 64.25.36.4 -renderthread 0 -compatiblecursors 1

If it transpires that your version of CoH is out of date, the game will tell you so before you get too far, and you'll have to use the update method anyway. The workpath for this option is the same as for the cohlaunch.pl icon.

Have fun!

W4E