Plassion Leaderboards

A simple way to save/load Leaderboards (Highscores, best marks, ...) in any game with Internet access.

Example of App using this system: Simple Games

To set a record, call:  (with the variables below)

cod = code to write (private)
uid = unique user id, integer (64 bits) [avoid multiple records from the same player]
val = integer (64 bits)
txt = text, up to 32 characters

To get records, call:  (with the variables below)

cod = code to read (public)
qty = quantity of records, up to 100  [1]
sta = starting point  [0 = first]
dtb = datetime begin, yyyy-mm-ddThh:mm:ss  [beginning of time]
dte = datetime end, yyyy-mm-ddThh:mm:ss  [end of time]
typ = h d w m a (last hour, day, week, month, all, they can be used together)  [none]
[* Default values in brackets, if the variable is ommited]

To delete specific records, call: cod

cod = code to manage (admin)
[* There is help on the page explaining how to delete records.]

Some details

- Be sure to use  https  to maintain your  cod  secure.

- POST  is the safer method to set the variables (but GET is also available).

- Since val is an integer, if you want to set/get float values, you have to multiply them by a factor before setting them, and divide the values received by the same factor.
For instance, if you want to save best times with milliseconds (e.g. 25.347s) you can multiply the time by 1000 before setting it (saving it in total of milliseconds) and divide by 1000 when you get the bests times.

- The datetime used is always UTC/GMT. So, if you need to get records for a period of time in a different region, you need to recalculate the datetime in the specific time zone.

- In order to make it harder for a hacker to save cheated records, your game should obfuscate/encrypt the cod and val inside the code.

getrec.php  examples

cod=your cod for get(read)

1) nothing else set [using default values]  ->  Receives only the best (highest or lowest) value ever saved.

2) qty=50&sta=100  ->  Receives the 50 values from positions [100] to [149]. Remember that [0] is the first position.

3) qty=10&dtb=2017-04-01T00:00:00&dte=2017-04-30T23:59:59  ->  Receives the top 10 values of April 2017.

4) qty=3&typ=dwa  ->  Receives the best 3 values of the: day, week and all-time (9 values in total, if they exist of course).

Answer format

The answer is in CSV format: Comma ( , ) separates the fields, and LF (\n) ends each line.

A possible answer for the example 4 above, could be:

Space Invaders Highscores
6040,Mary Ann,2017/06/16T13:40:52
4922,Old Guy,2017/06/16T04:15:13
7076,The Champion,2017/06/12T21:34:02
6040,Mary Ann,2017/06/16T13:40:52
7841,Mary Ann,2016/11/08T10:31:54
7076,The Champion,2017/06/12T21:34:02

Create your leaderboard

Sort order
Tamper protection / Score range  (optional)
Status: ...


If you have any questions, suggestions or comments, send an e-mail to

* Giving attribution is not required, but is greatly appreciated!