1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Greetings Guest!!

    In order to combat SPAM on the forums, all users are required to have a minimum of 2 posts before they can submit links in any post or thread.

    Dismiss Notice
  3. Greetings Guest, Having Login Issues? Check this thread!
    Dismiss Notice
  4. Hail Guest!,
    Please take a moment to read this post reminding you all of the importance of Account Security.
    Dismiss Notice
  5. Author Wes Locher has teamed up with Stratics for a giveaway of his new book Braving Britannia. This book explores the history and impact of Ultima Online and includes interviews from current and past dev team members as well as many UO and Stratics community members. Click here for more details!
    Dismiss Notice

[Developer Blog] Death to the session-change timer!

Discussion in 'EVE News' started by EVE News, Nov 11, 2011.

  1. EVE News

    EVE News RSS Feed
    RSS Feed

    Apr 12, 2011
    Likes Received:
    (by "death" I mean "let's reduce it a little")

    What is the session-change timer?

    The session-change timer is the 30 second delay that you must endure between consecutive session-changes.

    Waiting for "Scotty the Docking Manager", "smacktalking with your fleet" or "stepping out to find a bush", are all well known indications that you've hit this timer. You know what I'm talking about, that familiar soul-crushing 30 second wait after changing your corp wallet division before you can jump through a gate, that's the one.

    The reason for this timer is first and foremost of a legacy technical nature. Your session is your primary authoritive datastore, much like on a webserver. It keeps your user and character information along with other assorted pieces of data like your fleet status and your wallet division. We must be able to guarantee that it is synchronized across all nodes that it lives on or you might get session-stuck. Note that this is not the same thing as a black screen on undock and is something that doesn't happen anymore. There are several different stuck-issues and session-inconsistency isn't one of them anymore.

    In the old days here were some cases where the session was not properly propagated throughout the cluster in a reasonable amount of time and the timer was necessary (it's a bit embarrassing actually). Since then we've added StacklessIO (and then CarbonIO), Character Nodes, Time Dilation (coming soon), fantastic hardware and a long list of optimizations and fixes that have made the cluster much healthier.

    The timer has remained the same for the past seven years while the need for it has steadily decreased. Today the timer is not as relevant for session state consistency as it was at its inception and we feel that it's time to reduce it.

    The Change

    In the first iteration the timer will be reduced by a third, from 30 seconds to 20 seconds.

    You will probably feel this most when interacting with your fleet since changing positions in your fleet is a session change and therefore you cannot jump through a gate or dock until that timer runs out.

    The change should be pretty well contained and isolated and is easy for us to change back or tweak, even on a running cluster.

    The most important change is already there!

    The most bothersome place where the session-change timer kicked in was in stations when changing ships. The timer for changing ships in station was removed completely in the Incarna expansion by fundamentally changing the way changing ships is done.

    This might have gone largely unnoticed but is one of the largest usability improvements that we have had to the game in recent months for a specific play style. I for one love it to no end and would like to give a big shout-out to CCP Tuxford for implementing this fantastic change as a part of some technical foundation work needed for Incarna.

    What the session-change timer is not

    The session-change timer and the invulnerability timer are two different and unrelated concepts. When you undock on Tranquility today you are invulnerable for 30 seconds (invulnerability timer) and it just so happens that you cannot dock for 30 seconds (session-change timer). With this change, you will continue to be invulnerable for 30 seconds or until you move but you will be able to dock after 20 seconds.

    The same applies when jumping through a gate. You will continue to be invisible and invulnerable for 30 seconds or until you move.

    This has been run past the Council of Stellar Management (CSM) in order to get player feedback and it was determined to be the best way forward to keep the two separate and to retain 30 seconds as the invulnerability timer since it is not directly related to the session change (it's mostly there to give you a chance to load up the scene before being popped).

    The future of the session-change timer

    The changes are live on the Singularity test server now and will be deployed to Tranquility close to the next large release; an announcement will be made when the change takes effect. If things go as planned we hope to reduce it even further. It will probably never go away completely since there are deep-rooted assumptions about it in the code but we might very well reduce it to a point where it's not something you think about.

    This is just one of the many things that are being done for the upcoming Winter Expansion in order to improve your quality of life in New Eden. We hope you will like it.

    p.s. If you feel that the reduction of the session change timer has left a 10 second void that you need to fill then here is a great way to spend those extra ten seconds. You can also google "things to do in ten seconds" and get some weird hits.

    Jon Bjarnason/CCP Atlas
    Technical Director
    EVE Online, CCP Games

    [​IMG] [​IMG]

    New to EVE? Start your 14-day free trial today.
    Returning pilot? Visit Account Management for the latest offers and promotions.