private void updatePlayers(int packetSize, Buffer stream) {
		actorsToUpdateCount = 0;
		playersObservedCount = 0;
		updateLocalPlayerMovement(stream);
		updateOtherPlayerMovement(stream);
		updatePlayerList(stream, packetSize);
		updatePlayersBlock(stream);
		for (int p = 0; p < actorsToUpdateCount; p++) {
			int playerId = actorsToUpdateIds[p];
			if (players[playerId].lastUpdateTick != tick)
				players[playerId] = null;
		}

		if (stream.position != packetSize) {
			signlink.reporterror("Error packet size mismatch in getplayer pos:"
					+ stream.position + " psize:" + packetSize);
			throw new RuntimeException("eek");
		}
		for (int p = 0; p < localPlayerCount; p++)
			if (players[localPlayers[p]] == null) {
				signlink.reporterror(enteredUsername
						+ " null entry in pl list - pos:" + p + " size:"
						+ localPlayerCount);
				throw new RuntimeException("eek");
			}
	}