I'm programming a game just for a hobby and to further my understanding of java a bit. I finished the tile editor for the game but here is my idea. I have a Map object which is a 2d array of tile objects. I then have a World object which is a 2d array of maps. This object contains all of the map data i would ever need for the game. When a user logs into my game I want to retrieve a few things from a server and i believe a database is the way to go. I want to retrieve the world. I want to retrieve their account data. I was thinking of using 1 object that holds all of their character data and preferences. And i want their inventory to be integers that are just reference IDs so that i can pass the reference ID's to the database and populate the item objects with their respective data.
So i need to do 3 things upon successful login: Retrieve the world. Retrieve character data. Poll the database with reference IDs and populate the inventory. I was thinking of keeping the item database clientside but i dont want it to be edited thus allowing people to change the properties of items. If that means it has to be serverside than so be it.
I dont want anyone to do this for me but i am unsure on what type of server or libraries to use to achieve this goal. The server and database needs to handle a multitude of simultaneous logins.