Page 15 of 37

Re: [FAQ] Ryzom in Linux (The Unofficial HOW-TO)

Posted: Sat Jul 15, 2006 3:42 am
by katriell
Trying to run Ryzom in Ubuntu Linux (v6.06, 64 bit). amd64 architecture, set up wine (v0.9.17) according to this guide. Using Nvidia GeForce 6600 GT with proper nvidia-glx driver installed.

Followed the Configuration section of this. Ignored the "getting wine" section since I already set it up.

Downloaded ryzom-installer_062006.exe. It unpacked successfully, but trying to run setup.exe failed with some error regarding lack of msi installer (I think, I don't really remember). So I copied the installation from my Windows PC to the Linux one, cd'd to the dir I put it in (~/.wine/dosdevices/c:/Program\ Files/Ryzom), and ran "wine client_ryzom_rd.exe"

Ok, that went great, after tweaking the config to use OpenGL instead of Auto. Right up until patching. I get told there's a patch after file checking, and to relaunch. I click relaunch. Terminal says:
rhizome@Primary:~/.wine/dosdevices/c:/Program Files/Ryzom$ Not Yet Implemented

Access denied

Not Yet Implemented

<snip a lot of spam>

Access denied

Not Yet Implemented

Access denied

fixme:exec:SHELL_execute flags ignored: 0x00000500
Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: File not found
So I try to run "wine client_ryzom_rd.exe" again. Oh, after a peek into the dir it was in, I find ryzom_client_rd.exe and a bunch of other *.exe and *.dll no longer exist...

The installation I copied over was completely recent...I ran it through a data check on Windows beforehand to be sure. So it's trying to apply a nonexistent patch and spontaneously deleting itself when it tries to relaunch...?

Re: [FAQ] Ryzom in Linux (The Unofficial HOW-TO)

Posted: Sat Jul 15, 2006 6:10 am
by cloudy97
It's odd that it tries to patch a recent installation. However, I think wine doesn't handle how Ryzom swaps executable and deletes the old one during patch (not sure what actually happens) but using the perl script linked in the first post in this thread should fix it for you.

Re: [FAQ] Ryzom in Linux (The Unofficial HOW-TO)

Posted: Sat Jul 15, 2006 6:50 am
by rabcaz
OOC :

It basically do what the batchfile do, copies the files from the /unpack folder to the right place. As Ulani says try and run it and see what happens.
//Drakfot
//OOC

Re: [FAQ] Ryzom in Linux (The Unofficial HOW-TO)

Posted: Sat Jul 15, 2006 10:35 am
by blaah
katriell wrote:The installation I copied over was completely recent...I ran it through a data check on Windows beforehand to be sure. So it's trying to apply a nonexistent patch and spontaneously deleting itself when it tries to relaunch...?
ryzom does its patching with bat file. missing files should be in UNPACK folder.
this little script that i have used:

Code: Select all

[ -f updt_nl.bat ] && (
  fromdos updt_nl.bat && (
    cat updt_nl.bat | \
      egrep "^move.*" | \
      sed -e 's/move\ /mv\ /' | \
      sed -e 's/\\/\//g' \
    > updt_nl.sh
    sh updt_nl.sh
    mv updt_nl.bat "updt_bl-`date +"%Y-%m-%d"`.bat"
  )
)
this just filters out and replaces move to mv and \ to /
to use it you need "fromdos" from "tofrodos" package (in debian anyway)

Re: [FAQ] Ryzom in Linux (The Unofficial HOW-TO)

Posted: Sun Jul 16, 2006 8:21 am
by katriell
patch.pl works...but now I see what's making it try to patch in the first place. Every time I edit client_default.cfg to have Driver3D="OpenGL" instead of Driver3D="Auto", it replaces the file, asks to relaunch, and poof, interface is re-screwed-up. <_<

Solution: leave client_default.cfg alone and instead add this to the bottom of client.cfg:

Code: Select all

Driver3D             = 1;

Re: [FAQ] Ryzom in Linux (The Unofficial HOW-TO)

Posted: Mon Jul 17, 2006 2:55 pm
by zyrom
I see that you got it up and running so just some comments on the above disscusion:
katriell wrote: ....
Downloaded ryzom-installer_062006.exe. It unpacked successfully, but trying to run setup.exe failed with some error regarding lack of msi installer....
It is correct that you need the NSI installer, that can be gotten here:
MDownload MSI

The relaunch issue has been delt with by others above, just a comment Ryzom will try automatically try to run the updt_nl.bat file if it finds it in the Ryzom folder. The batch files then restarts Ryzom...

One way around it is to make oneself a small shell script to start Ryzom that checks for the updt.bat file and runs the appropiate perl script.. for example:

Code: Select all

if [ -f updt_nl.bat ]
then
  echo "Patch file found patching"
  ./patch.pl
fi
As you experienced mucking about with the clients_default.cfg file is a nono :)
Ryzom does a check sum test on all the files and forcefully downloads / unpacks correct versions if it finds any discrepancies...

Issues, fixes, and fresh how-to

Posted: Sat Jul 22, 2006 6:09 am
by katriell

I'm going to write here a fresh how-to based on my experience of setting up and running Ryzom on Linux. Also noting all the issues I've encountered and how to fix them.

Prerequisities
  • An NVIDIA graphics card. ATI might also work (Radeon 9550 is known to work at least with Wine v0.9.15-1, Xorg 7, all graphics settings low/disabled, AGP forced to 4x in BIOS, and Ryzom set to OpenGL).
  • Driver for your graphics card. Probably "nvidia-glx" for NVIDIA and v8.26.18 ATI.
  • Wine v0.9.17


Obtaining and setting up Wine
  • Download v0.9.17 from http://winehq.com (this version is known to work with Ryzom as of the date of this post).
  • After installing Wine, type winecfg in the terminal.
  • In the Audio tab, uncheck everything. This will disable sound (see issues).
  • In the Drives tab, make sure there is a "C:" set up. Note that you will (probably) be able to browse Wine's "C drive" by going to ~/.wine/dosdevices/c:
  • In Libraries tab, add the following so that they are listed as (native,builtin):
    mfc42d
    msvcp60
    msvcp60d
    msvcrt
  • In Applications tab, set the Windows version to Windows 98 (see issues).


Obtaining and installing Ryzom itself
  • I installed Ryzom by copying all the files from an existing installation on a Windows computer to my Linux computer.
  • If you don't have the option of copying from an existing Windows install, you can download the game here. The unpacker should run fine in a default Wine installation. Once you have the files unpacked, however, you'll need the MSI Installer to run setup.exe. I'm not sure how well this works as I haven't tried it.


Tweaking Ryzom to run correctly
  • You need to make sure Ryzom is running in OpenGL mode instead of Auto or Direct3D, else you'll see blank buttons and other such graphical glitches. So open client.cfg and add to the bottom:

    Code: Select all

    Driver3D             = 1;
  • Also make sure that HardwareCursor in client.cfg is set to 1, and SoundOn is set to 0.
Making a launcher script
  • So you don't have to type in terminal every time you want to start Ryzom, and so that you have something to add to your applications menu if you want, create a blank file and give it a name with a *.sh extension, like "launchryzom.sh"

    Code: Select all

    cd ~/.wine/dosdevices/c:/Program\ Files/Ryzom
    SETREPEAT="50 37 64 62 109 113"
    for k in $SETREPEAT; do
    xset r $k
    done
    wine client_ryzom_rd.exe
    The first line obviously navigates to the location Ryzom is installed in. You may have to modify this to match the actual location on your filesystem, if it differs.
    The next four lines fix the problem with holding down certain keys outputting garbage into chat windows (see issues).
    The last line starts Ryzom with Wine.
Patching
  • Create a file called patch.pl in the Ryzom folder:

    Code: Select all

    #!/usr/bin/perl 
     
    open(INFILE, "updt_nl.bat") or die("$!"); 
     
    while(<INFILE>){ 
     if(/^del/){ 
     s/\\/\//g; 
     s/^del //g; 
     unlink $_; 
     }else{ 
     if(/^move/){ 
     s/\\/\//g; 
     s/^move/mv/; 
     system("$_"); 
     } 
     } 
    }
  • Make sure the file is executable by typing this into terminal: chmod 0754 patch.pl
  • Run this file after a patch. More detail about this issue here.

Issues

Holding down CTRL, SHIFT, or ALT keys outputs garbage into chat windows.
Fix: Add the following to your launcher script, after cd'ing to the Ryzom folder and before starting Ryzom:

Code: Select all

SETREPEAT="50 37 64 62 109 113"
for k in $SETREPEAT; do
xset r $k
done
Thank you blaah for this fix.

Lag spikes every few seconds.
Fix: Set the Windows version to Windows 98 in the Applications tab of winecfg. This might have something to do with other versions emulating (or trying to emulate) NTFS instead of FAT32 for disk access.
Thank you Drakfot for this fix.

Ryzom cannot patch itself normally because the commands in the batch file it uses for updating are not Linux BASH commands.
Fix: See "Patching" section.
Thank you Vasilli for this fix.

Minimizing the Ryzom window causes the positions of the windows in the game interface to become inverted.
Fix: In the Graphics tab of winecfg, check "Emulate a virtual desktop." Set Ryzom to fullscreen. You'll then be able to minimize the wine desktop without messing up Ryzom's interface.
Thank you blaah for this fix.

ryzom_configuration_rd.exe does not work.
Fix: If you can get a hold of Windows' mfc42.dll, place it in the Ryzom folder and then run ryzom_configuration_rd.exe.
Thank you zyrom for this fix.
In case that doesn't work, you'll have to use client.cfg or the ingame System Configuration window to modify settings. You can look in client_default.cfg for settings that might not be present in client.cfg, but you cannot modify client_default.cfg. Instead, if you see a setting that isn't in client.cfg, simply add it to the bottom of client.cfg. That's what I did to force OpenGL (see "Tweaking Ryzom to run correctly" section).
Warning: Modifying configuration files by hand may void your eligibility for support.

Sound does not work. Either it causes a disconnection after a few seconds of being enabled, or it doesn't work at all. In any case, it is currently best to simply disable it.
Fix: Unknown / none.
[/color]

Re: [FAQ] Ryzom in Linux (The Unofficial HOW-TO)

Posted: Sun Jul 23, 2006 8:29 am
by rabcaz
OOC :
Great work in summarising a howto, much appreciated :)
//Drakfot
//OOC

Re: [FAQ] Ryzom in Linux (The Unofficial HOW-TO)

Posted: Sun Jul 23, 2006 4:38 pm
by zyrom
great howto!, with your permission i'l be stealing it and putting it on the wiki ?

Btw, it is possible to to run the configurator, but you need to get hold of a copy of mfc42.dll and put that into the Ryzom folder and run ryzom_configuration_rd.exe

Re: [FAQ] Ryzom in Linux (The Unofficial HOW-TO)

Posted: Sun Jul 23, 2006 11:51 pm
by katriell
zyrom wrote:great howto!, with your permission i'l be stealing it and putting it on the wiki ?
Sure. :)
zyrom wrote:Btw, it is possible to to run the configurator, but you need to get hold of a copy of mfc42.dll and put that into the Ryzom folder and run ryzom_configuration_rd.exe
Ahh ok, I'll add that. :D