public void launchServer () throws IOException {
        
        DatagramSocket serverSocket = new DatagramSocket(UDPSERVER_PORT);

        while (!over) {
            byte[] receiveData = new byte[2048*8];
            byte[] sendData = new byte[2048*8];

            DatagramPacket receivePacket = new DatagramPacket(receiveData,
                                                              receiveData.length);
            serverSocket.receive(receivePacket);
            String receivedMessage = new String(receivePacket.getData());
            String[] strs = receivedMessage.split(":");
            
            if (strs.length == 2) {
                if (strs[0].trim().equals("Connection Request From")) {
                    InetAddress IPAddress = receivePacket.getAddress();
                    int port = receivePacket.getPort();

                    String key = convertAddressToString(IPAddress.getAddress(),
                                                        port).trim();
                    String name = strs[1].trim();

                    if (!myPPClientList.containsKey(name)) {
                        myPPClientList.put(name, key);
                    }
                    
                    String list = packListIntoString();
                    sendData = list.getBytes();
                    DatagramPacket sendPacket =
                            new DatagramPacket(sendData,
                                               sendData.length, IPAddress, port);
                    serverSocket.send(sendPacket);
                }
                
                else if (strs[0].trim().equals("Disconnection Request From")){
                    InetAddress IPAddress = receivePacket.getAddress();
                    int port = receivePacket.getPort();

                    String name = strs[1].trim();

                    if (myPPClientList.containsKey(name)) {
                        myPPClientList.remove(name);
                    }
                    
                    String reply = "You're now disconnected!";
                    sendData = reply.getBytes();
                    DatagramPacket sendPacket =
                            new DatagramPacket(sendData,
                                               sendData.length, IPAddress, port);
                    serverSocket.send(sendPacket);
                }
            }
            
            else{
                System.out.println("Something went wrong trying to process a received message...");
            }
            
        }
        serverSocket.close();
    }