version 1.1, 2001/04/18 13:54:25 |
version 1.2, 2001/10/25 15:00:36 |
| |
/** | /** |
\mainpage Server | \mainpage NeLNS (Nevrax Library Network Services) |
| |
| \date 10/25/2001 |
| |
\section server_intro Introduction | \section server_intro Introduction |
| |
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. | 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 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. |
| |
\subsection nelns_services The NEVRAX NeL Network Services | \subsection nelns_services 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. | NeLNS is made up of one unique login service, one or several shards (aka game servers), and a few utility services. |
- naming_service -> used to find a specific service by its name (naming_service.cpp) | - admin_executor_service -> control services on the server (admin_executor_service.cpp) |
- log_service -> centralized logger for all services (log_service.cpp) | - admin_service -> control a shard (admin_service.cpp) |
- time_service -> centralized time reference manager (time_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) | - login_service -> centralized user account manager for all shards (login_service.cpp) |
- admin_executor_service -> collects stats about a physical machine (admin_executor_service.cpp) | - welcome_service -> translator between login_service and front end of the shard (login_service.cpp) |
- agent_service -> routes messages for inter-agent communication over several machines (agent_service.cpp) | |
| |
\subsection nelns_config_files Configuration files | \subsection nelns_config_files Configuration files |
| |
For all services : ns.cfg | 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: |
\code | \code |
Host = "hostname_of_your_machine_where_naming_service_will_run"; | NSHost = "hostname_of_your_machine_where_naming_service_will_run"; |
Port = 50000; | NSPort = 50000; |
\endcode | \endcode |
| |
For login_service : ls.txt | The welcome_service config must also contain the host address of the login_service |
\code | \code |
Shards = { | LSHost = "hostname_of_your_machine_where_login_service_will_run"; |
"hostname_of_your_machine_where_game_service_will_run", "Name of the shard as it will appear on the client" | |
}; | |
\endcode | \endcode |
| |
\subsection nelns_output_files Output files | \subsection nelns_output_files Output files |
| |
The services create/modify the following config or log files: | The services create/modify the following config or log files: |
- unitime.cfg (time_service) : Contains the time reference | - log.log (very big especially if you have compiled the services with NL_DEBUG defined) : Contains all debug information sent by the services. |
- logs.log (very big especially if you have compiled the services with NL_DEBUG defined) (log_service) : 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.txt (login_service) : Every time a new user (not registered before) logs in, its login | - ls.log (login_service) : Every time someone logs in, its configuration information is saved into ls.log. |
and password are saved into ls.txt | |
- ls.log (login_service) : Every time someone logs in, its configuration information is | |
saved into ls.log | |
| |
*/ | */ |