Ive updated my post above.
We have never tried Listing the player's name in our ranking while we have our server online back then because we found it a hassle and serves no real purpose.
However, I can understand that you seek uniqueness in this and I dont see a problem with that.
The #2 option I talked about is how I made my Macro for Tantra Surya.
It gets the Player Name via Memory Reading.
You can do the same, read the Player Name from Memory and also its location.
Code:
'## CHAR NAME / ID
Dim char1 = ReadLong(HTLauncher, &H10055978, 4) + &H0
Dim charX = "&H" & Hex(char1)
'string charName
Dim myASCIIStringValue As String = ReadMemory(Of String)(charX, 50, False)
lblCharName.Text = myASCIIStringValue
And then Write it back to your php script using Post method or you can directly write it into your custom database for the online ranking.
With Method #2 you can also record the players Map / Zone his X / Y / Z location.
And you can make your DLL update this live (memory intensive and bandwidth intensive probably) or set it with intervals.
Now if you are planning to build a custom database using MySQL, its a lot simpler.
You can use MySQL connector to set your application to talk to your Sql server.
When your application detects the player is in game, it will update the sql database with its value (Player name, Map, X/Y/Z).
And when it it detects the player is offline or client is close, it will delete the record from your database.
You see, by just doing that alone is a lot of work and pain in the butt and serves little purpose.
That's why its not being prioritize when we were actively developing our custom server.