private void listen() {
        EIError.debugMsg("Trying to listen...");
        if (serverSocket != null) {
            try {
                serverSocket.close();
            } catch (IOException e) {
                //oh well, ain't no thang
            }
        }
        serverSocket = null;

        try {
            serverSocket = new ServerSocket(port);
        } catch (IOException e) {
            gameController.showMessage("Error", "Couldn't listen on port " + port);
            return;
        }
        EIError.debugMsg("Listening");

        gameController.showMessage("Success", "Waiting for incoming connection...");
        gameController.multiplayerMode = gameController.multiplayerMode.SERVER;

        EIError.debugMsg("Waiting for Connection...");
        try {
            clientSocket = serverSocket.accept();

            DatagramSocket socket = new DatagramSocket(5556);
            System.out.println(port);
            serverReceiveThread = new ServerReceiveThread(registry, gameController, socket, port);
            serverReceiveThread.start();
        } catch (IOException e) {
            gameController.showMessage("Error", "Couldn't accept connection...");
            return;
        }
        EIError.debugMsg("Connected");

        gameController.setNetworkMode(true);
        gameController.showMessage("Success", "Network Connection Established");
    }