PDA

View Full Version : MOH:AA Logfiles


Aristoteles
11-18-2002, 02:37 PM
Hi all!

I want to code a webbased tool for administering a linux MOH:AA server including a statistics module.

Therefore I want to know where I can get the information which side a gamer joined...

I searched the logfile for the words allies and axis but I did not find anything...


Aristoteles
Sons Of Steel

Shockwave
11-18-2002, 03:56 PM
Ahhh, you have hit upon one of the big issues with the game server. I happen to know a little about this particular situation because I had to deal with it when I was creating the TK detection logic for the server tool I've been developing. Let me explain.

The game server has the ability to show varying levels of detail in the server log by manipulating the value of the developer cvar. To get it to output the highest level of detail, you need to have it set like this:

developer 2

The log actually records the client command used to initiate a team change. The data will take one of these three forms:

clientCommand: Shockwave : 1 : join_team allies
clientCommand: Shockwave : 1 : join_team axis
clientCommand: Shockwave : 1 : auto_join_team

This is a good thing, but it unfortunately falls short of the mark when trying to determine what team a player is on in two ways:

(1) A player can issue a command to join a team but it may not be executed successfully.

For example, if a player joins a team and then immediately tries to join the opposite team, there is a mandatory waiting period enforced. In this instance, the player will execute the command to join the team and the log will record it, but the change never actually occurred. The error message isn't displayed in the log.

(2) Even if a player is successful in joining the team selected, it won't help if the player has asked for the assignment to be made automatically.

It is awfully hard to figure out the team if "auto_join" is all the log shows.

Someone once told me that there is a command that will display the session information for a given player and that the code it produces can be used to determine team affiliation. The command is:

sessionX
(where X is the clientID of the player)

While this is true, it has its limitations. My experimentation has shown that the value is only properly set at the load of a new map for players who have already completed the connection process and have joined a team. Even so, any subsequent team changes are not reflected with this command.

The ideal situation would be for the server to log successful team placement. Then true player team assignments would be known. I have been able to develop a means of determining team affiliation for my server administration tool, but the logic is only applicable to TDM game types because of the way it is accomplished. If you are running a Linux server and would like to discuss statistics generation, I'd be happy to talk specifics with you. It took me a while to get the logic right and it wasn't a picnic. It wouldn't be too difficult for me to generate a separate stats file from the data I collect.

If you want to read more about my server administration tool, just check out this link:

http://www.clanshortfuse.com/mohaa_admintool.shtml

I hope this helped a little. :)