[BACK] Return to HOWTO CVS log [TXT][DIR] Up to Nevrax / code / nelns

File: Nevrax / code / nelns / HOWTO (download)
Revision 1.1, Wed Apr 18 13:54:25 2001 UTC (14 months ago) by valignat
Branch: MAIN
RENAMED code/server to code/nelns.

NEVRAX NeL Network Services Howto
23/01/2001 cado@nevrax.com
$Id: HOWTO,v 1.1 2001/04/18 13:54:25 valignat Exp $
----------

The NEVRAX NeL Network Services is made up of one unique login service, one or
several shards (aka game servers), and a few utility services.
In this document, we'll assume you want to run your login service
and one shard on the same machine.

You can't launch more than one shard on a computer.

Services are compiled in debug mode by default.

Once you have compiled the servers, you should have the following files
(shown in Unix naming scheme, for Windows add ".exe") in a single
directory (let's call it homedir/bin):
naming_service  -> used to find a specific service by its name
log_service     -> centralized logger for all services
time_service    -> centralized time reference manager
login_service   -> centralized user account manager for all shards
(admin_executor_service -> collects system stats 
(agent_service  -> agent message router


1. In the working directory (e.g. homedir), create the following files
(don't type the lines beginning with "-")

-- ns.cfg --
Host = "hostname_of_your_machine_where_naming_service_will_run";
Port = 50000;
------------
(This file is used by all services)

-- ls.txt --
Shards = {
 "hostname_of_your_machine_where_game_service_will_run", "Name of the shard as it will appear on the client"
};
------------
(This file is used by login_service)


2. Launch the servers.
Here is a sample batch file, where you can find the right ordering :

-- starts --
nohup ~/bin/naming_service >/dev/null
nohup ~/bin/log_service >/dev/null
nohup ~/bin/time_service >/dev/null
nohup ~/bin/login_service >/dev/null
echo "Active services:"
ps -edf | grep _service | grep -v grep
echo "End services"
------------

3. To connect a client to your new shard, set
LSHost = "hostname_of_your_machine_where_login_service_runs";
in its client.cfg
and create ns.cfg with the same contents as for the servers.
Then launch the client and enjoy :-)


4. The services create/modify the following config or log files:
- unitime.cfg (time_service)
  Contains the time reference
- ls.txt (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
- logs.log (very big especially if you have compiled the servers
  with NL_DEBUG defined) (log_service)
  Contains all debug information sent by the services.


5. How to shutdown the services
Here is a sample batch file:

-- kills --
kill -INT `ps -edf | grep bin/login_service | grep -v grep  | tr -s " " | cut -d' ' -f2`
sleep 1
kill -INT `ps -edf | grep bin/time_service | grep -v grep  | tr -s " " | cut -d' ' -f2`
sleep 1
kill -INT `ps -edf | grep bin/log_service | grep -v grep  | tr -s " " | cut -d' ' -f2`
sleep 1
kill -INT `ps -edf | grep bin/naming_service | grep -v grep  | tr -s " " | cut -d' ' -f2`
-- kills --