Get Mod very slow

Discussion in 'Hosting Help' started by zackspeed, Jun 9, 2014.

  1. zackspeed

    zackspeed Registered

    Joined:
    Apr 12, 2014
    Messages:
    73
    Likes Received:
    0
    Hi there,

    i do host a dedicated server on a root and as a client i can download the vmod (about 600 MB).
    But the speed of the Get Mod ist very slow (~ 3000 kbit/s).

    Is it possible to speed this up?
    And when, how?
     
  2. Denstjiro

    Denstjiro Registered

    Joined:
    Oct 6, 2010
    Messages:
    2,952
    Likes Received:
    14
  3. Noel Hibbard

    Noel Hibbard Registered

    Joined:
    Oct 5, 2010
    Messages:
    2,744
    Likes Received:
    40
    The race server was never really intended to host content. It was really only intended to host the vmod. Content should be hosted on a 3rd party webhost. The reason it is so slow is because it doesn't want to steal bandwidth from the netcode. If you want it to download faster then you will need to host your content somewhere like Dropbox.

    Check out this thread:
    http://isiforums.net/f/showthread.php/19702-GetMod-Manager?p=271771&viewfull=1#post271771
     
  4. SPASKIS

    SPASKIS Registered

    Joined:
    Sep 7, 2011
    Messages:
    3,155
    Likes Received:
    1,426
    In our case it wouldn't make any difference since we host downloads in the same server. It would be nice to configure it in order to have full speed as long as server is running in practice session. Dropbox accounts are not functional for our community due the huge space required that we are not willing to pay for. We have plenty of space to host in our server. ISI please, make this configurable in the multiplier.ini

    enviado mediante tapatalk
     
  5. zackspeed

    zackspeed Registered

    Joined:
    Apr 12, 2014
    Messages:
    73
    Likes Received:
    0
    I found in the multiplayer.ini the line:
    "HTTP Server Send Rate="-1" // EXPERIMENTAL Data rate (kilo bits per second) at which internal HTTP Server will delivery content"
    And i set the rate to 10000. But it didnt work.

    It would be a great avantage to do this at one location.
    The server has the mods (downloadet and maybe chanced) and build a vmod of these for client download.
    And rFactor (get mod) knows the position of these mods (i.e. rfactor\packages).
    This was a great solution.

    There isnt a bandwith problem, if one can use the above send rate setting.
    For a simple example a league with 24 Racers: If one of them hasnt the mod, he must download it and cannot race. And if all 24 Racers are driving on a track, no download is necessary any more.
     
  6. Noel Hibbard

    Noel Hibbard Registered

    Joined:
    Oct 5, 2010
    Messages:
    2,744
    Likes Received:
    40
    The game only throttles it's built in HTTP server. It isn't capable of throttling a 3rd party server (Example Apache or IIS) even if it is running on the same server as your rF2 Dedi. The QoS that ISI is doing on it's own built in HTTP server is fully automatic. But as I said, you really shouldn't be hosting content on the built in server. It just wasn't intended to be used that way. A vmod is only 50kb or so. So throttling something so small isn't really a big deal. The vmod contains the URLs to download the content from another webserver. You don't have to use Dropbox, it's just one of many options. Mediafire will work perfect soon and it only costs $24.99 a year and they give you 1TB of storage and 1TB of monthly bandwidth (they even let unused bandwidth roll over to the next month). MF is very fast too. But there is nothing stopping you from running IIS (included for free with windows) on your dedi server and linking your content to that. Just be sure you have the bandwidth to do this. No one likes to see cars warping all over the track. You can do your own QoS to keep IIS from consuming all of your bandwidth. This isn't ISI's job.
     
    Last edited by a moderator: Jun 9, 2014
  7. Noel Hibbard

    Noel Hibbard Registered

    Joined:
    Oct 5, 2010
    Messages:
    2,744
    Likes Received:
    40
    So install IIS and make a virtual directory that points to your Packages folder. Then use my GetMod service to link all your components to your own webserver.

    Here is an example of why you don't want a wide open HTTP server that can consumes all of your bandwidth. Say you have a 24 hour race going on and 40 drivers are already online and one of the teams is about to do a driver swap. The second driver joins as a spectator and doesn't have all of the latest components. So it starts downloading without any bandwidth cap. Now you have 40 guys warping all over the track while this guy downloads the new components. Our race server has 200MB of bandwidth but we still don't want to allow content to be downloaded from it. It's just not worth the risk.

    This may fly for a smaller league that doesn't have access to a dedicated webhost or a Mediafire account.
     
  8. SPASKIS

    SPASKIS Registered

    Joined:
    Sep 7, 2011
    Messages:
    3,155
    Likes Received:
    1,426
    I am sorry but I dont know the difference between servers. I'll forward this message to lagg that will better understand. Thanks for explaining.

    enviado mediante tapatalk
     
  9. zackspeed

    zackspeed Registered

    Joined:
    Apr 12, 2014
    Messages:
    73
    Likes Received:
    0
    This makes me sad.

    You can download the whole mod, but very slow. In my eyes, a half backet solution.
     
  10. Noel Hibbard

    Noel Hibbard Registered

    Joined:
    Oct 5, 2010
    Messages:
    2,744
    Likes Received:
    40
    Did you not read my posts? It isn't half baked at all.



    Read the video description. GetMod took 7 secs longer to download a 350MB track than it did via the same Mediafire link in Chrome.
     
    Last edited by a moderator: Jun 11, 2014
  11. zackspeed

    zackspeed Registered

    Joined:
    Apr 12, 2014
    Messages:
    73
    Likes Received:
    0
    I think the video above shows a vmod which doesnt include the whole mod, one have to download the mod (track) from mediafire.
    This is not, what i am talking about.

    I got a download speed of ~3000 kbps. For the Mod (~600MB), i need more than 3 hours to download the mod.
    That is slow, very slow.
    The Get Mod can serve the whole Mod (600 MB) but in very slow motion.
    This is the point i am talking about. And this point is half backet.

    There is no need to make it so complicated (upload the mod at mediafire and have to pay money for, get your tool to change the urls and so on), all Files are already on the server and can serve by get mod and do serve by get mod.
    The only thing isi have to do is to let the parameter from the mp.ini (HTTP Server Send Rate) work. And all will be fine.

    If you never ever really willing to do serve a whole mod with Get Mod, so remove this feature from the MAS2.exe. And it will be anymore half backet.
    But i think a better way is, let it work with speed. You can handle bandwith probs, see my wish.

    Sorry, but this make me a bit sad.
     
  12. Noel Hibbard

    Noel Hibbard Registered

    Joined:
    Oct 5, 2010
    Messages:
    2,744
    Likes Received:
    40
    Correct. I am using GetMod the way it was designed to be used. The internal server is only intended for small xfers like the skins, vmod and stuff like that. Sure you can put full content in the rfmod and serv it on the internal server but it will never be fast because your using it for something it wasn't designed to do. Why even bother hosting that way if the right way is so easy?

    If ISI opens up the QoS config you will see tons of people saying, "ISI's netcode sucks... cars are always warping all over the place. I'm switching to AC.". When really it's because they misconfigured the settings. Just search around for general talk about how QoS works. You will see all the confusion people have with it. "I don't understand, I have 50MB down but I can only download at 1MB. Oh what, you mean if I totally saturate my upstream I can't download fast anymore." Have fun hosting a race and have 10 people joining your server at the same time to download 800MB of content at the same time and not flood the netcode.

    Mediafire is $24.99 a year. Is that really that expensive? That gives you 1TB of storage and 1TB of monthly bandwidth. Or you can go with Dropbox for free and get 5GB without too much trouble and 20GB of monthly bandwidth. Or you can fire up IIS on your own server and host there for free but run the risk of flooding your netcode. If you're running a league and can't get your guys to collectively donate 24.99 a year that is really sad.

    BTW, have you configured the send/receive rate in the MP.ini? That influences QoS.

    Code:
    Upstream Rated KBPS="128" // Rated uploading speed of connection, in kilobits per second
    Downstream Rated KBPS="128" // Rated downloading speed of connection, in kilobits per second
    
    The GUI is limited to 8Mbps. Most people have more bandwidth than that these days so you need to configure it with a text editor.
     
  13. zackspeed

    zackspeed Registered

    Joined:
    Apr 12, 2014
    Messages:
    73
    Likes Received:
    0
    Sure i did this.
    But this is not load-testet, apart of the http download rate.
    Maybe Up- and Downstream dont need the same width. But i think its enough. And i can run a second server aswell.

    My download speed from Get Mod ist ~3000 kpbs. As client i can have up to 16000 kbps.

    And look here. You know, i am not alone.
    And have a look at my wish for handling bandwith issues.
     
  14. Noel Hibbard

    Noel Hibbard Registered

    Joined:
    Oct 5, 2010
    Messages:
    2,744
    Likes Received:
    40
    You have 256Mbit up and down? The QoS right now is extremely conservative. But that is because it wasn't intended to download content.

    The thread you linked to is full of people that don't understand it too. People spend more time complaining about it than they do researching it and trying to make it work the way it was designed to work. Constant complaining about a system that doesn't work the way "you" want it to work isn't going to make it change. Giving more control over QoS wouldn't be a bad thing I guess. Because it does impact the speed of skin xfers (putting alt skins in a MAS file drops the size from 5MB to 500KB which helps a lot with speed). I just think that right now there are bigger fish to fry than making the internal HTTP server do something it really isn't intend it to do. Keep in mind that full content mods were short lived and more or less a way for distributing content. They came before the game was capable of using 3rd party webhosts. You are probably right, this option should be removed from the MAS tool to prevent people from doing it. Actually it would be really nice if it was removed because I hate how it automatically checks components when adding new content to existing vmod. Hahaha.
     
  15. zackspeed

    zackspeed Registered

    Joined:
    Apr 12, 2014
    Messages:
    73
    Likes Received:
    0
    Yes, and a bit more. I can run two server.
    But this settings are not load-tested, because i am sticking on this get mod stuff.
    Maybe i can drop the settings a bit. 28 drivers needs about 32Mbits. So you see, there should be enough bandwith for downloading mods via get mod (internal http-server).

    Thats not ok. I think, i understand it.
    The thread is not only about the slow get mod, but there is content to this.
    And - of course - the get mod is slow.
    The internal HTTP Server serves a whole mod (600 MB, cars and one track), so it does this job already, but, but, but, but to slow.
    You are work with Qt 5. There is a QTcpServer Class, you can implement a HTTP server with this class (here is a simple example). You can run this via exec() or as a thread. Maybe or surely it will run on another core.
    So, why ISI wouldnt do us a great pleasure to put power (speed) to the get mod?
     
  16. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    12,390
    Likes Received:
    6,603
    As soon as you run more than one server any one of them can't effectively manage your bandwidth, unless they're all coordinated so when any is occupied they all slow down to protect game traffic. Sure that's possible, but Dropbox is free and you can use it right now. We use it with Noel's service and downloads are automatic, easy, and fast. If we had to handle more traffic we'd set up multiple free dropbox accounts (right now we're only using one) and again use Noel's service to cycle through them.

    I understand the desire for flexibility, but it's always a balancing act between letting knowledgeable people handle their resources and risking adventurous newbs changing settings they don't understand and complaining when their server starts playing up. And it only takes a second of delayed data to potentially ruin someone's race.
     
  17. zackspeed

    zackspeed Registered

    Joined:
    Apr 12, 2014
    Messages:
    73
    Likes Received:
    0
    In my opinion there might be a better way to handle URL-changes. Why this binary-stuff? Use a xml-file to link a mod to an url. And everyone can edit this file easily with an asccii-editor (notepad++, textpad, etc.).
    Why have this all so complicated? (Or: User can edit the multiplayer.ini, you can create a mod.ini too.)
    Its easy to include this xml-file from the get mod soft. The mas2.exe should create this xml-file.
    But this is another topic.

    My point is to put on the get mod more power. So, BTT.
    Is there a stastic, which give us an overview of hosted server on a single root?
    If you look around for leagues. How many of them are hosting
    1. one server?
    2. two server?
    3. more server?
    The bandwith of roots are restricted (usually 100 MBit/s).
    For a F1 race (24 driver + 2 race control + 2 lifestreaming), you need 32 MBit/s.
    So you (usually) cant host 3 F1 races at the same time on one root! Think on TS3-Server aswell.
    You already have to handle the bandwith. Thats not the problem, because you have to handle it all the time.
    And some of you look allways for the big things, but thats not 100%. You might repect the small things aswell, means: leagues with one or two dedicated server on one root.
    Let the big things have big problems, but let the small leagues have a get mod with power. That easy.
    If a league hasnt the bandwith for hosting the mod aswell, so they need to use such things like medifire. But let all other use the get mod with power.
    A league is a closed community, you can handle all the things belonging to such things like download "the new track for the next race in two weeks", etc. Thats not the problem, never.

    rFactor 1 doesnt have such problems, so another solution can be, remove this get mod stuff from rFactor 2. Because, its half backet.
    This all is really a bit frustrating.
     
  18. Noel Hibbard

    Noel Hibbard Registered

    Joined:
    Oct 5, 2010
    Messages:
    2,744
    Likes Received:
    40
    They put a lot of thought into it actually. The idea is you have one GetMod URL and you use the same URL in every one of your components. No need to use a unique URL for each component. Then you have a database where you link the sig to a download URL or URLs. Then you can release a component to the wild and not have to worry about dead links and not being able to modify it ever again. Who cares if there is a long hash appended to the URL by the game. Then end user doesn't have to know what goes on behind the scenes. Why mess with XML files and crap like that. Just run my tool, it lists all the components that you have installed on your server, double click on the one you want to add a URL to, paste the URL, click okay and you're done. What is the big deal?

    Most leagues have a webhost for their forum and website and another server for the dedi server. Some leagues run multiple dedi's on one server for practice but shut one of them down on race day. These are all common practice. I've never heard of an admin that wants to cram everything they can onto one host sharing the same bandwidth.

    Also, what do you mean rF1 didn't have this problem? rF1 didn't even have GetMod. You had to post download links on your forum or use SVN, SimSync Pro or something like that. But they all need bandwidth and shouldn't be shared with the dedi. Also keep in mind that rF2 uses WAY more bandwidth than rF1 did.

    Again, there is nothing keeping you from installing IIS on the race server. It is included with windows for free. It isn't hard to install or configure. I understand your desire to gain more control over QoS. I just seriously doubt you will ever see it happen.

    Maybe I will write an ASP.Net GetMod service today for those that want to host on the actual race server using IIS. You could just make a virtual directory that points to the Packages folder and let ASP.Net figure out which rfcmp in the folder matchs the hash that is being requested.
     
  19. SPASKIS

    SPASKIS Registered

    Joined:
    Sep 7, 2011
    Messages:
    3,155
    Likes Received:
    1,426
    IMO zackspeed is presenting the same POV I am doing.

    I am not a programmer. All I know is that we have a powerful server that is ALREADY SERVING DOWNLOADS at high speed to all our drivers and visitors that want to download anything in our web. We do not prevent from doing that while we are racing.
    Therefore we ask for an option where downloads with getmod are as fast as when being dirrectly downloaded from our website.
    It might be difficult to do. I don't know since as I said I am not a programmer. We are not forcing anybody to configure at the same speed we do. If we have problems it is our issue. I don't understand why it cannot be assumed that this would be a feature for some leagues.

    enviado mediante tapatalk
     
  20. zackspeed

    zackspeed Registered

    Joined:
    Apr 12, 2014
    Messages:
    73
    Likes Received:
    0
    Yes, SPASKIS, we have the same point of view.

    No, it isnt difficult to implement a download server which can do this download with high speed. ISI can do this easily. But the thing is, they dont wont it to do. Thats a very bad thing.
    I think, about 80% of all leagues are hosting one and two dedicated servers on one root at the same time. And ISI ignore them all.

    Noel wrote: "I just seriously doubt you will ever see it happen."
    This is a very very very bad statement. And this is a dead end.
    Once more, the actual get mod stuff is a half backet solution.
     
    Last edited by a moderator: Jun 12, 2014

Share This Page