Testing the Ryzom Clients

Client Test

Both Linux and Windows clients should have already been built and the server deployed and running.

Linux client and Server

Linux client and Server

Config Changes

Edit client.cfg and add/replace

Application = { "mini01", "./ryzom_client_dev_r.exe", "./" };
StartupHost          = "ep1.mini01.mups.co.uk:40916";
StartupPage          = "/login/r2_login.php";
InstallStatsUrl      = "http://ep1.mini01.mups.co.uk/stats/stats.php";
CreateAccountUrl     = "http://ep1.mini01.mups.co.uk/ams/?page=register";
EditAccountUrl       = "http://ep1.mini01.mups.co.uk/ams/?page=settings";
ForgotPwdUrl         = "http://ep1.mini01.mups.co.uk/ams/?page=forgot_password"

PatchServer = "";
WebIgMainDomain = "";
WebIgTrustedDomains = { "" };
PatchletUrl = "";

New user accounts can be created manually via http://ep1.mini01.mups.co.uk/ams/ but will also require database edits to grant shard access permissions (subscription).

Windows Client

The ryzom_client_dev_r.exe is not automatically copied over to T:\client_dev, do so manually or build with “FINAL_VERSION=0” which will be automatically copied over.

Note: If you get disconnected from the server during the loading stage after login, check that “ping ep1.mini01.mups.co.uk” when run on the ep1 machine itself returns the LAN IP or Public IP of that machine (depending on whether you are doing a lan only test server or publically accessible). If it returns 127.0.0.1 then edit the /etc/hosts file to ensure the appropriate IP is returned for that hostname. Restart the shard services via admin website.

This is due to the service that hands the client off to a new server post login returning an IP rather than the servers hostname. With all services running on the same machine, this results in the localhost IP being returned and the client attempting to connect to itself. You’ll see “127.0.0.1:47860” in the client.log just prior to disconnection. This has been fixed in a later commit.

Linux Client

For Linux, you’ll need to generate a client_install and transfer the T:\client_install over to the development machine then copy the ryzom_client from the Linux development machine build directory into the same folder. Do so with the d2_client_install.py script but first apply some fixes. Non FINAL_VERSION linux builds will have the build lib/ path stored however a final build will likely require rpath setting to ./lib/

Note: d1_client_patch.py creats the bnp files in the game_builddata directory instead of T:\client_patch\bnp\ This is due to two issues. Firstly, d1_client_patch.py needs

subprocess.call([ BnpMake, "-p", sourcePath, targetPath] +  package[1])

changing to

subprocess.call([ BnpMake, "-p", sourcePath, "-o", targetBnp] +  package[1][1:])

around line 143. Secondly, the L:\workspace\projects.py has “-ifnot” and “-if” lines using a single space, bnp_make has since changed to require double dashes e.g “–if”.

bnp_make also requires an update to allow processing of multiple “if” “ifnot” arguements, edit main.cpp to match:

args.addArg("i", "if", "wildcard", "Add the file if it matches the wilcard (at least one 'if' conditions must be met for a file to be adding)", false);
args.addArg("n", "ifnot", "wildcard", "Add the file if it doesn't match the wilcard (all the 'ifnot' conditions must be met for a file to be adding)", false);

These fixes are available in a more recent commit, but until the full build/setup process has been re-tested using newer commits, the above changes will need making.

Runtime Dependencies

There may be numerous missing dependencies as this has yet to be tested against a vanilla Debian/Jessie install, but I was missing:

  • libluabind0.9.1

A FINAL_VERSION build of the dynamic client will need the built ryzom libs see “ldd ryzom_client”. For now, copy over the ${RYZOM_ROOT}/build_client/lib folder and launch ryzom using

LD_LIBRARY_PATH=lib/ ./ryzom_client

CMake if it is not already configured for this, can be changed to ensure the rpath is set to “./lib” which will remove the need for using LD_LIBRARY_PATH.

You should now be able to login with your manually created user, create a character and enter/explore the running test shard.