Hi there! Thanks for working on this awesome project and making it freely available! I'm currently working on implementing it into a game and it's working perfectly so far. However, I'm at a point where I'm wondering if there's any way to remove entries in code? For potential GDPR reasons I want to give players a way to remove all of their data. Thanks!
Understood. We've decided to go ahead with using your tool anyways in our game BusCity, the update should be rolling out this week for Android and IOS! Thanks again!
This looks like an interesting tool. Really cool work!
I'm interested in using it, but I have some of questions I hope you can help clarify:
About Limits:
1. Is there a maximum number of entries per leaderboard? What happens when the limit is reached? Do older/lower score entries get replaced?
2. Is there a maximum number of leaderboards I can create?
3. Is there a maximum number of entry submission requests per second? For example, if there are 10 different players who submit in the same second, will only the first be processed and the rest dropped? Is there a way to catch this error so that the game can retry submitting automatically a few seconds later?
4. Is there a limit to the number of times a client can retrieve the leaderboard data per hour/day/month? (I'm specifically thinking of data usage limits)
About Functionality:
5. Is there a way to retrieve only a range of entries from the leaderboard or does it always fetch the full data table? For example, if there are 10k entries but my game only displays the first 100 (so it's a waste to download all the data). Or if I want to use paging to display 20 entries per page so that only those entries are fetched from the server for a quicker app response time.
6. Is there a way to fetch the rank position of a specific player in the leaderboard without downloading the whole data table? For example, just querying for username + publickey and getting an int with the player position as result or -1 if the player was not in the leaderboard.
About Reliability/Accessibility:
7. Regarding service reliability, is the cloud provider running servers in a central location or does it have server farms in multiple locations globally? You don't have to specify where exactly but a region name would help if possible (America, Asia, Europe)
8. Are there any regions blacklisted or blocked from accessing the service? My games have players from all around the world, so it would be unfair/troublesome if some of them were not allowed to use the leaderboard.
Hey, thanks for giving it a shot I appreciate it. Here are the answers listed to your questions:
About Limits:
1. Is there a maximum number of entries per leaderboard? What happens when the limit is reached? Do older/lower score entries get replaced?
There is currently a max of 100 entries per leaderboard, new scores beyond this limit will be added in to their appropriate position, and the score at the last position is deleted. This limit may be changed in the future!
2. Is there a maximum number of leaderboards I can create?
Currently, no.
3. Is there a maximum number of entry submission requests per second? For example, if there are 10 different players who submit in the same second, will only the first be processed and the rest dropped? Is there a way to catch this error so that the game can retry submitting automatically a few seconds later?
In that scenario each request will be processed one after another regardless.
4. Is there a limit to the number of times a client can retrieve the leaderboard data per hour/day/month? (I'm specifically thinking of data usage limits)
No.
About Functionality:
5. Is there a way to retrieve only a range of entries from the leaderboard or does it always fetch the full data table? For example, if there are 10k entries but my game only displays the first 100 (so it's a waste to download all the data). Or if I want to use paging to display 20 entries per page so that only those entries are fetched from the server for a quicker app response time.
6. Is there a way to fetch the rank position of a specific player in the leaderboard without downloading the whole data table? For example, just querying for username + publickey and getting an int with the player position as result or -1 if the player was not in the leaderboard.
(Answering both questions) Not yet, as the max amount of entries per leaderboard is 100. Looking forward to adding more query options in the future.
About Reliability/Accessibility:
7. Regarding service reliability, is the cloud provider running servers in a central location or does it have server farms in multiple locations globally? You don't have to specify where exactly but a region name would help if possible (America, Asia, Europe)
The server is cloud-hosted and is the in the region of Europe.
8. Are there any regions blacklisted or blocked from accessing the service? My games have players from all around the world, so it would be unfair/troublesome if some of them were not allowed to use the leaderboard.
Not that I am aware of, it should be available from anywhere.
UNity's giving me an error: "The name "JsonConvert" does not exist in the current context. Also, is there any way to get just the "Rank" value or is that the Entry index?
Welp, I'm too noob and I can't figure out how to get Newtonsoft. Clicking your link takes me to a Unity Manual. Clicking that takes me to another one. Link there takes me to Json.Net. CLicking "Download" gives me two options that I can see, none of which I know what to do with, really. I go to Rider and there's an option there to install Newtonsoft.Json, which I did, but it doesn't fix the problem.
Hey, me again! I really don't want to bother other devs so I plugged away at this for several days but it I can't seem to get it to upload more than one entry in my leaderboard.
I have a script that only uploads an entry if no similar score exists. Every thing's fine if the leaderboard is empty. However, if there's already an entry, a new entry doesn't seem to get uploaded.
What happens is when I get a new score the script runs UploadNewEntry . I get a "successfully uploaded entry data" message. I then run GetLeaderboard to fetch the new entry. I get a "Successfully retrieved" message but no new entry actually appears.
When I clear the leaderboard and run the script again, the new entry appears but no new ones will.
At the moment there is not. However I am planning to update this application further down the line, and add a way to delete entries. In the meantime, you can send me your leaderboard details and the entry to delete if you want to delete and entry.
Hey, just wanted to let you know, I updated this tool. You can now migrate your old leaderboards (if you had any), to this new version of the tool and have more control over your leaderboards.
← Return to Leaderboard Creator
Comments
Log in with itch.io to leave a comment.
Hi there! Thanks for working on this awesome project and making it freely available! I'm currently working on implementing it into a game and it's working perfectly so far. However, I'm at a point where I'm wondering if there's any way to remove entries in code? For potential GDPR reasons I want to give players a way to remove all of their data. Thanks!
Hello, thanks for trying it out! As of now, there is no way to delete entries through code, but I will look forward to adding this feature soon.
Understood. We've decided to go ahead with using your tool anyways in our game BusCity, the update should be rolling out this week for Android and IOS! Thanks again!
This looks like an interesting tool. Really cool work!
I'm interested in using it, but I have some of questions I hope you can help clarify:
About Limits:
1. Is there a maximum number of entries per leaderboard? What happens when the limit is reached? Do older/lower score entries get replaced?
2. Is there a maximum number of leaderboards I can create?
3. Is there a maximum number of entry submission requests per second? For example, if there are 10 different players who submit in the same second, will only the first be processed and the rest dropped? Is there a way to catch this error so that the game can retry submitting automatically a few seconds later?
4. Is there a limit to the number of times a client can retrieve the leaderboard data per hour/day/month? (I'm specifically thinking of data usage limits)
About Functionality:
5. Is there a way to retrieve only a range of entries from the leaderboard or does it always fetch the full data table? For example, if there are 10k entries but my game only displays the first 100 (so it's a waste to download all the data). Or if I want to use paging to display 20 entries per page so that only those entries are fetched from the server for a quicker app response time.
6. Is there a way to fetch the rank position of a specific player in the leaderboard without downloading the whole data table? For example, just querying for username + publickey and getting an int with the player position as result or -1 if the player was not in the leaderboard.
About Reliability/Accessibility:
7. Regarding service reliability, is the cloud provider running servers in a central location or does it have server farms in multiple locations globally? You don't have to specify where exactly but a region name would help if possible (America, Asia, Europe)
8. Are there any regions blacklisted or blocked from accessing the service? My games have players from all around the world, so it would be unfair/troublesome if some of them were not allowed to use the leaderboard.
Thank you for your time!
Hey, thanks for giving it a shot I appreciate it. Here are the answers listed to your questions:
About Limits:
1. Is there a maximum number of entries per leaderboard? What happens when the limit is reached? Do older/lower score entries get replaced?
There is currently a max of 100 entries per leaderboard, new scores beyond this limit will be added in to their appropriate position, and the score at the last position is deleted. This limit may be changed in the future!
2. Is there a maximum number of leaderboards I can create?
Currently, no.
3. Is there a maximum number of entry submission requests per second? For example, if there are 10 different players who submit in the same second, will only the first be processed and the rest dropped? Is there a way to catch this error so that the game can retry submitting automatically a few seconds later?
In that scenario each request will be processed one after another regardless.
4. Is there a limit to the number of times a client can retrieve the leaderboard data per hour/day/month? (I'm specifically thinking of data usage limits)
No.
About Functionality:
5. Is there a way to retrieve only a range of entries from the leaderboard or does it always fetch the full data table? For example, if there are 10k entries but my game only displays the first 100 (so it's a waste to download all the data). Or if I want to use paging to display 20 entries per page so that only those entries are fetched from the server for a quicker app response time.
6. Is there a way to fetch the rank position of a specific player in the leaderboard without downloading the whole data table? For example, just querying for username + publickey and getting an int with the player position as result or -1 if the player was not in the leaderboard.
(Answering both questions) Not yet, as the max amount of entries per leaderboard is 100. Looking forward to adding more query options in the future.
About Reliability/Accessibility:
7. Regarding service reliability, is the cloud provider running servers in a central location or does it have server farms in multiple locations globally? You don't have to specify where exactly but a region name would help if possible (America, Asia, Europe)
The server is cloud-hosted and is the in the region of Europe.
8. Are there any regions blacklisted or blocked from accessing the service? My games have players from all around the world, so it would be unfair/troublesome if some of them were not allowed to use the leaderboard.
Not that I am aware of, it should be available from anywhere.
Let me know if you have more questions!
Thank you for your answers!
Now I have a clear picture of the service capabilities!
Probably a stupid question, do I need to use TMP or can I stay on Legacy Text for this to work?
You can use either, it does not matter
Thanks bro. This leaderboard is just what I needed for my game. I will 100% add you to the credits.
Hey, Noob here. Do you know if this will work with an iOS game?
Hey, I'm pretty sure it should work on iOS since it works both on WebGL and Android devices
I know it's a big thing to ask, but can you share the backend source code so that we can run our own custom servers?
Maybe some time later ;)
Hello, when will the server be back online. Or am i missing out something
It should be online, maybe try connecting with a VPN?
UNity's giving me an error: "The name "JsonConvert" does not exist in the current context. Also, is there any way to get just the "Rank" value or is that the Entry index?
Oh, I forgot to mention that you need to import the Json converter from Newtonsoft: https://docs.unity3d.com/2019.4/Documentation/Manual/com.unity.nuget.newtonsoft-...
I might update the download file and include Newtonsoft.Json with the Unity package.
The rank is the entry index, I should've pointed out that the entries are returned in a descending order by score.
Welp, I'm too noob and I can't figure out how to get Newtonsoft. Clicking your link takes me to a Unity Manual. Clicking that takes me to another one. Link there takes me to Json.Net. CLicking "Download" gives me two options that I can see, none of which I know what to do with, really. I go to Rider and there's an option there to install Newtonsoft.Json, which I did, but it doesn't fix the problem.
Well that did the trick! And now I feel silly for forgetting about adding packages that way...
Hey, me again! I really don't want to bother other devs so I plugged away at this for several days but it I can't seem to get it to upload more than one entry in my leaderboard.
I have a script that only uploads an entry if no similar score exists. Every thing's fine if the leaderboard is empty. However, if there's already an entry, a new entry doesn't seem to get uploaded.
What happens is when I get a new score the script runs UploadNewEntry . I get a "successfully uploaded entry data" message. I then run GetLeaderboard to fetch the new entry. I get a "Successfully retrieved" message but no new entry actually appears.
When I clear the leaderboard and run the script again, the new entry appears but no new ones will.
OK. I think I found the issue. It won't upload a new value if the username is already in the leaderboard. I tested it here and in my script.
Just to note, the score will only get uploaded and submitted if its higher than the previous one in the leaderboard.
Is there a way to remove entries?
At the moment there is not. However I am planning to update this application further down the line, and add a way to delete entries. In the meantime, you can send me your leaderboard details and the entry to delete if you want to delete and entry.
Hey, just wanted to let you know, I updated this tool. You can now migrate your old leaderboards (if you had any), to this new version of the tool and have more control over your leaderboards.
Awesome !!! Just wondering, where is the data stored ?
Thanks! The data is stored in a cloud database.