1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Hey Guest, is it this your first time on the forums?

    Visit the Beginner's Box

    Introduce yourself, read some of the ins and outs of the community, access to useful links and information.

    Dismiss Notice

New quick join logic

Discussion in 'Community Dev Corner' started by FliesLikeABrick, Jun 15, 2012.

Mods: Downburst, Mazey
  1. FliesLikeABrick

    FliesLikeABrick THD Team THD Team Administrator Global Moderator

    Messages:
    952
    Next week I am planning on fixing favorite servers in the browser, as well as changing how quick join works.

    Right now quick join will almost always take you to a low-ping non-empty/non-full RTDM server. That sucks pretty bad.

    Here iswhat I'm thinking, and I'll take feedback on it.


    0) if the filter is still on beginner and no favorites exist, quickjoin will behave much like it does now
    1) if the user has favorite servers, check the status of those which matches the filter last used (if possible). If any are non-empty and non-full and are low ping, join that
    2) if there are favorite servers but they're all full/empty OR there are no favorite servers, then pick a low-ping/nonempty/nonfull server from servers shown in your last filter used. Preference will be placed on servers which are most similar to your favorites (in a few basic ways mostly gamemode)
     
  2. GloriousToast

    GloriousToast Haxor Donator

    Messages:
    1,463
    That is pretty good. The one thing we need to think about is if the player could be banned on a server. and quick join could possibly join that. also i think it would be nice if i quick join a server, then quit it, click on quick join again but join a different server then the last one joined.
     
  3. FliesLikeABrick

    FliesLikeABrick THD Team THD Team Administrator Global Moderator

    Messages:
    952
    Very good ideas to consider, I'll see what I can do.

    Maybe instead of having the logic in my post above decide on only one server, I'll have it identify up to 10 "eligible" servers, and then pick one of those at random. this way clicking quick join repeatedly will not always take you to the same server.

    For the ban thing I'll need to see how callbacks are currently made when a client join to a server is denied
     
  4. GloriousToast

    GloriousToast Haxor Donator

    Messages:
    1,463
    glad to have helped
     
  5. FliesLikeABrick

    FliesLikeABrick THD Team THD Team Administrator Global Moderator

    Messages:
    952
    I'm just about done working on the new quickjoin, here's what it ends up doing:

    1) it uses the last filters (the ones at the bottom of the server browser window) to fetch a server list from the API
    2) It sorts those servers by ping
    3) It loops through the servers and creates a new list of 'eligible' servers. These are servers that have a ping under 250 ("server browser" ping, not real ping), are non-empty and non-full (and non-gold if the client isn't gold)
    4) If it encounters a favorite server which meets the above criteria while looping, it stops and joins that right away (and it would be the lowest ping favorite which matches because it loops through in order of ping)
    5) if it finishes building an eligible list, it then chooses the "best" one of those, where the "best" is determined by a simple forumla involving ping and current players in a server. This way it will join you to a server with slightly higher ping if the only close one has 2 players (and the further one has 20 players)

    If the browser is on the Beginner filter when quickjoin is clicked (from last time or if this is the first run), it will do the above but only use beginner servers. BUT if there are favorite servers that exist which match the criteria in (3) above, it will prefer those over something that is normally "beginner" (the idea being that either the person accidentally set it to beginner servers. and/or since they used favorites they're familiar enough with the server browser to find what they want if they really want something beginner-looking or they would have already favorited it)

    It may not be perfect, but I'm pretty sure it is 100% better than what was there before. I know I'll be using quickjoin almost every time I open KAG now.


    The only thing missing from my original post is that in the absence of favorites, quickjoin will choose a server that looks similar to favorites in terms of gamemode/whatever. It does not do that and depending on what people think of the new quickjoin I may not bother

    The best way to have the quickjoin be of good use to you is to select 5-10 favorite servers (if you have that many that you like to go to). This way they will essentially get priority, and failing that you will be taken to something else decent.

    This will be out to the public in a hotfix within the next few hours, assuming all goes well (along with a few other fixes/tweaks)

    edit: it's out
     
    Noburu, GloriousToast, Rayne and 5 others like this.
  6. GloriousToast

    GloriousToast Haxor Donator

    Messages:
    1,463
    that is so great
    edit: you should like my suggestion flab :D
     
Mods: Downburst, Mazey