Zandronum Chat on our Discord Server Get the latest version: 3.1
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0004002DoomseekerUIpublic2022-05-26 23:252022-05-31 06:18
ReporterBill Buchanan 
Assigned To 
PrioritylowSeverityfeatureReproducibilityN/A
StatusacknowledgedResolutionopen 
PlatformMicrosoftOSWindowsOS VersionXP/Vista/7
Product Version1.3.3 
Target VersionFixed in Version 
Summary0004002: Add ability to filter "You are banned" servers from Doomseeker list while leaving all others.
DescriptionI recently got my first server ban (for accidentally spectating for three seconds, if you must know). I would like to filter such server(s) from the list of servers Doomseeker displays. However, the only way to do that currently is to tick "Show only valid servers". Checking that also removes servers that display <Refreshed too soon, wait a while and try again>, as well as <ERROR>.

Particularly with the former, there is a legitimate reason to want to display them. There will typically be several of these servers upon launching Doomseeker or refreshing the server list. Refreshing those specific servers fixes this and makes them playable. A typical start procedure is to start Doomseeker, get the servers, then sort by server name, and select all <Refreshed too soon> servers to refresh them and get the full list.

A way to display these servers while removing troublesome "You are banned from this server!" listing(s) would make things more usable and help remove clutter.
Steps To ReproduceNo steps to reproduce since it's a feature request and not a bug, but I guess the best way to experience this is to get banned from a server, then try to filter banned servers from the list without removing <Refreshed too soon, wait a while and try again> servers.
Additional InformationThere are a few different ways I can think of to address this.

One would be to include a second box button near "Show only valid servers" that specifically targets banned servers, and removes that function from "Show only valid servers".

The second would be an option, perhaps on the filter bar (like with the "Exclude game modes" drop down bar) or within Doomseeker preferences, to change or indicate what exactly the user wants Doomseeker to define an 'invalid server' as. One could define any combination of <ERROR>, <Refreshed too soon>, or "Banned", and set the current box to do that.

Third would be to, as there is an ability to both search for and exclude WADs, put in the ability to exclude based on server name. You could put in "banned", "TSPG", or whatever you wanted. Some care would need to be taken to working this option out as some servers do use commas and spaces, and commas are how terms are separated in "Exclude WADs".

Forth would be to, as you can pin servers based on IP, add the ability to 'inverse pin' servers and remove them from display. The most hokey option here in my opinion, but it's here as a way.
Attached Filespng file icon Doomseeker_UI_000.png [^] (114,976 bytes) 2022-05-28 19:15


png file icon Doomseeker_UI_001.png [^] (116,723 bytes) 2022-05-28 19:15


png file icon Doomseeker_UI_003.png [^] (115,391 bytes) 2022-05-28 19:15


png file icon Doomseeker_UI_002.png [^] (115,063 bytes) 2022-05-28 19:15


png file icon Doomseeker_UI_004.png [^] (42,900 bytes) 2022-05-28 19:15


png file icon Doomseeker_UI_005.png [^] (49,891 bytes) 2022-05-28 19:15

- Relationships

-  Notes
User avatar (0022231)
WubTheCaptain (developer)
2022-05-28 12:29

First, thanks for detailing the issue. I've understood it easily.
I'm afraid proposals 1 and 2 may be a step towards feature creep and cluttering the user interface (UI) more (counter-productive for issue 0003984 I've reported), so I'm opposed to this as a feature request unless an agreeable proposal (not described herewithin) can be made to improve the UI in general to support this change. Such changes have not been formerly planned as far as I know, can require extensive changes, and I'm not ready to step up to take this work.
Proposal 3 probably doesn't work well in practice for servers the client has been banned from, and it'd be hacky for the UI. If a game server denies a response because the client's IP-address is banned, the server information is not sent to the client so strictly speaking there is nothing to search by "server name" (if I've understood the launcher protocol from Zandronum's wiki correctly). And then there's also possibly legitimate servers which could be affected by this, if they included in their server name the word "banned". It could possibly be done, but in comparison the checkbox boolean approach is way more refined or precise, more favorable.
Proposal 4 seems more sensible, but an user would probably want to a way to toggle it, which I see brings up the same concerns as proposals 1 and 2.
If I had to pick an option I would like the most, it would be proposal 1 or 4. But so far, I'm also okay keeping the status quo of toggling the "Show only valid servers" when needed.
I also considered a possibility of ignoring the "You are banned" denied response from servers and treating the response as valid / accepted with server information, but I've understood this is technically impossible with Zandronum at the moment (unless the upstream changes this behavior in Zandronum, which I've also understood would not apply retroactively to older Zandronum server versions, unless the master server would also enforce excluding old servers).
I don't feel opposed to a feature request excluding servers by name, if the UI is not intrusive (such as minus-sign prefixed -"TSPG" syntax to exclude servers with "TSPG" in server name, because this is a commonly accepted/used feature available in many web search engines online today). In fact, I think imo the way to go in the future about advanced filtering of servers in Doomseeker is by text-based syntax, such as -name:TSPG and -response:banned.
(PS: I'm keeping this issue as "new" until Zalewa acknowledges it.)
User avatar (0022233)
WubTheCaptain (developer)
2022-05-28 12:55
edited on: 2022-05-28 12:56

Another alternative proposal (though I still prefer my text-syntax proposal) is to tweak the "Show only valid servers" checkbox to have three states (if this is possible to hack with the Qt framework):
  1. Show valid and invalid servers
  2. Show valid servers and servers I've been banned from / Show valid and banned servers
  3. Show only valid servers

The second option would show as a filled square, instead of a checkmark. Currently it's just a boolean checked / unchecked for 1 and 3.

User avatar (0022234)
WubTheCaptain (developer)
2022-05-28 13:25

By the way, those "You have been banned from this server!" servers are no concern with the "Put populated servers on top" checkbox too, because the client doesn't receive the server information and thus doesn't have the data to put them on top.
Quote
A way to display these servers while removing troublesome "You are banned from this server!" listing(s) would make things more usable and help remove clutter.

They get pushed anyway to the bottom of the server list (which can be quite long, especially for Zandronum). I don't see them too intrusive as it is with my network connection. Those bottom of the list servers with "NO RESPONSE" I cannot make use of anyway, even if I refresh them manually. All the useful servers are on top.
Quote
A typical start procedure is to start Doomseeker, get the servers, then sort by server name, and select all <Refreshed too soon> servers to refresh them and get the full list.

My typical sorting is by latency and by populated servers on top, but this makes both of our use scenarios indifferent (I tested both ways of sorting).
I don't experience the need to refresh servers manually, but perhaps it is because I don't have multiple Doomseeker refreshers from the same network IP-address. Even with "very aggressive" refresher settings, I have trouble to hit the limit (I experienced it more a few years ago, though nothing changed on my end). I mostly look at the populated servers on top, if I know a server should be there but is not (that's very rarely the case), I do a full refresh for the list of servers.
I can understand hitting the rate limitations more with a NAT'd IPv4-address, particularly in LAN parties or when using a mobile data carrier (CGNAT). Perhaps implementing IPv6 support in Doomseeker (0003531) is also a way forward to resolving some of the underlying symptoms for shared networks, in hopes that more network providers will also adopt IPv6 (or transitional methods such as 6rd, which is still a pain in the rear to configure automatically from DHCP options due to lack of widespread software support, unless a consumer household router has implemented that functionality with all the caveats of shit security and questionable software updates that drive at least advanced users to not use those devices).
User avatar (0022235)
WubTheCaptain (developer)
2022-05-28 13:37
edited on: 2022-05-28 13:38

People often want to treat the symptoms they're experiencing. I wish to cure the root causes, so that there are no sick behaviors or symptoms of sickness.

User avatar (0022236)
WubTheCaptain (developer)
2022-05-28 13:40

The root causes I've understood in this issue are:
  • Shared IPv4 networking (implied)
  • Badly foundational and inflexible search / filtering system
User avatar (0022237)
WubTheCaptain (developer)
2022-05-28 13:59
edited on: 2022-05-28 14:06

Also proposal 3 for hacky filtering by word "banned" would be more difficult to implement anyway (if some masochist ever wanted to attempt this for no good reason), because those "You are banned" messages are strings programmed into Doomseeker (src/core/gui/models/serverlistrowhandler.cpp) and localized into multiple languages. Those "banned" strings are not from the server itself, only a binary IP-adddress is banned response is received before being localized by Doomseeker. It would then beg to question how filtering by localized strings should then be done, especially across configuration changes. The server names from server information are from the servers themselves, those can be filtered.

User avatar (0022241)
Bill Buchanan (reporter)
2022-05-28 19:24
edited on: 2022-05-28 19:56

I'm not leather bent on any one way of doing it. Those four are also merely ideas I had. It's certainly not meant to be an exhaustive list or imply those are the only options worth considering. It's also not as if I have a dozen or more of these servers to delist. It's a very minor annoyance for now that I could see being an issue for some of the more 'lively and active' users.

Considering we're talking about bans here, both cluttered server lists and 'reminders of past shame' are also both reasons this might happen. And again, if you've got a particularly lengthy ban history, the subject matter becomes, in essence, how to remove clutter (from the server list) without adding too much clutter to the UI itself.

I've included some mockups of what this might look like. Doomseeker_UI_000 and 001 show what it looks like currently. 002 and 003 show what a mildly adjusted UI on the filter side might look like (one possibility, not the only one). 004 shows what an option inside of Preferences might look like. If worst comes to worst here or elsewhere with feature creep, something in the vein of a web browser's "about:preferences" like in 005 could be used to display values for all options, including those excluded from normal UI view.

Quote
They get pushed anyway to the bottom of the server list (which can be quite long, especially for Zandronum). I don't see them too intrusive as it is with my network connection. Those bottom of the list servers with "NO RESPONSE" I cannot make use of anyway, even if I refresh them manually. All the useful servers are on top.

I (usually... o_o) can't make use of <NO RESPONSE> servers either. However, I do get a lot of <Refreshed too soon> servers, and most of them I can fix by refreshing them. I can't speak from an experienced first hand position given I only have one banned server, but if I were hypothetically banned from several servers and wanted to also refresh <Refreshed too soon> servers, I could see the list of servers I was looking at and refreshing being longer than I wanted or needed it to be.

Quote
I'm afraid proposals 1 and 2 may be a step towards feature creep and cluttering the user interface (UI) more (counter-productive for issue 0003984 I've reported), so I'm opposed to this as a feature request unless an agreeable proposal (not described herewithin) can be made to improve the UI in general to support this change

For what it's worth, 'too cluttered or hard to read' has never crossed my mind using Doomseeker. I've always found it to be a pretty ergonomic and usable tool that's never really frustrated me in any way. I do happen to appreciate all the information it does display, and never found any of it useless. I guess your mileage may vary. E.g., I experience <Refreshed>, but others don't.

(As far as the <Refreshed too soon> thing goes, I'm not technically citing that as an issue that needs to be fixed, rather as a mildly relevant case in my situation where I want to keep those servers but filter out other servers Doomseeker considers invalid response types. If there's an easy fix for this then that's great, but for now I accept it as a quirk of using the program on certain internet connections.)

User avatar (0022251)
Zalewa (developer)
2022-05-30 21:33

Quote from "Bill Buchanan"
can't make use of <NO RESPONSE> servers

When a server doesn't respond it's most likely a problem with the server and such server will never respond. Doomseeker tries hard to ensure that no connectivity issues will make servers appear as <NO RESPONSE>. So, when it can't reach the server, it probably means that no one else can't reach that server either. Such servers are probably behind firewalls or NATs and the people who host these servers either aren't aware of that or don't care.

Quote from "Bill Buchanan"
For what it's worth, 'too cluttered or hard to read' has never crossed my mind using Doomseeker. I've always found it to be a pretty ergonomic and usable tool that's never really frustrated me in any way.

Thank you.

Quote from "Bill Buchanan"
However, I do get a lot of <Refreshed too soon> servers, and most of them I can fix by refreshing them. I can't speak from an experienced first hand position given I only have one banned server, but if I were hypothetically banned from several servers and wanted to also refresh <Refreshed too soon> servers, I could see the list of servers I was looking at and refreshing being longer than I wanted or needed it to be.

So you're saying you wish to have the "banned" servers hidden because it will make it easier for you to refresh the "too soon" servers? Is that it? Because if so then maybe the better solution for you here isn't to filter out the "banned" servers but to help you deal with the "too soon" ones.

The one thing here is that Doomseeker doesn't spend so much effort with the "too soon" servers as it does with the "<NO RESPONSE>" ones. It simply gives up and leaves them up to the user. But maybe Doomseeker could auto-refresh those servers with some extra delay? Instead of telling the user to "wait a while and try again" it would instead say "retrying in a few seconds ..." and then do that on its own?

Of course, the problem with the filtering of the "banned" servers still holds but I'm not sure yet if we should add another filter for them, plainly treat them as invalid or add an option to the "Appearance" config box that will allow the user to treat the "banned" servers as "invalid".

I'm not considering adding an advanced filtering method as viable for now.
User avatar (0022254)
Bill Buchanan (reporter)
2022-05-30 23:55

Quote
When a server doesn't respond it's most likely a problem with the server and such server will never respond. Doomseeker tries hard to ensure that no connectivity issues will make servers appear as <NO RESPONSE>. So, when it can't reach the server, it probably means that no one else can't reach that server either. Such servers are probably behind firewalls or NATs and the people who host these servers either aren't aware of that or don't care.

Once in a great while (and I do mean rarely), a <NO RESPONSE> server will pop back up after refreshing it with my above procedure (start Doomseeker or hit refresh all, then select all the irregular response servers sorted at the bottom). However, this is very infrequent and rare, much more than recovering <too soon> servers.
Quote
Of course, the problem with the filtering of the "banned" servers still holds but I'm not sure yet if we should add another filter for them, plainly treat them as invalid or add an option to the "Appearance" config box that will allow the user to treat the "banned" servers as "invalid".

At least for the Appearance config box, mockup 004 (first post attachment) is a demonstration of what that might look like.

I would be intrigued if there's a way to address the amount of <Refreshed too soon> that happen. Though I should note that I haven't and don't touch the query response time and frequency options, since I trust the default options and don't want to do something silly that would start breaking things. I also don't want to hijack a different issue here with a tangent (unless with permission of course).

That's really the bottom line of where I am now. I'd like to remove Banned servers but keep other invalid response types, in a way that's satisfactory without adding a bunch of UI options.
User avatar (0022257)
Zalewa (developer)
2022-05-31 06:18

The query options are there to help with the issues you're having, so feel free to touch them. The default setting is "Aggressive", so you should try "Moderate" or "Cautious" or even modify the settings by hand.

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: No one explicitly supports this issue yet.
Opponents: WubTheCaptain

- Issue History
Date Modified Username Field Change
2022-05-26 23:25 Bill Buchanan New Issue
2022-05-28 12:29 WubTheCaptain Note Added: 0022231
2022-05-28 12:55 WubTheCaptain Note Added: 0022233
2022-05-28 12:56 WubTheCaptain Note Edited: 0022233 View Revisions
2022-05-28 12:59 Zalewa Status new => acknowledged
2022-05-28 13:25 WubTheCaptain Note Added: 0022234
2022-05-28 13:37 WubTheCaptain Note Added: 0022235
2022-05-28 13:38 WubTheCaptain Note Edited: 0022235 View Revisions
2022-05-28 13:40 WubTheCaptain Note Added: 0022236
2022-05-28 13:59 WubTheCaptain Note Added: 0022237
2022-05-28 13:59 WubTheCaptain Note Edited: 0022237 View Revisions
2022-05-28 14:03 WubTheCaptain Note Edited: 0022237 View Revisions
2022-05-28 14:05 WubTheCaptain Note Edited: 0022237 View Revisions
2022-05-28 14:06 WubTheCaptain Note Edited: 0022237 View Revisions
2022-05-28 19:15 Bill Buchanan File Added: Doomseeker_UI_000.png
2022-05-28 19:15 Bill Buchanan File Added: Doomseeker_UI_001.png
2022-05-28 19:15 Bill Buchanan File Added: Doomseeker_UI_003.png
2022-05-28 19:15 Bill Buchanan File Added: Doomseeker_UI_002.png
2022-05-28 19:15 Bill Buchanan File Added: Doomseeker_UI_004.png
2022-05-28 19:15 Bill Buchanan File Added: Doomseeker_UI_005.png
2022-05-28 19:24 Bill Buchanan Note Added: 0022241
2022-05-28 19:24 Bill Buchanan Note Edited: 0022241 View Revisions
2022-05-28 19:25 Bill Buchanan Note Edited: 0022241 View Revisions
2022-05-28 19:56 Bill Buchanan Note Edited: 0022241 View Revisions
2022-05-30 21:33 Zalewa Note Added: 0022251
2022-05-30 23:55 Bill Buchanan Note Added: 0022254
2022-05-31 06:18 Zalewa Note Added: 0022257






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2022 MantisBT Team
Powered by Mantis Bugtracker