public void update(String msg)
	{
		if (msg.startsWith("CUL:"))
		{
			String[] users = msg.substring(4).split("\\|");
			
			userListPanel.removeAll();
			
			userListPanel.add(userLabel);
			JSeparator separator = new JSeparator(SwingConstants.HORIZONTAL);
			separator.setMaximumSize(new Dimension(32767, 2));
			separator.setAlignmentY(Component.TOP_ALIGNMENT);
			userListPanel.add(separator);
			userLabels.clear();
			
			for (int i = 0; i < users.length; i++)
			{
				UserLabel l = new UserLabel(users[i]);
				userLabels.add(l);
				l.setBorder(new EmptyBorder(3,3,3,5));
				l.setAlignmentY(Component.TOP_ALIGNMENT);
				userListPanel.add(l);
			}
			userListPanel.repaint();
			validate();
		}
		else if (msg.startsWith("CON:"))
		{
			UserLabel l = new UserLabel(msg.substring(4));
			if (userLabels.contains(l))
			{
				l = null;
				return;
			}
			else
			{
				l.setBorder(new EmptyBorder(3,3,3,5));
				l.setAlignmentY(Component.TOP_ALIGNMENT);
				userLabels.add(l);
				userListPanel.add(l);
				userListPanel.repaint();
				validate();
				console(l.getText() + " has connected.");
			}
		}
		else if (msg.startsWith("DIS:"))
		{
			String name = msg.substring(4);
			for (UserLabel l : userLabels)
			{
				if (l.getText().equals(name))
				{
					userListPanel.remove(l);
					userLabels.remove(l);
					userListPanel.repaint();
					validate();
					console(name + " has disconnected.");
					break;
				}
			}
		}
		else if (msg.startsWith("MSG:"))
		{
			console(msg.substring(4));
		}
		else
		{
			console(msg);
		}
	}