StrangeLoopGames / EcoSuggestions

Repo for storing Eco game suggestions, separate from EcoIssues
35 stars 1 forks source link

Implement remote mod file downloads similar to Valve's sv_downloadurl #1565

Open Darkhand81 opened 2 years ago

Darkhand81 commented 2 years ago

Modded servers are often overstressed in terms of bandwidth when new players connect, during the time in which these players are downloading their copies of the server's mod files. Valve uses a relatively simple solution to combat this, by allowing server operators to remotely host these files elsewhere and having the server direct clients to download from that location automatically.

In the original Source engine, Valve implemented a feature to allow server operators to remotely host mod files on another webserver, to allow faster downloads and take the load off the game server. In Eco terms, this would essentially be a mirror of the 'Mods/UserCode' folder, hosted elsewhere.

A single line in the server's config file would point the connecting clients to this address and allow them to automatically download mod files and maps without bogging down the game server.

ex: sv_downloadurl = [address_of_remote_server/directory]

It would then be up to the server operator to host a copy of the Mods/UserCode directory at this remote location. Anything not hosted at the mirror would be downloaded directly from the server as a fallback.

See https://developer.valvesoftware.com/wiki/Sv_downloadurl for details.

Can something like this be implemented? It would take a huge load off modded Eco game servers.

Thanks!

D3nnis3n commented 2 years ago

Hello Darkhand81, thanks for your suggestion that really sounds like a nice idea. :)

Unfortunately, this tracker is only for bugs and similar issues, while your post is a suggestion, hence I'm moving your ticket to our suggestion tracker.

redwyre commented 2 years ago

This is already planned, mods from mod.io will be able to be downloaded directly. There has also already been an update to mod downloads that reduces the load on the server so other players shouldn't be affected.