For almost a year now I've been developing an open-source multiplayer FPS engine, basically with the intention of creating something like the Source engine but in Java, since there didn't seem to be one.
It's called SteveTech1, and it provides all the hard stuff that's need for a multiplayer FPS: networking, collision detection, client prediction, lag-compensation etc... To make a game with it, you'll still need to know how to write a basic game, but all the complex stuff is handled for you.
Here's a few vids of games I've been making with it:-
https://www.youtube.com/watch?v=Yh8YDHI9LiM
https://www.youtube.com/watch?v=Wi43RzP0uBg&t=36s
https://www.youtube.com/watch?v=O-QbPfuOZQ4&t=11s
Full source code can be found here: https://bitbucket.org/SteveSmith16384/s ... rc/master/
I'm also in the middle of writing a tutorial for it, which can be found here: https://multiplayertowerdefence.blogspo ... /home.html
Cheers, and let me know if you find it useful.