Configuring the Web Site

You will need to create a new site on your web server for hosting the Ring-related web content. This site will listen on port 30000 and should point to code/ryzom/tools/server/www/ring.

Listen 30000
<VirtualHost *:30000>
<Directory "/home/username/ryzom/code/ryzom/tools/server/">
Options -Indexes FollowSymLinks MultiViews
IndexOptions FancyIndexing FoldersFirst NameWidth=*
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ServerAdmin admin@localhost
DocumentRoot /home/username/ryzom/code/ryzom/tools/server/www/ring
ServerName localhost
</VirtualHost>

There should be no additional configuration as this site will use the config file from the main login PHP.

Configuring the Shard

Update the Shard Database

You will need to modify the web_host in the nel database to reflect where your Ring site is hosted. Update only your domain, the default domain ID is 12. Change this if the values you configured during the main shard setup do not apply (hostname or port.)

USE nel;
UPDATE domain SET web_host = 'foo.bar.com:30000' WHERE domain_id=12;

The web_host column on the domain table refers to the Ring session site. The web_host_php refers to the main login site URL.

Next you will need to ensure that the Session Browser is correctly identified in the main shard's Session Browser Service (SBS). Unless you change the ports the port should be 49999.

USE nel;
UPDATE domain SET session_manager_address = 'foo.bar.com:49999' WHERE domain_id=12;

You next have to insert the new Ring shard:

USE nel;
INSERT INTO shard (ShardId, domain_id, WsAddr, NbPlayers, Name, Online, ClientApplication, Version, PatchURL, DynPatchURL, FixedSessionId, State, MOTD, prim) VALUES (300, 12, 'r2.ryzomcore.org', 0, 'Ring Shard', 0, 'r2', '', '', '', 0, 'ds_dev', '', 29);

This makes the Ring shard available to users. If users continue to receive errors that no DSS is available to them log into your Shard Unifier and type the following command:

rsm.setWSState 300 OPEN

 

You will also need to grant the new host permissions to log in as the shard user.

The default installation for MySQL on most Linux distributions forces MySQL to bind only to the localhost. You will need to modify the my.cnf file and set the bind-address appropriately.

bind-address = 0.0.0.0
 

You may also want to add the IP address of your Ring host to your /etc/hosts

GRANT ALL ON nel.* TO shard@ringshardhost;
GRANT ALL ON nel_tool.* TO shard@ringshardhost;
GRANT ALL ON ring_open.* TO shard@ringshardhost;
 
FLUSH PRIVILEGES;

 

 

 

Configuring the Ring Shard

The Ring Shard can theoretically be run on the same physical machine as the main shard but since the Ring shard is a fully functioning shard of its own it will have many services that duplicate the functionality of the main shard and thus will want to listen on the same ports. You can modify all of these services to listen on different ports but then you will have to ensure that all database entries and configuration files properly reflect the new ports. For this reason it's highly suggested that you run the Ring Shard on its own server.

Enabling Correct Ring Services

The Ring shard only needs the following services enabled: AIS, DSS, EGS, FES, GPMS, MS, NS, WS, IOS, TS

You need to make the following changes in $RYZOM_PATH/server/shard.screen.rc:

# dss
screen -t dss /bin/sh service_launcher.sh dss $RYZOM_PATH/../build/bin/ryzom_dynamic_scenario_service -C. -L. --nobreak --writepid

 

Modify the SQL and Common Configuration

Modify the AES Configuration

Change the following variables in the AES configuration file:

Modify the AIS Configuration

Change the following variables in the AIS configuration file:

Modify the DSS Configuration

Change the following variables in the DSS configuration file:

Modify the EGS Configuration

Change the following variables in the EGS configuration file:

Modify the Backup Service Interface Configuration

Edit backup_service_interface.cfg and set BSHost to your main shard's hostname or IP address.

Modify the FES Configuration

Change the following variables in the FES configuration file:

Modify the GPMS Configuration

Change the following variables in the GPMS configuration file:

Modify the IOS Configuration

Change the following variables in the IOS configuration file:

Modify the WS Configuration

Change the following variables in the WS configuration file:

Update the SQL Database

USE nel;
INSERT IGNORE INTO `shard` (`ShardId`, `domain_id`, `WsAddr`, `NbPlayers`, `Name`, `Online`, `ClientApplication`, `Version`, `PatchURL`, `DynPatchURL`, `FixedSessionId`, `State`, `MOTD`, `prim`) VALUES (300, 12, 'r2.ryzomcore.org', 0, 'Ring Shard', 0, 'ryzom_open', '', '', '', 0, 'ds_dev', '', 30);
 
USE nel_tool;
INSERT IGNORE INTO `neltool_shards` (`shard_id`, `shard_name`, `shard_as_id`, `shard_domain_id`, `shard_lang`, `shard_restart`) VALUES (300, 'Ring', 'ring', 12, 'en', 0);

 

Configuring the Client

dd