Poll

Which instant uploading method do you like?

Third-party server (disadvantage: build stealing)
Direct (disadvantage: port forwarding and firewalls)

Author Topic: Instant .bls uploader  (Read 3267 times)

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.
« Last Edit: May 20, 2014, 08:11:29 PM by Hammereditor5 »

I just switch the temp file out and reload bricks


I love this idea. I am voting for the third party server though.

You'd have to forward an extra port to upload it directly to the server over TCP.

You'd have to forward an extra port to upload it directly to the server over TCP.
You don't have to. You can run a UDP and TCP server on the same port. However, the router may only be forwarding the UDP, and not both.

I just switch the temp file out and reload bricks
Non-hosts usually cannot do this.
« Last Edit: May 20, 2014, 09:44:03 AM by Hammereditor5 »

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 maximum upload speed is 32.7 Kbps. 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.

This is really misleading. UDP has no "speed limit"; if anything, UDP would be faster than TCP. The save file uploading system has an artificial limit imposed from the TorqueScript side.

This is really misleading. UDP has no "speed limit"; if anything, UDP would be faster than TCP. The save file uploading system has an artificial limit imposed from the TorqueScript side.
Changed it. I meant Blockland's limit.

Might wanna change kilobits to kilobytes just to be sure that people actually understand how slow the upload speed is. It isn't 32 kilobytes, it's 32 kilobits, which is 4KB/s.

Also what's up with your mention of build stealing? Seriously I'm absolutely certain we've been over this before if you're worried about build stealing don't host it online.

Might wanna change kilobits to kilobytes just to be sure that people actually understand how slow the upload speed is. It isn't 32 kilobytes, it's 32 kilobits, which is 4KB/s.
I did not make any mistake with my units. But yes, good idea to express the speed in KB/s instead of Kb/s.

Also what's up with your mention of build stealing? Seriously I'm absolutely certain we've been over this before if you're worried about build stealing don't host it online.
There are servers which are passworded and private. If a player decides to use the instant BLS uploaded on it, they have to trust the third party to not steal their build. The file goes through the third party.
Regardless of whether the server is private or public, the build still passes through the third party. There are also no encryption libraries for Torque.
« Last Edit: May 20, 2014, 11:01:28 AM by Hammereditor5 »


I did not make any mistake with my units.
I never said you did, I was just saying that the average person will not understand the severe difference between kilobits and kilobytes and trying to emphasize that severe difference.


There are also no encryption libraries for Torque.

https://github.com/Tungul/Support_Cryptography

Doesn't seem to be in a usable state though.
« Last Edit: May 20, 2014, 11:12:14 AM by portify »