[Working on] Manage Users, Authentication, Inventory, Shop, and more with PHP

Hello, this is the first time i’m posting here, hello everyone!
using the LE Http Request Plugin (but i think it works also with VaRest) i am developing a PHP Backend for handle user information, inventory, custom data, buyed item and more.
Something like a private Cloud Save for saving any information you want/need, but also for user registration, login and so on.

Concept
Editor Side: from the Unreal Engine 4 editor you can send request over HTTP with SSL to PHP “Backend” using LE Http Plugin (or using VaRest)
Note: i don’t have right now the money needed for the Encryption Library, but in future i want to implement it.

The request are sended using a Secret Key, SSL and POST {GET = internal testing only}

Backend View:
Requested will be processed, so is possibile to retrieve, update and also delete data from MySQL/MariaDB Database

Usage/Concept Example

Retrieve Username with UserID

UE4 Request

Reply

Retrieve Inventory List with UserID

This is actually in development, if you’re interested in this i can release it when is complete, if you have any suggestion about it let me know!


This list will be updated frequently || Last Update: 10 February 2018

– Current Status –
Actually implemented functions:

  • UserAuthentication [Login and Registration] using bcrypt hash
  • UserData [Retrieve, Update and Remove]
  • UserInventory [Retrieve, Update, Add and Remove]
  • UserOwnedShop [RetrieveAll, Retrieve, Add, Remove]

Change

  • Optimization in Database class library
  • SQL Injection “100% bullet-proof” query and code method [Additional Security]
  • Optimized code and fastest query execution
  • Added STEAMID value in Database for Authentication trought STEAM

To Do Next

  • Working On: Additional Functions
  • Future: Encrypted request and reply [Additional security layer concept]
  • Testing: Change to Percona Server from the standard MySQL or MariaDB [fastest response time for query execution]
    – Current Status –
1 Like

Subscribed, will be interesting to see where it goes

    • Some Update - -

Update 11 February:

  • Changed the database table name from users to accounts
  • Added Steam Authentication / Registration function when SteamID and Username are sended:
    Auth_Steam

Update 10 February:

  • Added bcrypt hashing for User Authentication [Login and Register]
  • Added STEAMID value in Database for Authentication trought STEAM [No Registration needed here, just save the SteamID the first time and check it for automatic login later]
  • Added RetrieveAll method for User_OwnedShop

Update 09 February:

  • UserAuthentication [Login and Registration]
  • UserData [Retrieve, Update and Remove]
  • UserInventory [Retrieve, Update, Add and Remove]
  • UserOwnedShop [Retrieve, Add, Remove]
  • Optimization in Database class library
  • SQL Injection “100% bullet-proof” query and code method [Additional Security || internal purpose only]
  • Optimized code and fastest query execution

I’ve updated a lot from yesterday…and it’s starting to work!

Actually tested: RetrieveCredits and UpdateCredits in real time, the changes of the value are immediate, also if edited via Database.
(Note: The events suppose that you already logged in and pass an Username Value, offcourse…)

Some image:

Retrieve Credits

Update Credits

Retrieve Credits after using Update Credits

Database Value with RetrieveCredits

Database Value after UpdateCredits

EDIT:
I have fixed the code and also starting implementing Anti-Cheat value edit with comparison from the Database.

Keep up the good work

Would be interested in this. I am trying to setup a user login and then access other tables on the server associated with that user and display the results in various tables on UE4. Hope this can do that.

I also have some interest on this, if it’s possible to have a look on blueprints, Keep up work men !