Download

Running a Dedicated Server as a leaderboard 24 hours a day, is this common?

Is it common to run a Dedicated Server instance of my game 24 hours a day as a dynamic leader board? So clients just connect to it to get and set data of a leader board array. I know this can be done on PlayFab but my “leader board” logic is pretty complicated and I already have it all working in my Unreal file.

Thanks

Never heard of anyone doing a Unreal server just for a leader-board but I suppose it is possible.
What you really need is a web service with some custom functions but it does require some knowledge beyond Unreal of course so whatever works for you.

It is very normal to run “a server” for a leaderboard 24/7. That’s pretty much the only way to do it. (Although you may choose to use Steam or Epic Games Services or Xbox Live or whatever to run them for you.)

Using an Unreal server to run that function is, however, not a common choice, because the “connect to server” and “disconnect from server” often ends up being very disruptive to flow within the game itself. You can’t join two servers at once, so you can never check leaderboards while also trying to join or play in some actual game instance.

There’s also scalability problems with using unreal networking for something that’s not actual persistent game session. Leaderboards should be hittable by 10,000 people a second using a simple web service – the Unreal server joining system cannot come close to that level of throughput. Of course, if you only ever have 40 players online at once, then that might not matter so much.

Logic being “pretty complicated” for leaderboards is probably a relative term. I would be very surprised if you couldn’t re-write the same logic in PHP or Rust or node.js and it would work fine, and at a fraction of the operation cost and much better scalability. You do, however, still need to “trust the client” unless the outcome of games is separately reported by a trusted game server that you in turn host.

I appreciate the thorough responses, very helpful. At the moment it’s looking like Playfab will cover what I need. I do the “complicated” logic in Unreal Blueprint and then turn the logic (which consists of arrays, structs blah blah blah) and turn it into a long string that gets stored as a key value on Playfab. Then when data is pulled from Playfab it turns the long string data back into the arrays and structs that are used in game. Unfortunately I am not competent enough in PHP, Rust or Node.js to execute the logic I need without cramming knowledge for a couple months at least.

My “Leader Board” doubles as a leader board but also sets a bunch of game play functionality.