The Ryzom Core Quick Start package provides you with a fully preconfigured project folder. Enabling you to easily get started with running the entire asset creation and development pipeline to build your own MMORPG, and to collaborate on the Ryzom Core technologies.
This release integrates the complete game development workflow in one package. Build new assets. Add new landscape. Create new missions. Design a new sound library. Develop the client, shard, and web tools. Debug locally. Orchestrate production servers. Deploy client and server patches.
Download the following four archives, and extract as specified.
Replace any occurence of Y:\ryzomcore in this guide with your installation folder.
Ensure that you do not have any drive called R:\ in your system. This procedure will map the project drive to R:\, due to certain tools which only support absolute paths, or which have hardcoded paths. 3ds Max project files should be opened through this mapped drive.
Run _configure.bat from the Y:\ryzomcore folder.
This script will detect the project installation path, create some convenience shortcuts inside the installation folder, and run the build pipeline setup script. If you ever move your installation to a different folder, or want to change options, just run this script again. Aside from using the 3rd party libraries and tools listed above, as well as the R:\ drive, the quick start package is fully self-contained, and does not affect any system-wide settings.
The pipeline setup script will ask for your 3ds Max installation and binary signing tool settings. These are optional.
Set 3ds Max availability to 0 to disable 3ds Max in the pipeline. This is okay if you do not plan on modifying any existing assets, since prebuilt data is already included in the Quick Start package.
Blank out the signing tool hash if you do not have a code signing certificate.
You can get a code signing certificate from any reputable certificate shop. It is not necessary for development, but it is recommended when targeting production. The cheapest Sectigo certificate from Xolphin is sufficient.
If you need to unmap the R:\ drive for other uses, run the _r_uninit.bat script. Run _r_init.bat anytime you want to work on the Ryzom Core project again. The R:\ drive is also unmapped upon reboot.
The configuration may take a while. When it is done, press any key to close the configuration script.
If you have 3ds Max available, copy the appropriate build of 3ds Max plugins from Y:\ryzomcore\distribution directly into your 3ds Max installation folder.
Run the web_on.bat script. This will launch MariaDB at port 9040, PHP-CGI at port 9041, and Nginx on port 9042.
Browse to http://localhost:9042/setup/install.php?dev. The default values should already be filled in correctly.
Click on Configure to initialize the databases. The default user and password for the development setup is admin.
You can verify the configuration by checking the shard table in the nel database using phpMyAdmin, which is located at http://localhost:9042/phpmyadmin/. Log into the local development database with the default root username and no password.
There should be one shard. The value for WsAddr should match your local hostname.
Browse to http://localhost:9042/ams/?page=register, and create your player account. You can make as many accounts as you need for testing.
To give your account developer privileges, go to the user table in the nel database. Enter :DEV: as new value for Privilege on the user.
Run the shard_unifier.bat script. This launches the Unifier which joins the mainland and Ring shards together, as well as the administrative services. Wait for all the services to launch, then switch to the SU tab.
To start the Mainland shard, run the shard_mainland.bat script. When all the tabs are opened, switch to the EGS tab. Wait for the services to launch. EGS, GPMS, and IOS may take a while during the first run.
If any service fails to start, use the controls in the dashboard to restart the service. This may occur due to port conflicts.
Run shard_ring.bat. This will start the Ring shard. Switch to the DSS tab.
The development shard is stored under Y:\ryzomcore\pipeline\shard_dev. Its configuration files are generated from the patchman repository.
Run the client_dev.bat script, log in. Create a character, and play or launch the Ring editor.
Run cmd_build_gamedata.bat from the main project directory to open the build pipeline console.
To rebuild leveldesign, run the leveldesign_dev.bat convenience script.
The convenience scripts are self descriptive. Use the build_gamedata shortcut, and explore their contents in notepad to see how to issue commands to the build pipeline scripts directly.
The scripts to set up the build projects are located under /build.
To create all of the Visual Studio 2019 projects for Windows builds, run the vs_clean.bat script to erase the existing folders, and then the vs_create.bat script. This will run CMake with the appropriate options.
For client development, open the RyzomCore.sln project under the dev_x64 folder. The server development is under the server_x64 folder.
In order to build Linux binaries, you'll need Ubuntu 18.04 LTS installed using WSL 1. Run the gcc_apt_install.bat script to install all requirements. Then run the gcc_clean.bat and gcc_create.bat script to prepare the build project folders.
From the main project directory, run /gcc_vs_build.bat to build all projects.
When targeting production, run executables_dev.bat from the build pipeline console to update executables in the installation files.
To update the artist tool folders, which are also used by the build pipeline, run all.bat from the /distribution directory.
Make sure the shard, including the Web, is shut down.
From the /external folder, run the web_wipe.bat script.
Remove the shard_dev directory, located under /pipeline.
Open the build pipeline console, and run python b3_shard_dev.py to reinitialize the shard. Then follow the steps above again for reconfiguring the Web.
TODO: Link to next steps.
Close the Ring dashboard. When that is finished, the Mainland window. Then the Unifier. After that, close the Web.