MantisBT - Zandronum
View Issue Details
0004355Zandronum[All Projects] Bugpublic2024-07-31 17:342024-08-02 09:28
unknownna 
Kaminsky 
normaltweakalways
feedbackopen 
 
3.2 
0004355: Missing check whether client already is logged in with "login"
If you login once, it won't check the next time whether you're already logged in before using the "login" command. This allows you to spam it repeatedly and potentially overloading the auth server.

By the same token, the login menu in the options should reflect that you're already logged in when entering it, so it doesn't seem so ambiguous to the user.
To take it further, the login options menu should already remember the name of "login_default_user" and have the name entered when you go into the menu for the first time.

I would also recommend moving the login menu to the top in the multiplayer options menu so players very quickly see that it's a feature of Zandronum.
I'd also separate offline skirmish and browse servers together somewhere.

Something like this:

Log In
Network Options
Server Administration

Offline Skirmish
Browse Servers

Or the opposite:

Offline Skirmish
Browse Servers

Log In
Network Options
Server Administration
The "login successful" message is also missing a period at the end.
No tags attached.
Issue History
2024-07-31 17:34unknownnaNew Issue
2024-07-31 22:35KaminskyNote Added: 0023874
2024-07-31 22:35KaminskyAssigned To => Kaminsky
2024-07-31 22:35KaminskyStatusnew => needs review
2024-07-31 22:35KaminskyTarget Version => 3.2
2024-07-31 22:36KaminskyNote Edited: 0023874bug_revision_view_page.php?bugnote_id=23874#r14331
2024-08-01 07:23unknownnaNote Added: 0023877
2024-08-01 14:27KaminskyNote Added: 0023878
2024-08-02 09:27unknownnaNote Added: 0023886
2024-08-02 09:27unknownnaStatusneeds review => feedback
2024-08-02 09:28unknownnaNote Edited: 0023886bug_revision_view_page.php?bugnote_id=23886#r14335

Notes
(0023874)
Kaminsky   
2024-07-31 22:35   
(edited on: 2024-07-31 22:36)
I created a new merge request to address most of the issues mentioned here:'https://foss.heptapod.net/zandronum/zandronum-stable/-/merge_requests/149 [^]'

The only thing I didn't address yet is re-arranging the multiplayer options menu because I want to discuss this further. Separating "Offline Skirmish" and "Browse Servers" into their own section is a good idea. There's also the "Call a Vote" and "Player List" sub-menus further down the list, which I'd argue are important features too that some users don't always notice immediately. Would it be better to re-arrange the menu like this instead:

Offline Skirmish
Browse Servers

Player List
Log In
Call a Vote

Network Options
Server Administration

I think this will structure the menu a little better and make those features more noticeable. In any case, I think the re-arrangement should be addressed in a new ticket.

(0023877)
unknownna   
2024-08-01 07:23   
Thank you for the quick work and fixes!

I think I found a bug perhaps: If you disconnect and reconnect to the server, the menu will tell you that you're logged in without you actually having logged in again.

And if you try to use the login command through the console while offline, it should maybe print that you must be online to use the command, like the save/load commands are online.

And looking at it now, I think the whole login process must be simplified a lot more for users without them having to manually do anything with console commands and whatnot. I'll make a separate ticket for this.

I agree the multiplayer menu sorting discussion can have its own ticket.
(0023878)
Kaminsky   
2024-08-01 14:27   
I updated the MR so that the client logs out when they disconnect a networked game, so that should fix the bug you mentioned. I also added a message that prints when the user tries using the "login" CCMD outside of an online game.
(0023886)
unknownna   
2024-08-02 09:27   
(edited on: 2024-08-02 09:28)
Good work, I think it's maybe missing some final checks:

* If auto-login is enabled, automatically log in with the account when manually setting it with login_default_user through the console.
* Don't let multiple clients log in with the same account.

The reason for this is in case there's stats tracking enabled sometime in the future and a user decides to use multiple clients on different servers and whatnot to exploit stat collecting.

And I found some odd behavior with the Doom Explorer server browser: When enabling a "common config file" setting, the server ini somehow archives login_default_user for itself. This only happens through Doom Explorer with this setting and not normally.
When "common config file" is disabled, it works normally and the server doesn't archive it.
And looking at the ini for the Doom Explorer config, I can't even find any login_* settings archived. Where are logins saved and stored, for future reference?

And it would've been nice if the password was fetched as well, to make it even quicker. But only if it's safe to fetch it.