@Override
    public String toString(){
            Date d = new Date();
            d.setTime(gameActiveMs);
            String res = "";
            res += "Game: " + gameName + "\n";
            res += "Id: " + matchId + "\n";
            res += "Mode: " + gameMode + "\n";
            res += "Active: " + d.toString() + "\n";
            d.setTime(gameStartMs);
            res += "Start: " + d.toString() + "\n";
            d.setTime(gameEndMs);
            res += "End: " + d.toString() + "\n";
            res += "Length: " + gameLength + "\n";
            res += "dotaVersion: " + dotaVersion + "\n";
            res += "Points: Sentinel: " + seScore + " Scourge: " + scScore + "\n";
            res += "KD: Sentinel: " + seKill + " / " + seDeath + " Scourge: " + scKill + " / " + scDeath + "\n";
            res += "winner: ";
            switch(winner)
            {
                case 0:
                    res += "draw\n";
                    break;
                case 1:
                    res += "sentinel\n";
                    break;
                case -1:
                    res += "scourge\n";
                    break;
                case -2:
                    res += "game aborted\n";
                    break;
                case -3:
                    res +=  "no winner information\n";
                    break;
                default:
                    res += "invalid winner value\n";
                    break;
            }
            res += "Sentinel\n";
            for(int s : sentinel)
            {
                res += " " + s + "\n";
            }
            res += "Scourge\n";
            for(int s : scourge)
            {
                res += " " + s + "\n";
            }
            res += "Number of players " + playerIds.size();
            return res;

        }