Don't you hate it when a save file of just 2 megabytes takes 8 minutes to load? "Why is the brick loading in this game so slow", you wonder. Surely your Internet connection can do it in two seconds.
It is because while loading bricks, Badspot decided to use the game's UDP connection to upload bricks. That is a poor choice for large builds because the game's maximum upload speed is 4 KB/s (limit imposed by Badspot; thank you Badspot). However, a TCP connection has no speed limit. So if you use TCP to upload the data, the only limit is your Internet's upload speed.
There are two approaches to TCP brick uploading:
A third-party server. A player who wants to upload bricks connects to a third-party server, and uploads them. Once that is finished, the third-party server gives the player a URL. The player then contacts the Blockland server and gives it the link. The BL server connects to the third-party one, and sends the URL. Once the third party server gets the URL, the BL server begins to download the save file. Once the DL is complete, the BL server creates the bricks.
A major advantage of this method is that the BL server does not need to run a separate TCP server. The third-party server does that. However, the third-party has the potential to steal the build, and it can take 1-2 seconds for all the coordination between the player, BL server, and third-party server to happen.
The Blockland server itself directly runs a TCP server. In this method, no third-party server is required. That means no coordination is required between the 3 entities, and nobody can steal your builds. However, there may be problems with port-forwarding.
Which approach do you prefer? /discuss.