ns - ryzom/ryzomcore GitHub Wiki


title: NeL NS (Nevrax Library Network Services) description: published: true date: 2023-03-01T05:15:47.093Z tags: editor: markdown dateCreated: 2022-03-05T07:14:51.997Z

This piece of documentation is quite old. Please help review it! {.is-warning}

This documentation describes Nevrax NeL Network Services, a set of services built on the top of NeL. One service is usually one process. A service class must be or inherit from NLNET::IService. Report to NeL documents for further information.

The format of the messages that can be processed by a service are described in the documentation of the .cpp file of the service, in the detailed description of the callbacks. For example, if you want to know how to interact with the Naming Service (or rather how NLNET::CNamingClient interacts with it), read the documentation of naming_service.cpp.

The Nevrax NeL Network Services

NeLNS is made up of one unique login service, one or several shards (aka game servers), and a few utility services.

  • admin_executor_service -> control services on the server (admin_executor_service.cpp)
  • admin_service -> control a shard (admin_service.cpp)
  • naming_service -> used to find a specific service by its name or service id (naming_service.cpp)
  • login_service -> centralized user account manager for all shards (login_service.cpp)
  • welcome_service -> translator between login_service and front end of the shard (login_service.cpp)

Configuration files

If needing the config file have the extention .cfg and have the same name as the exectuable name (ex: admin_service configuration file name is "admin_service.cfg")

All services inside of the shard must have NSHost and NSPort variable in the config to connect to the naming_service.

For example welcome_service.cfg must have at least:

NSHost = "hostname_of_your_machine_where_naming_service_will_run";
NSPort = 50000;

The welcome_service config must also contain the host address of the login_service

LSHost = "hostname_of_your_machine_where_login_service_will_run";

Output files

The services create/modify the following config or log files:

  • log.log (very big especially if you have compiled the services with NL_DEBUG defined) : Contains all debug information sent by the services.
  • login_service_database.cfg (login_service) : Every time a new user (not registered before) logs in, its login and password are saved into ls.txt.
  • ls.log (login_service) : Every time someone logs in, its configuration information is saved into ls.log.
⚠️ **GitHub.com Fallback** ⚠️