A common misconception is that the Ryzom Game and Ryzom Core are the same thing. This is not the case, Ryzom the game is ran by Winch Gate Property Limited who it's released over two million lines of its source code under the terms of the Free Software Foundation's GNU Affero General Public License (GNU AGPLv3) as Ryzom Core. With Ryzom now open source, developers can access the source of the end-user client, content creation tools, and server in order to make modifications, add enhancements, or even create their own games using the Ryzom core engine. This page will focus on how to create your own game using the Ryzom Core code. For more information check out the Ryzom Core Features page. Ryzom Core has specific terms it uses for some things, it is a good idea to familiarize yourself with it at Terminology. For more information check Ryzom Core Technology Overview.
The Server/Client Layout
Ryzom Core uses a server/client structure, the server is called a shard. The shard talks to the client via the network and allows for most data to be stored off the users machine, this has the following benefits:
Storing recipes and stats only on the server allows for the game "rules" to be located only on the server making it significantly harder for people to know the game rules
It makes it possible for the server to control what the client can do, preventing cheating
It allows developers to make updates to the server that require no download on the client-side
However this also has some downsides:
Requires a server to run
Difficult to create a single player game with
Requires building of a client and a server binary
Requires a database server (MySQL) to store the server information
The first step to creating your own game using Ryzom core is to build the client and server binaries. It is highly recommended that your initial build uses the Ryzom art without changes to source code for an initial development test bed.
Currently Ryzom Core is developed for Linux, Windows, and OSX. Each operating system has its own specific requirements, see the below articles for tutorials on building the client and server on each different operating system.
If you want to support all 3 operating systems you must build the client for Windows, Linux, and OSX. However you only need to build the server once on the server operating system.
The game data (art, characters, items, etc) are generated by the build pipeline, this is a set of scripts that you setup. It typically takes 30+ hours to build all the art as there are many things it has to do to get all the art ready for use in the game. Take a look at the guide How to set up the Build Pipeline for information on setting up the pipeline. For information on the layout of the database check out the Database Structure
Setting up a Patch Server
Ryzom Core includes an auto patching service for the client by pulling down delta's of files minimizing download size. This service currently works on windows while Linux/OSX development is currently underway.
To deploy the patch server follow the guide Patch Generation, to use the patch server will require a server running an HTTP webserver.
Setting up the Web Services
By default the Create Account button will not work. One option is to use the Ryzom Core Drupal Module this will configure your drupal installation to use http://url/register as your CreateAccountURL.
The windows client is created ready to use in the 7_client_install step of the pipeline, simply take the folder and zip it up for distribution. For other operating systems follow there appropriate build pages and replace the data with the data from client_install folder excluding all the .dll and .exe files.
Modifying the "Words" Displayed in the Client
Ryzom Core has a localization system that uses language files to display different messages depending on the currently selected language of the client, to modify the text in game you need to edit these files, check out Localization system in Ryzom