Index: server/DataAccess.cpp
===================================================================
--- server/DataAccess.cpp	(revision ace001aa2a87c44a8652d4567408341b2954cde0)
+++ server/DataAccess.cpp	(revision a9a1295eca90367468705981a346a580b730b117)
@@ -178,5 +178,5 @@
 {
    // each array is the score for one game
-   // the columns are result, team, blue score, and red score
+   // the columns are result, team, blue score, red score, and time the game ended
    // for result 0 is defeat and 1 is victory
    // for team, 1 is blue and 2 is red
@@ -197,9 +197,10 @@
    int i=0;
    while ( ( row = mysql_fetch_row(result)) != NULL ) {
-      gameHistory[i] = new int[4];
+      gameHistory[i] = new int[5];
 
       int userTeam = atoi(row[2]);
-      int blueScore = atoi(row[4]);
-      int redScore = atoi(row[3]);
+      int blueScore = atoi(row[3]);
+      int redScore = atoi(row[4]);
+      time_t timeFinished = atoi(row[5]);
       int gameResult = -1;
 
@@ -222,4 +223,5 @@
       gameHistory[i][2] = blueScore;
       gameHistory[i][3] = redScore;
+      gameHistory[i][4] = timeFinished;
 
       i++;
@@ -236,12 +238,12 @@
 }
 
-int DataAccess::saveGameHistory(int playerId, int team, int blueScore, int redScore)
+int DataAccess::saveGameHistory(int playerId, int team, int blueScore, int redScore, time_t timeFinished)
 {
    ostringstream oss;
 
    cout << "Saving game to db" << endl;
-   oss << playerId << ", " << team << ", " << blueScore << ", " << redScore;
-
-   return insert("gameHistory", "user_id, user_team, blue_score, red_score", oss.str());
+   oss << playerId << ", " << team << ", " << blueScore << ", " << redScore << ", " << timeFinished;
+
+   return insert("gameHistory", "user_id, user_team, blue_score, red_score, time_finished", oss.str());
 }
 
Index: server/DataAccess.h
===================================================================
--- server/DataAccess.h	(revision ace001aa2a87c44a8652d4567408341b2954cde0)
+++ server/DataAccess.h	(revision a9a1295eca90367468705981a346a580b730b117)
@@ -23,5 +23,5 @@
    int* getPlayerRecord(int playerId);
    int** getPlayerGameHistory(int playerId, unsigned int& numGames);
-   int saveGameHistory(int playerId, int team, int blueScore, int redScore);
+   int saveGameHistory(int playerId, int team, int blueScore, int redScore, time_t timeFinished);
 
    int insert(string table, string rows, string values);
Index: server/server.cpp
===================================================================
--- server/server.cpp	(revision ace001aa2a87c44a8652d4567408341b2954cde0)
+++ server/server.cpp	(revision a9a1295eca90367468705981a346a580b730b117)
@@ -200,4 +200,5 @@
                   map<unsigned int, Player*>::iterator it;
 
+                  time_t timeFinished = time(NULL);
                   for (it = game->getPlayers().begin(); it != game->getPlayers().end(); it++) {
                       Player* p = it->second;
@@ -211,5 +212,5 @@
                           p->losses++;
                       da.updatePlayer(p);
-                      da.saveGameHistory(p->getId(), winningTeam, game->getBlueScore(), game->getRedScore());
+                      da.saveGameHistory(p->getId(), winningTeam, game->getBlueScore(), game->getRedScore(), timeFinished);
                   }
                }
@@ -613,8 +614,9 @@
          memcpy(serverMsg.buffer+12, &numGames, 4);
          for (unsigned int i=0; i<numGames; i++) {
-            memcpy(serverMsg.buffer+16+i*16, &gameHistory[i][0], 4);
-            memcpy(serverMsg.buffer+20+i*16, &gameHistory[i][1], 4);
-            memcpy(serverMsg.buffer+24+i*16, &gameHistory[i][2], 4);
-            memcpy(serverMsg.buffer+28+i*16, &gameHistory[i][3], 4);
+            memcpy(serverMsg.buffer+16+i*20, &gameHistory[i][0], 4);
+            memcpy(serverMsg.buffer+20+i*20, &gameHistory[i][1], 4);
+            memcpy(serverMsg.buffer+24+i*20, &gameHistory[i][2], 4);
+            memcpy(serverMsg.buffer+28+i*20, &gameHistory[i][3], 4);
+            memcpy(serverMsg.buffer+32+i*20, &gameHistory[i][4], 4);
             delete[] gameHistory[i];
          }
