Multiplayer content check

Discussion in 'Wish Lists' started by Woodee, Apr 30, 2022.

  1. Woodee

    Woodee Registered

    Joined:
    Oct 4, 2010
    Messages:
    4,010
    Likes Received:
    1,071
    The rfmod is already there and it checks that client and server have the same content.

    What I think would be better is a way to keep the client in the loop about what is needed.

    The check gets done, but there needs to be a pause in there showing the client what they are missing. Then give them the option if they want to proceed to download the content, or back out and try something else. With the old UI we used to have a list with green ticks and red crosses.

    Right now it checks, then just downloads what it needs without asking the user.
     
    Emery likes this.
  2. Snax

    Snax Registered

    Joined:
    May 3, 2022
    Messages:
    2
    Likes Received:
    4
    I second this, I even imagined a little bit how it could be made for the end-user. This would be one of the best QoL for rFactor 2.

    upload_2022-5-3_14-33-3.png
     
    Ferrari312 and DJCruicky like this.
  3. Marcel Offermans

    Marcel Offermans Registered

    Joined:
    Oct 4, 2010
    Messages:
    653
    Likes Received:
    2,961
    While I agree something like this would be very nice to have, there are a couple of showstoppers that complicate an implementation of such a system. Let's go over those together.

    The first step indeed when you try to join a server is the server reporting the name and version of the series (rfmod). At this point already, three things can happen:
    1. This series is already installed on the client. Great, we can start loading the track and cars and join the server as everything that is needed is already present.
    2. This series is not yet installed on the client, and the server is not offering it for download either. You're out of luck and need to start looking for the missing content yourself. In general we have no idea where to look. This might be content that is available in the workshop. It might also be available somewhere else on the internet. It might even be available just for a specific group of people such as a league.
    3. This series is not yet installed on the client, but the server is offering it for download (because it is configured that way and the file is in its Packages folder). It will be downloaded and installed. Once that is done, we go to the next step below.
    The second step, if we have just installed a new series, is to make sure that all components (rfcmp) that are needed are available. These might be embedded in the series, but it is also quite common that such components are simply referenced by the series. In that case we start looking for the missing components by asking the server again. Like with the series itself, those might or might not be available, so we could still end up in a situation where we can't join.

    The third step, if we actually successfully downloaded all of the components is trying to install them. This might or might not work. It might fail for example because a series refers to a component that is actually an upgrade to another component. These "transitive dependencies" are not included in the series, so they will only be discovered after trying to install content and again, that might fail.

    This does not mean it's a bad idea to show a UI. In fact this UI could visualize all the steps above and the dependencies between components, giving you a much better idea of why you could not join a server. If all goes well, you don't need the UI, or rather just a simple "abort" button would be enough so you can back out if such downloads take too long. If all fails, the UI is not going to save you, but it will make you wiser.

    As you know we've partially fixed this for the competition system, that knows more about what components it needs (free and paid). It will install them and if you're missing paid content, it will look at all the bundles in the store and figure out what the cheapest combination is to get the missing content. However, this extra information is not available on a "normal" dedicated server right now and without it, the problem can't fully be solved (if you want to end up in a situation where you can be sure that you can always download all the missing content).
     
  4. Snax

    Snax Registered

    Joined:
    May 3, 2022
    Messages:
    2
    Likes Received:
    4
    I see, maybe is it possible to add a description button for the servers where the hosts could write what mods are needed ? It would manually be done, like a text file that the server could display, and save a lot of time when looking for the required mods, but I think that would require a lot of work just to add that on the server.
     
    nolive721 and davehenrie like this.

Share This Page