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 |
There should be no additional configuration as this site will use the config file from the main login PHP.
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; |
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. |
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 |
Change the following variables in the AES configuration file:
Change the following variables in the AIS configuration file:
Change the following variables in the DSS configuration file:
Change the following variables in the EGS configuration file:
Edit backup_service_interface.cfg and set BSHost to your main shard's hostname or IP address.
Change the following variables in the FES configuration file:
Change the following variables in the GPMS configuration file:
Change the following variables in the IOS configuration file:
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); |
dd