(11-01-2011, 09:17 AM)FakeTruth Wrote: Well that's strange. All it does is convert the player data in /world/player from binary to Json. While it's doing that the server isn't even running so you shouldn't be able to connect.
Converting 1166 players to the new format took like 5 seconds here.
I'm not sure if that's what's doing it, it's just a guess. Something definitely caused a large memory leak. The part of code it was happening at is here:
cChunkMap::cChunkLayer* cChunkMap::LoadLayer(int a_LayerX, int a_LayerZ )
I added LOG("Source File: %s", SourceFile ); to the code to see if this was the line, it was:
Code:
short NumChunks = 0;
if( fread( &NumChunks, sizeof(NumChunks), 1, f) != 1 ) { LOGERROR("ERROR 3 READING FROM FILE %s", SourceFile); fclose(f); return false; }
LOG("Num chunks: %i", NumChunks );
LOG("Source File: %s", SourceFile );
It took several seconds per pak file. Whatever it did hasn't happened since the one time. It seems like it was converting or reorganizing something.