bw logo

Chapter 10. Multiple BigWorld Servers in a Single LAN

10.1. Keeping Processes Separate

All server components in a BigWorld server cluster run under the same UID. If you want to run multiple server clusters on the same network, as can be required for different stages of testing, then make sure that you use different UIDs.

You also need to make sure that the LoginApps are on different machines. This is because by default each LoginApp opens the same specific port, and therefore only one could succeed in binding to it. Alternatively, multiple LoginApps can be run on a single machine as long as they have different port settings in <res>/server/bw.xml.

Note

It is important the username and UID mapping is consistent across all machines on the cluster. It is highly recommended to use centralised logins using LDAP or similar.

10.2. Centralised Cluster Monitoring

The best way to keep track of processes is via WebConsole's StatGrapher module.

The module, which can be run on any web browser, uses log files generated by StatLogger daemon to display statistics, and has a variety of options to filter the output by user.

For more details, see StatGrapher, and StatLogger.

10.3. Auto-Detection of LoginApps

When running multiple servers, it is convenient for the client to auto-detect LoginApp processes (this is only suitable for a development environment).

The LoginApps have this functionality built in, and do not require any configuration to perform it — they register themselves with BWMachined, and the client broadcasts a 'find' message to retrieve their contact details. A probe message is then sent to each server to determine who, where and what it is running. This functionality is implemented on the client by class ServerDiscovery.