ZuluWizard Posted January 10, 2025 Share Posted January 10, 2025 is the game down? me and my bro can't seem to log in, the screen just holds on 'connecting...' when trying to join the lobby... Link to comment Share on other sites More sharing options...
Lion.Kanzen Posted January 10, 2025 Share Posted January 10, 2025 "Lobby down". Link to comment Share on other sites More sharing options...
Dunedan Posted January 10, 2025 Share Posted January 10, 2025 The lobby is back online now. I'll post some details what went wrong later on. Link to comment Share on other sites More sharing options...
Dunedan Posted January 11, 2025 Share Posted January 11, 2025 So here is what happened yesterday: We deploy changes to the lobby using Infrastructure-as-Code (the code for that is available at https://github.com/0ad/lobby-infrastructure/). Applying changes yesterday included a value for an XMPP MUC room option as a boolean (true) in our YAML configuration. That got converted by Ansible into a Python boolean (True) and when applying it to a string (True). As you might notice that changed the capitalization. While ejabberd (the XMPP server we're using) accepted that value, it doesn't support capitalized booleans and hell broke loose when a code path accessing such a configuration option got executed. For one option (like: "ejabberdctl room conference.host logging True") this does cause the XMPP MUC room the option got applied for to get completely deleted immediately. This resulted in the lobby not being available anymore. Debugging what happened took some time. As a workaround we're now passing the configuration values as strings in the first place, which ensures the capitalization stays as desired and doesn't trigger that behavior anymore. I've also opened a bug report for ejabberd, so hopefully it won't be possible in future anymore to set such invalid options: https://github.com/processone/ejabberd/issues/4337. 3 1 Link to comment Share on other sites More sharing options...
Lion.Kanzen Posted January 11, 2025 Share Posted January 11, 2025 10 minutes ago, Dunedan said: So here is what happened yesterday: We deploy changes to the lobby using Infrastructure-as-Code (the code for that is available at https://github.com/0ad/lobby-infrastructure/). Applying changes yesterday included a value for an XMPP MUC room option as a boolean (true) in our YAML configuration. That got converted by Ansible into a Python boolean (True) and when applying it to a string (True). As you might notice that changed the capitalization. While ejabberd (the XMPP server we're using) accepted that value, it doesn't support capitalized booleans and hell broke loose when a code path accessing such a configuration option got executed. For one option (like: "ejabberdctl room conference.host logging True") this does cause the XMPP MUC room the option got applied for to get completely deleted immediately. This resulted in the lobby not being available anymore. Debugging what happened took some time. As a workaround we're now passing the configuration values as strings in the first place, which ensures the capitalization stays as desired and doesn't trigger that behavior anymore. I've also opened a bug report for ejabberd, so hopefully it won't be possible in future anymore to set such invalid options: https://github.com/processone/ejabberd/issues/4337. Are you guys putting on to lobby new code and updates? Link to comment Share on other sites More sharing options...
Dunedan Posted January 11, 2025 Share Posted January 11, 2025 2 minutes ago, Lion.Kanzen said: Are you guys putting on to lobby new code and updates? The lobby is getting updates more or less frequently. This wasn't directly related to Alpha 27 (if you're hinting at that). 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now