Web Admin Panel Thoughts

I want to create a web admin panel for my game, but I’m not sure how to make it work, since (I think) HttpService is one-way only.

This web panel would allow moderators to ban players from the game for certain time lengths.

To be clear: I’m not asking for code. I’m asking for how someone experienced would go about doing this – please note that I’m a novice web scripter but a bit better in Lua.

2 Likes

At a bare minimum you would implement what is called long polling in your Roblox game. Essentially what this does is your game will, in a loop, constantly call to your webserver waiting for a response. In long polling your webserver is expected to not respond to the request and let it timeout if there is nothing to respond with.

Anything you submit on your admin panel should then check for any requests waiting from the long poll and give them a response.

6 Likes

It’s possible due to some games using trello as their admin panel.

But neither I know how you would do this.

1 Like

Trello isn’t really used so much as an admin panel, rather it’s used as a database for storing permissions tables outside of the script so that the owner and other users may change admins or add bans or whatever without updating the actual game.

It’s worth noting that Trello isn’t meant to be used as a database, so using it to store external lists like that is not proper use of the product. Trello also becomes very slow once you start adding a mass of cards… iirc the speed is O(n^2) (which is terrible - most databases are O(log n)).

5 Likes

What I mean by that is that some games use something that they call Trello admin.

1 Like

That’s the same concept I described. It’s not really “Trello admin”, rather than it is storing tables outside of the engine and pulling them in via a GET request so that the game doesn’t need to be updated in order to update various admin configurations.

It’s convenient and you as the user are deciding how you use that product, however that is not the intended use of Trello.

2 Likes

I know it isn’t the intended use of Trello.

What would be the most efficient language to use in order to facilitate easy web-game communication?

You might, but others may not. That’s why I said it, for the sake of clarification. Remember that others also read these threads, discussion isn’t just between us.

Subtle reminder about adding empty replies to threads that don’t contribute to discussion - please try to remain on discussion.


@Deferend From my experience, by far one of the most popular languages for setting up web servers is Node.js. I’m personally taking a dive into it as well.

Just to be clear when you say web-game: do you mean web to game explicitly, game to web or both? For the former, you’d have to perform some kind of polling on your server since you can’t send requests to Roblox servers directly.

3 Likes

If I were to make an admin panel for my game, I’d totally go for Node.js, As well as long polling which @NovusTheory mentioned. Likely though I’d go for express. Express is lovely. That and socket.io which is irrelevant to this post but I couldn’t help but plug it.

Now that I mentioned it I wonder if using Electron in combination would allow me to make an application that opens up the admin panel. The possibilities are endless really. The more disappointing part of all of this is that the implementation could be much easier had we the ability to send data through web hooks / web socket to our servers.

As everyone else said, I’d recommend against using Trello… for anything Roblox related other than project management. For more than obvious reasons.

Hope you’re able to make something great. Let us know if you do. #help-and-feedback:cool-creations Would be a great place to put it.

3 Likes

I mean web to game, but I could store bans off-site? At that point, I’d just need to make a web call each time someone joins.

You can absolutely store bans off-site. I probably wouldn’t recommend doing calls each time they join. But honestly I wouldn’t recommend doing a full load of all bans when a server start either.

You’re probably right about doing the check when a person join. I mean there’s a physical limitation to how many times they can join in a matter of minutes. I might be overthinking it. My first priority when building an API is to prevent all the ways it can be abused because those calls can add up to be expensive.

Though depending on how you’ll be hosting your admin panel you should be fine.