Configuring Ryzom Ring Server

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.

Example Ring Site Config
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.

MySQL Remote Access

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:

  • Delete/comment out bms_master
  • Change the AIS alias from ais_newbyland to ais_ring and change the command execution from -mCommon:Newbieland:Post to -mCommon:Ring:Post
  • Delete/comment out mfs
  • Delete/comment out su
  • Delete/comment out lgs
  • Delete/comment out mos
  • Delete/comment out sbs
  • Delete/comment out ras
  • Add the dss service:

# 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

  • You will need to edit $RYZOM_PATH/server/sql.cfg and change the DBHost to your main database server.
  • You will need to edit $RYZOM_OATH/server/common.cfg:
    • Change ShardId to 300

Modify the AES Configuration

Change the following variables in the AES configuration file:

  • Change ASHost to your main shard's hostname or IP address.
  • Change your AESAliasName to aes_ring.
  • Modify the StartCommands to reflect the shard.screen.rc changes made earlier.
  • Modify the RegisteredServices to reflect the shard.screen.rc changes made earlier.
  • Also modify the RegisteredServices array to have your new Ring shard name, e.g. ring instead of open.
  • Change ShardName to "ring"

Modify the AIS Configuration

Change the following variables in the AIS configuration file:

  • Change SUHost to your main shard's hostname or IP address.
  • Change AESAliasName to ais_ring
  • Change IsRingShard to 1

Modify the DSS Configuration

Change the following variables in the DSS configuration file:

  • Change SUHost to your main shard's hostname or IP address.
  • Change MFSHost to your main shard's hostname or IP address.
  • Change BSHost to your main shard's hostname or IP address.
  • Change MasterLGSHost and SlaveLGSHost to your main shard's hostname or IP address.
  • Change DBHost to your main database server.
  • Change BSNSHost to your main shard's hostname or IP address.
  • Change SUNSHost to your main shard's hostname or IP address.
  • Update DBNelUser and DBRingUser if necessary (e.g. change to 'shard')
  • Change ShardId to 300
  • Change FSListenHost to the hostname or IP of your Ring Shard FES.

Modify the EGS Configuration

Change the following variables in the EGS configuration file:

  • Change SUHost to your main shard's hostname or IP address.
  • Change MasterLGSHost and SlaveLGSHost to your main shard's hostname or IP address.
  • Change MFSHost to your main shard's hostname or IP address.
  • Change IsRingShard to 1
  • Change FixedSessionId to 0

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:

  • Change FSListenHost to the hostname or IP of your Ring Shard FES.

Modify the GPMS Configuration

Change the following variables in the GPMS configuration file:

  • Change IsRingShard to 1

Modify the IOS Configuration

Change the following variables in the IOS configuration file:

  • Change SUHost to your main shard's hostname or IP address.
  • Change MasterLGSHost and SlaveLGSHost to your main shard's hostname or IP address.
  • Change IsRingShard to 1

Modify the WS Configuration

Change the following variables in the WS configuration file:

  • Change SUHost to your main shard's hostname or IP address.
  • Change MasterLGSHost and SlaveLGSHost to your main shard's hostname or IP address.
  • Change FixedSessionId to 0

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