![]() |
Public Blob CDN - Printable Version +- Blockland Fan Forums (https://forum.bcs.place) +-- Forum: Blockland Forums (https://forum.bcs.place/forumdisplay.php?fid=1) +--- Forum: Tools and Resources (https://forum.bcs.place/forumdisplay.php?fid=3) +--- Thread: Public Blob CDN (/showthread.php?tid=24) |
Public Blob CDN - Eagle517 - 02-08-2025 Back in January I setup a bot that periodically goes through servers and collects their blobs. These blobs are uploaded to a Storj bucket and accessible via http://blobs.bcs.place. The homepage just shows basic information such as how many blobs are available, but if you want to test it here's a link to base/data/shapes/empty.dts. What's the point? Servers have two ways of sending content to clients, either via a CDN (https://cloudf.blockland.us by default) or directly from the server. Sending content directly from the server is the fallback approach if the blob is not available on the CDN and is unfortunately very slow, as the packets are limited to 200 bytes/tick or so. This leads to long loading times on servers with a lot of custom content. Content sent via a CDN is a lot faster and can speed up load times by 4-7x depending on the average size of your server's blobs. As an example, loading times for BCS dropped from 13 minutes to 2 minutes once we implemented our own CDN (a ~6.5x improvement on a fresh install). What's wrong with the default CDN? The default CDN does not appear to be maintained by Badspot anymore, so it's missing a lot of blobs you encounter nowadays. And funnily enough, custom content has grown quite a bit in the past few years. Servers like Eventide, BCS, AoD, and Farming have a significant amount of custom content that isn't captured in the default CDN. What's the solution? Some time ago, Queuenard made Support_CustomCDN. This add-on enables servers to define what CDN clients should use, and clients with the add-on will make use of that CDN. This is great, but it puts the onus of hosting the CDN on the server host. A lot of hosts shy away from it because of the complexity/costs/etc. that come with setting one up and maintaining it. The purpose of my CDN is to make it as painless as possible. The host has to do nothing outside of configuring the add-on to point to my CDN and just wait for my bot to stop by and collect their blobs. I also made an add-on to make CDN configuration/management a bit simpler for hosts, Server_BlobCDN. This adds RTB/Glass preferences and fallback mitigations should the CDN ever go down. It's optional, the only required add-on is Queuenard's. Why am I doing this? I like Blockland, and I want to encourage content creation without hosts worrying about loading times. The cost of running this is less than a Netflix subscription and gives me more enjoyment. I intend to keep it going until Badspot pulls the plug on the game, assuming no one is around that can plug it back in somehow. Some footnotes The bot is capable of automatically joining all public servers and collecting only blobs it has not encountered before. It is capable of joining passworded servers should the host provide the password to me. The upload process for the blobs is automatic but requires manual intervention should any upload fail. I also manually activate the bot when I think it's a good time to collect blobs. I would like to get it fully automated, and have it be proactive/focused in its blob gathering by scanning the server list for new servers occasionally along with a daily scheduled time. If you need help configuring Support_CustomCDN or notice an issue, just let me know. |