Hi there! I love your tool, I used it for a couple of jams and it is very easy to implement <3 I referenced you in my itch page.
I only have one question, I'm using v2.8 since may 2024. But there are everyday several periods of 20-40min where the leaderbords won't respond, always from 21.00-22.00 CET, even trying to open them from here (leaderboard-creator) it says "Internal server error". Is it a known issue that you are fixing on the 3.0 or do you know that this is happening?
I mean it is free so no problem, and I also managed those cases from the games, so you can play them without leaderboard, but it's a pitty when some player tells me that couldn't open the game :(
My solution to this was to adjust my game to store a player's personal best, so whenever they open the leaderboards, and the servers are working fine, it'll compare their stored best vs. their uploaded best, and if their store score is better, it'll give them a button to upload their new personal best.
It was originally something I created to allow players to play offline, but upload their score later.
In leaderboard we can upload user's Names but isn't there anyway to upload user's profile pics I mean I saw a variable named Extra but when send my string (basically a base64 string converted from a sprite) but the problem is that the characters of that string are more than 700 but the allowed amount of characters of that Extra variable is 100 I have tried reducing the quality of that sprite and convert it to jpeg instead of png but still the characters are more than 100 What should I do in this case any ideas?
You should not be storing the full sprite in string, you should create some kind of ID for a sprite in a scriptableObject or something and save that in the extras. I created a little class that helps me store data in a single string in a KvP way, hope it helps:
public class SingleStringKvP
{
private readonly Dictionary<string, string> _kvPairs = new();
private const char PairSeparator = ';';
private const char KeyValueSeparator = ':';
public SingleStringKvP(string startingValue)
{
Parse(startingValue);
}
public SingleStringKvP()
{
}
public void AddValue(string key, string value)
{
_kvPairs[key] = value;
}
public string GetValue(string key)
{
return _kvPairs.TryGetValue(key, out var value) ? value : string.Empty;
}
public override string ToString()
{
var builder = new StringBuilder();
foreach (var kvp in _kvPairs)
{
if (builder.Length > 0)
builder.Append(PairSeparator);
builder.Append($"{kvp.Key}{KeyValueSeparator}{kvp.Value}");
}
return builder.ToString();
}
private void Parse(string startingValue)
{
if (string.IsNullOrEmpty(startingValue)) return;
var pairs = startingValue.Split(PairSeparator);
foreach (var pair in pairs)
{
var kv = pair.Split(KeyValueSeparator);
if (kv.Length == 2)
{
var key = kv[0];
var value = kv[1];
AddValue(key, value);
}
}
}
}
I didn't find tutorials online, so I decided to make one. Here you can find the gist: Simple leaderboard in Godot
I will be working on the devlog soon, please let me know in the comments for gist what you want to see in it :)
Also, if you want to secure your leaderboard in Unity to verify that the entries are coming from the game itself and not from POST requests, I've made a devlog describing exactly that:
← Return to Leaderboard Creator
Comments
Log in with itch.io to leave a comment.
Hi there! I love your tool, I used it for a couple of jams and it is very easy to implement <3 I referenced you in my itch page.
I only have one question, I'm using v2.8 since may 2024. But there are everyday several periods of 20-40min where the leaderbords won't respond, always from 21.00-22.00 CET, even trying to open them from here (leaderboard-creator) it says "Internal server error". Is it a known issue that you are fixing on the 3.0 or do you know that this is happening?
I mean it is free so no problem, and I also managed those cases from the games, so you can play them without leaderboard, but it's a pitty when some player tells me that couldn't open the game :(
I see this same issue! Been wondering why it seems to drop for like 30 min a day!
My solution to this was to adjust my game to store a player's personal best, so whenever they open the leaderboards, and the servers are working fine, it'll compare their stored best vs. their uploaded best, and if their store score is better, it'll give them a button to upload their new personal best.
It was originally something I created to allow players to play offline, but upload their score later.
how to show my game leaderboard in itch.io page ?
In leaderboard we can upload user's Names but isn't there anyway to upload user's profile pics
I mean I saw a variable named Extra but when send my string (basically a base64 string converted from a sprite) but the problem is that the characters of that string are more than 700 but the allowed amount of characters of that Extra variable is 100
I have tried reducing the quality of that sprite and convert it to jpeg instead of png but still the characters are more than 100
What should I do in this case any ideas?
You should not be storing the full sprite in string, you should create some kind of ID for a sprite in a scriptableObject or something and save that in the extras. I created a little class that helps me store data in a single string in a KvP way, hope it helps:
Hey devs :)
if you use GODOT, it will also work!
I didn't find tutorials online, so I decided to make one. Here you can find the gist: Simple leaderboard in Godot
I will be working on the devlog soon, please let me know in the comments for gist what you want to see in it :)
Also, if you want to secure your leaderboard in Unity to verify that the entries are coming from the game itself and not from POST requests, I've made a devlog describing exactly that:
Hacking Leaderboard like a PRO
P.S.
Absolutely love this tool :)
Thank you! Found this by your yt video and it was really helpful. Very easy to use and that 1 minute video gives almost all the explanation you need.