That's awesome! Just a few things to keep in mind (not sure if you've already covered them):
1. Use a database for storing information (MySql, Postgres, and MongoDB are all good options).
2. DO NOT STORE PASSWORDS IN PLAINTEXT. You'll want to hash and salt the passwords using a secure algorithm (i.e. bcrypt).
3. I recommend reading up on various security methods. Computerphile has a ton of good videos on network security.
4. Remember to never trust the client. Seriously, never trust it. The server should make all decisions.
I know my "tips" were uninvited and I may even come off as arrogant by putting them in this post (a sort of backseat programming) but I feel as they are relatively important, even for the initiated. I see way too many projects inspired by Eclipse Origins ignore the aforementioned things; instead opting to store data in raw files (without a database engine), exposing passwords in plaintext, and disregarding security. Note: I am not intending to be a backseat programmer, just offering my insight.
Lua sounds really cool. I've enjoyed integrating it into my games before. However, I am not sure whether the Lua support in Java is all that good. NLua for instance, while it is easy to use and fairly powerful, it is also pretty slow. That is not to say that you can't do Lua in Java because you certainly can. Just don't make the mistake of doing too much in Lua. I've done that before and it killed performance. I like to use Lua for scripting gameplay behaviour/logic.
In any case, your progress has been stellar and I wish you the best of luck! If you need any good multiplayer programming resources, hit me up, I have a ton of books and resources I can recommend.