Download skipping and optimization (ideas)

Download skipping:
A) In Options> Multiplayer can we get a checkbox for each kind of file (Textures, Models, Lua, Sounds, Text) or atleast have a choice to only download the Lua (stuff breaks when Lua isn’t downloaded).
B) Be able to specify a max file size where anything above the specified size would be skipped. (download map regardless of setting if available because it may be a map unique to the server)

Download Optimization:
A) Have four parallel downloads: map, models, textures, and everything else
B) Using a tar pipe to stream the files to the client (this avoids having to initiate each transfer). I’m not sure how you would implement this in Garrysmod, but in Linux terminal you would do {tar -cf - [files to be transferred] | ssh “cd [target location];tar -xf -”}.

If the tar pipe idea were used then a lua cache would be redundant because the point of a lua cache was to require only one transfer initiation, which is exactly what a tar pipe would do. Then again a lua cache might still be useful, if it is created once then sent out as needed (rather than created every time a user downloads lua), it would only have to seek one file rather than several.

Edit: I was talking to my dad about tar pipes and he said that netcat could be used for piping too. Example code in Linux terminal:
Client: {nc -l [port] | tar -x}
Server: {tar -cf - * | nc [address] [port]}
Client must start first otherwise it might somehow “work” and only receive part of the tar.

Edit: Heres an example of what I was talking about
The command above the red box is what connects the two, after which I can send messages between them :smiley:
The yellow part demonstrates using a tar pipe to send a folder named “aircrack” (for getting the key to a WEP based router).

No responses? I was expecting to at least be trolled by someone claiming that tar pipes are too complicated.

Ok I see that you wanna re-present yourself as leet an all, but I suggest you move on to this instead of shitty tar pipes. Also keeping an port open on the clientside is stupid and messy for this to work.

Forgot about this thread for awhile… I wasn’t trying to show off or anything like that, I just like to muck around in Linux and thought this would be useful for Garrysmod. I think I saw your thread once before and its a great idea for maps, but it doesn’t help with the small files. Using a pipe probably wasn’t that great of an idea, but tarring all the small files then sending the tar would avoid a lot of ip overhead, which I believe would decrease download time substantially.

Hey what about having the OPTION to open a port and use the extra functionality to get better performance? Optional things are always good :stuck_out_tongue: