Just one thing after another with me... but as long as it's helping:

I noticed that even if you call shutdown for the server and clients, it doesn't close any of the channels or ports. So, if you don't completely shut down the JVM before trying to restart a server instance, you get something like this:
Unable to bind to UDP port: 27995, trying: 27996.
java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.DatagramChannelImpl.bind(Unknown Source)
at sun.nio.ch.DatagramSocketAdaptor.bind(Unknown Source)
at com.captiveimagination.jgn.UDPMessageServer.init(UDPMessageServer.java:49)
at com.captiveimagination.jgn.UDPMessageServer.<init>(UDPMessageServer.java:33)
at jgnnetworkers.DGServer.<init>(DGServer.java:60)
at mainmenu.MainMenu.startServerSystem(MainMenu.java:827)
at mainmenu.MainMenu.begin(MainMenu.java:609)
at mpgame.MPGame.exittomainmenu(MPGame.java:2726)
at mpgame.MPGame.mousecheck(MPGame.java:2588)
at mpgame.MPGame.gameloop(MPGame.java:567)
at mpgame.MPGame.begin(MPGame.java:245)
at mainmenu.MainMenu.begin(MainMenu.java:619)
at mainmenu.MainMenu.splashscreen(MainMenu.java:442)
at mainmenu.MainMenu.main(MainMenu.java:1645)
Unable to bind to UDP port: 27996, trying: 27997.
I remember having this same problem with my code (as the TCP standard coupled with some funny Java ideas keeps the channel open). I just had to check if the channels were already initialized on server startup, and if they were, tell it to use the ones that were already there.