Running Multiple Servers

 
It is possible to run more than one Active Worlds Server on the same physical machine. However, with one exception, this is normally not necessary since a single server can host any number of worlds in a single process.

The exception is if you need to run multiple worlds in different universes on the same machine. In this case you will need to run more than one Active Worlds server, since each server can only host worlds in a single universe at a time. See multiple universes for details.

If you still want to run more than one server on a single machine, you will need to assign alternate port numbers for each world server. By default, the Active Worlds Server runs on port 7777. The procedure for assigning alternate port numbers is the same for both Windows and Unix.

First, decide on a port numbering scheme that is easy to remember and follow. We recommend beginning at port 7001 and then assigning a new port number incrementally for each additional server you are hosting. So for example your first server would run on port 7001, your second server would run on port 7002, your third on 7003, etc.

Then go to the installation directory of each world server and edit the file world.ini. Add the entry "port=xxxx" under the [server] section, where "xxxx" is the port number you wish to assign. The result should look something like this:

[server]
port=7001

Then simply start the world server as you normally would (or restart it if it was already running).

Naming multiple servers

Under Windows, if you run more than one server on the same machine, you will wind up with more than one icon in the system tray, one for each server. In order to tell them apart, you can assign a name to each server from the world.ini file:

[server]
name=MyServerName

The server will display this name in the tooltip pop-up when you move the mouse over the system tray icon.

Under Unix, there is no system tray icon so this setting has no effect. If you are running more than one server under Unix, a useful trick you can use to tell servers apart is to simply invoke each server with a unique name specified on the command line. This argument will be ignored by the world server, but it can be grep'd for in the system process list later. For example:

[linux]$ world server1
[linux]$ ps ax | grep server1
25691 ? S 0:00 world server1
[linux]$