By Spooner & Mandoble
One of the standard ways to debug scripts is to use hint or sideChat to output debugging messages. This is still a valid way to debug scripts running on the clients, but it will not work on the server, since anything requested to be displayed on the server is just ignored by the game. The only way to see messages generated by the server is to transmit it to the clients so that they can see it.
Just as in single-player mode, this method has severe limitations, since the hint/chat areas are only of limited size and if many debug messages are shown in a short space of time, then messages might be missed. This will be even more of a problem in MP since you are monitoring both the client and server debug messages from one client. To overcome this, you could build your own server debug log dialog or use one of the user-made debug logs such as the one included in the SPON Core pack.
The game maintains its own logs, which contain records of errors on clients and servers. The log made by the server can be found at "C:\Documents and Settings\\Local Settings\Application Data\ArmA\arma_server.RPT". The client version is called "arma.RPT" and is to be found in the same directory.
Make a shortcut to start the ArmA server using a config file (the path might be different for you). The shortcut's Target should be:
"C:\Program Files\Bohemia Interactive\ArmA\arma_server.exe" -config=server.cfg
and its Start In:
"C:\Program Files\Bohemia Interactive\ArmA"
The server.cfg file:
When running multiple clients on the same machine, it is often best to open them in a window ("arma.exe -window") so that you can switch between them very easily. Although alt-tab can be used for this, it is slower and can cause the game to crash if it is used too much.
There is only one console command that is particularly useful for testing MP games, which is #monitor. This can be used by the server administrator (someone who has logged in using #login) to monitor the server from a client machine. This shows several useful items of information about the server machine:
The bandwidth values can give a good indication of whether scripts within a mission are using global commands too frequently, though, like the FPS value, they are severely affected by the number of players and mission complexity.