Max amount of bytes that can be sent&received via HttpService?

I can’t seem to find it on the wiki :confused:
If you find it empirically, could you also paste the code you used?

Thanks

3 Likes

Why do you want to know the limits? We don’t impose any artificial constraints so any limits you run into will be due to the underlying HTTP libraries or real world network conditions.

8 Likes

Knowing the limits would help me determine whether I should invest the time into learning about webservers and money into hosting my own instead of using Roblox datastores because the ~32 kb limit won’t be enough to save big bases for my new game

2 Likes

You get 260,000 characters per key (that would be comparable to 250kb, not 32, but talking about this in such units makes no sense because you can only store text). Surely that should be enough for most use cases if you are a bit careful with how you format the data?

2 Likes

i thought you can’t save every char to the datastore (only like 64-80 of the 256?) so its not 250kb

I remember for my game Hotel Empire I initially released with support for up to 100 floors (each floor has rooms(some multistory which may be the size of houses) that are decorated the same but each floor can be different from the others) but this proved impossible because of the datastore limit so I had to lower the max floors to something like 20 (and for only very specific hotels too). I could only save around 2000 buildings at once using a bitbuffer(I did allow rotating in 15 degree increments, placing on top of other objects with a .1 increment,and recoloring to around 8 different unique brickcolors)… this was a huge problem even at 10 floors because it meant players could only have 200 buildings per room(and I got many complaints about that)

So sure in most cases but my use case of saving big bases is probably infeasible with Roblox datastores (and if I ever do remake Hotel Empire-I thought it was a wonderful game-then I definitely need more than 32kb)

From a personal use, I try to use datastores most of the time. If it’s just saving/loading data once per player then you can use datastore, and try to reduce the data through arrays and json encodes.

I personally use httpservice when I want stuff to go fast in the exchanges: for example a trading system, and the exchanged data between two players. I need the data to instatly go in eachother’s inventory. And it can have many trades/minutes on a server.

1 Like

I vaguely remember every Http request via the service was capped at 1MB. Does that not exist anymore?

Hi! So i stumbled on this issue a while back and looked everywhere for a solution. It looks like Roblox does cap the amount of data sent out as i have tested the backened through 3rd party apis and it is able to receive the data just fine without any errors. I have since implemented a workaround which i think might help people here.

Basically, i created a function that splits the string to 600kb or whichever length we decide. Based on some tests i did with my implementation, the cap is at around 650kb rather than 1024kb shown in the error:
c21ca747fd585c49bf21ac48ef86d8f56c863cc5

The function simply creates and Array of string which you can then send through the Http POST request as long as your backend is able to handle split data. How we did it is we sent an argument to the server that it checks if it’s split data, if so it appends the data to a file, if not it just completely overwrites it.

Just re-read the comments above. The limit is from the HTTP library itself… not an artificial limit imposed by Roblox.

6 Likes