the problem with allowing clients to communicate directly with each other for the game is that you will never be able to stop cheating (at least that's what I think you're trying to do, at one point you say the server has a 'game socket channel' and at end you say the server will not have a 'game socket channel')
my server program!
Im sorry for my english, i have now build the first test drives, of my server, im building one socketchannel for client-server messages, like changing room, or main chat, and i will add two socketchannels for games, one fast and one slower, the fast reads nio at only 5-25 ms delay after nio for loop, and the slow game sockets read nio with 50-100 ms delay after for loop, i will later set the presice ms delay for both game socketchannels, i will also study later a bit of the basics of the selectors and iterators.
I currently has no problems with my code, i will use somewhat a 10 threads and 3 socketchannels, and game socketchannels are connected true server, but server wont handle thouee streams, server just directly sends all game socket data to others on the same rooms, so all game time data is handled at the applets.
---