How can I save permanent data to a dedicated server?

I’m making a multiplayer online game and set up a dedicated server with Windows Server on a remote computer.

I am hoping that I could let players enter their name and password to create their own account and log in, and their information would be saved on the dedicated server. Next time they log in, they will retrieve their info from the server, and every time they use a coin or something, the dedicated server would know that a coin is subtracted permanently and immediately from the correspondent account, and even if the dedicated server is shut down and restarted later the info would still be there.

I have tried MySQL but current methods online are outdated and wouldn’t work. I have tried SQLite but it does not support remote server. I thought of .csv files and “Save Game” functions but it seems that they only work locally, instead of uploading state immediately onto the server.

I made a widget, which will save user data to slot when you enter name and password and click “Create”, but it’ll only save files locally. On a UI panel which is spawned only on clients, I can’t even use custom events to let the server know about new user data.

Could anyone please help me? It should be a basic problem in making multiplayer online games, but I don’t have a clue. Thanks a lot…

It’s definitely not basic problem and you need some knowledge to do it properly, web site programming is specially useful experience here. UE4 don’t provide any solution for that, it prefers developers to use platform OnlineSubsystem to associate with the user and don’t provide any of it own database system as it does not impose anything and be fully empty canvas for use with 3rd party solutions. So you need to do it on your own.

Most importently, you should not let use users connect to remote database directly as “I have tried SQLite but it does not support remote server” seems ot suggest, it’s basics of basics on online database security. Only server should be able to connect to the database and be gate keeper, your user should login using either to UE4 server or your HTTP service and those should then connect to database and check the login. If you consider that, SQLite suddenly becomes viable option, because only server needs it and UE4 provides some SQLite support:

https://github.com/EpicGames/UnrealEngine/tree/f509bb2d6c62806882d9a10476f3654cf1ee0634/Engine/Source/Runtime/SQLiteSupport

As for MySQL you need to use some MySQL library or 3rd party plugin. You can also try to go full HTTP as UE4 provides APIs for that in HTTP module and should be easier to set up

You should familiarize yourself with DB programming. Alternatively, team up with someone who knows their way around databases.

Databases are not a basic problem. They are a HUGE problem.

What methods are outdated?