public void Login(RequestPacket request, DBCollection coll, User user) {
		try {
			// Use cursor to find query -> password
			DBCursor cursor = coll.find(new BasicDBObject("user_name", request.getUser_name()));
			
			if(cursor.hasNext()) {
				BasicDBObject ob = (BasicDBObject) cursor.next();
				// Check that user_password matches stored_password
				if (request.getHash_password().equals(ob.getString("hash_password"))) {
					user.cancelTimeoutEvent();
					sendUUID(user);
					String user_name = ob.getString("user_name");
					user.setUser_name(user_name);
					UserManager.getInstance().addAuthenticatedUser(user);
					System.out.println("User " + user_name + " authenticated");
					GameManager.getInstance().sendLobbyInfo();
				}
				else {
					user.sendMessage(msgTransformer.writeMessage(new ResponsePacket().setResponse("response").setMessage("Invalid username or password")));
				}
			} else
				user.sendMessage(msgTransformer.writeMessage(new ResponsePacket().setResponse("response").setMessage("Invalid username or password")));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}