Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

If requesting help, make sure to mention what game you are attempting to use ACT with.
For the best FFXIV support, join Ravahn's Discord Server. Also check out ngld's FFXIV FAQ for starter diagnostics. Lastly, Jojo's setup guide.

ACT WEBSERVER SESSION KEY ERROR

I setup ACT Webserver and have it running through a loadbalancer at home. When folks hit the webserver URL they get an error 500 session key already used. They can simply refresh and it works fine. My question is how is that session key generated and passed through to the client ? Is it kept track of on the webserver, or is there a cookie or something that passes through to the client ?


Tagged:

Comments

  • If you're talking about the one built directly into ACT, there's no such thing.  It doesn't use sessions or cookies.  And that message is not coming from ACT.

    ACT uses GET URL variables in AJAX requests.  There's not really anything more complicated about it.  It's an extremely simple HTTP server written in C#.

  • Hey @EQAditu Thanks for the response, I apologize I missed something in the description - I was too hung up on session/key/load balancing junk. Here is the exact errors. Its not broke, just refresh and it works (not complaining - you guys make an excellent utility) I was just trying to rule out something I did wrong.. I can just make the ps4 guys hit the refresh button. 

    Again thanks for responding !


    500


    System.ArgumentException: An item with the same key has already been added.
    at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
    at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
    at Advanced_Combat_Tracker.FormActMain.ActWebConnection.ParseHeaders()
    at Advanced_Combat_Tracker.FormActMain.ActWebConnection.ProcessGet()
    at Advanced_Combat_Tracker.FormActMain.ActWebConnection.ProcessRequest()
    at Advanced_Combat_Tracker.FormActMain.ActWebConnection.Update()



  • edited August 2019

    Hmm, in my experience headers are usually unique... but I have seen them duplicated before, I think.  Web browsers don't often do it, but maybe the load balancer is.  Also, yeah... HEAD isn't implemented, probably also from the load balancer.

    I'll add something to overwrite headers if they already exist in the Dictionary to prevent the error.


    Reference: https://github.com/EQAditu/AdvancedCombatTracker/issues/7

  • Ok I think i figured it out, the webserver doesnt appear to like connection multiplexing... I.E. -> One TCP connection from the backend of the load balancer for all clients connected... So I created a special HTTP profile as a workaround and it looks like its fixed. 

  • The webserver is HTTP/1.0 and does not support connection keep-alive.  I couldn't get it to work for all browsers at the same time, so I discarded the implementation.  Every request regardless of source will be a new connection as the ACT webserver will always respond with Connection: close and close the socket.

  • Yep, I just happened to look at the headers and saw 1.0 thats when the lightbulb turned on. So I just modified the way the back-end of the netscaler talked to the webserver and voila' !

    Next Im putting it behind a unified gateway.. So I can use AD authentication to restrict access. I have too much time on my hands....

  • edited August 2019

    Again thanks for a bangin' product. Just dropped ya 20$ in paypal on the donate page. Go get a pizza ! (or a beer or two)


Sign In or Register to comment.