public synchronized HashMap<String, GameObjectInformation> updateGameObjects(int userID, Integer[] actions, HashMap<String, GameObjectInformation> clientPlayerObjects, int gameID) throws UnknownHostException, IOException, SocketTimeoutException, ClassNotFoundException {
		if(actions == null){
			actions = new Integer[0];
		}
		
		Socket socket = new Socket(SERVER_ADDRESS_GAME, GAME_PORT);
		
		socket.setSoTimeout(TIMEOUT);
		
		OutputStream outputStream = socket.getOutputStream();
		ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);
		
		InputStream inputStream = socket.getInputStream();
		ObjectInputStream objectInputStream = new ObjectInputStream(inputStream);

		objectOutputStream.writeObject("UPDATE_GAME_INFORMATION");
		objectOutputStream.writeInt(userID);
		objectOutputStream.writeObject(actions);
		objectOutputStream.writeObject(clientPlayerObjects);
		objectOutputStream.writeInt(gameID);
		objectOutputStream.flush();
		
		HashMap<String, GameObjectInformation> gameObjectInformation = new HashMap<>();
		
		gameObjectInformation = (HashMap<String, GameObjectInformation>)objectInputStream.readObject();
		
		socket.close();
		
		return gameObjectInformation;
	}