Author Topic: The Tremulous server browser [ARTICLE]  (Read 15524 times)

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
The Tremulous server browser [ARTICLE]
« on: July 10, 2007, 04:04:45 am »
You can sort the internet servers by server name, map name, player count and ping, in forward and reverse order. Additionally, you can filter out empty and full servers. These options are, in my opinion, not well enough developed.

I believe the default sort setting is somewhat important to hosts for advertisement purposes. Currently, in Tremulous 1.1.0 (stock version), sorting by Server Name is the default. For this reason, professional servers tend to use server names with non-printing characters that have precedence in the charater set, to bring the server "up front, where n00bs can see it". This is abuse. Let's look at the alternatives. The best option is the one that forces the servers to behave in a good manner.

- Sorting by ping can lead to more abuse. Patched servers can lower bandwidth distribution to connected clients, in the hopes of reacting faster to ping requests. (Although I don't see this as very useful for hosts with plenty of bandwidth comparing to a small player count.)
- Sorting by map name is not what I would recommend.
- Sorting by player count is plausable, but is also a bad idea, because it will either concentrate or distribute the players (mostly n00bs) among servers.

My idea is listing in the order received from the master server, which should be sorted by the time of registration, so servers that send the hearbeat first have precedence over others. This can not be hacked or abused. It show respect to ones who provide stable public servers. Therefore I highly recommend this method. It may require addition to the master server code, which should not be a problem.

Some other ideas:

New filter: show servers with compatible protocol version only.
I don't know if the PROTOCOL_VERSION will change in Tremulous 1.2.0, but if so, this filter might be useful. It can be made so, that servers must send the protocol version along with the heartbeat, and clients can ask for a protocol-filtered serverlist. (Mods are not in this category, because they can be dynamically applied.)

New filter: show servers with selected mod only.
New feature: show maps that I don't have in different color.


That would be all for now. If I have something new I'll add it.

doomagent13

  • Posts: 506
  • Turrets: +18/-18
The Tremulous server browser [ARTICLE]
« Reply #1 on: July 10, 2007, 04:27:23 am »
Maps YOU dont have would be a client side change, not a master server change.  The same with a mod filter.  Actually, a mod filter would probably run into trouble with incorrectly configured mod servers.

Just so that you know, suggestions like this should go in "Feedback". (I think.)  This forum is more for obtaining help with actually making a mod.

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
The Tremulous server browser [ARTICLE]
« Reply #2 on: July 10, 2007, 05:02:09 am »
Quote from: "doomagent13"
Maps YOU dont have would be a client side change, not a master server change.  The same with a mod filter.

I know. My topic is actually named 'server browser'.

Quote from: "doomagent13"
Actually, a mod filter would probably run into trouble with incorrectly configured mod servers.

Quake 3 sorts out servers by fs_game just fine.

Quote from: "doomagent13"
Just so that you know, suggestions like this should go in "Feedback". (I think.)  This forum is more for obtaining help with actually making a mod.

Tremulous 1.1.0 + MODifications  ~  Tremulous 1.2.0

:wink:

Warrior

  • Posts: 230
  • Turrets: +2/-0
    • Warrior's Stuff
The Tremulous server browser [ARTICLE]
« Reply #3 on: July 10, 2007, 06:08:56 am »
Tremulous's Server Browser is more complete than various server browsers from similar games. Sorting by ping is simply great as sorting by map name, server name, player count and having the ability to see server information and being possible to search for a known nick.
You can also make a server browser that runs out of the game like the one r1ch made.

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
The Tremulous server browser [ARTICLE]
« Reply #4 on: July 10, 2007, 06:20:56 am »
Quote from: "Warrior"
Tremulous's Server Browser is more complete than various server browsers from similar games. Sorting by ping is simply great as sorting by map name, server name, player count and having the ability to see server information and being possible to search for a known nick.
You can also make a server browser that runs out of the game like the one r1ch made.

Of course.

OK, let me correct myself, the features are more or less well developed, but there are some things that i'm displeased with, for example the DEFAULT SORT SETTING. Apart from the default setting, the more sort options the better.

I personally sort by player count, right after I get the server list.
peace out

Warrior

  • Posts: 230
  • Turrets: +2/-0
    • Warrior's Stuff
The Tremulous server browser [ARTICLE]
« Reply #5 on: July 10, 2007, 06:34:29 am »
Oh, the default sorting... agree with you. I remember some attempts they made to the master server to avoid servers with characters that come before in the top of the list, but I think it is now accepting again (?)
Agree... a good default sort is the one you said ("so servers that send the hearbeat first have precedence over others"), i.e. they could change so more stable servers (higher uptime) appears first.
(It may not help people that avoid high ping servers though)

(Servers would need to return their uptime value... tjw's server report its uptime on his site)

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
The Tremulous server browser [ARTICLE]
« Reply #6 on: July 10, 2007, 06:47:37 am »
Quote from: "Warrior"
It may not help people that avoid high ping servers though
That is unrelated, it's when people do manual sorting.

Quote from: "Warrior"
Servers would need to return their uptime value... tjw's server report its uptime on his site)
No no no! That can be faked. Just write an earlyer value.
Here's how it's done (the default sorting, not the faking):
1. server sends a heartbeat.
2. master server does not need to record the time, just put the server in the server list AFTER all other servers.
3. servers that send heartbeats later will be listed after the previous server.
4. server resends the heartbeat overtime, because servers that don't send hearbeats for a longer period are considered to be shutdown, and thrown out of the list.
5. to reregister, ask the master server admin to put your server in front, and say "please we were hacked", or you can start again at the bottom of the list.

benmachine

  • Posts: 915
  • Turrets: +99/-76
    • ben's machinery
The Tremulous server browser [ARTICLE]
« Reply #7 on: July 10, 2007, 12:45:00 pm »
This may halt abuse by server ops, but as a client it's utterly useless to me. I see an apparently random assortment of servers, of different pings and names, all over the shop. I want to find some server X, I have absolutely no idea where to look.
benmachine

David

  • Spam Killer
  • *
  • Posts: 3543
  • Turrets: +249/-273
The Tremulous server browser [ARTICLE]
« Reply #8 on: July 10, 2007, 02:12:50 pm »
sort by ping is fixed and default in 1.2
Any maps not in the MG repo?  Email me or come to irc.freenode.net/#mg.
--
My words are mine and mine alone.  I can't speak for anyone else, and there is no one who can speak for me.  If I ever make a post that gives the opinions or positions of other users or groups, then they will be clearly labeled as such.
I'm disappointed that people's past actions have forced me to state what should be obvious.
I am not a dev.  Nothing I say counts for anything.

Plague Bringer

  • Posts: 3815
  • Turrets: +147/-187
The Tremulous server browser [ARTICLE]
« Reply #9 on: July 10, 2007, 03:15:07 pm »
Your point?
U R A Q T

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
The Tremulous server browser [ARTICLE]
« Reply #10 on: July 10, 2007, 03:21:08 pm »
Quote from: "David"
sort by ping is fixed and default in 1.2

uh oh

David

  • Spam Killer
  • *
  • Posts: 3543
  • Turrets: +249/-273
The Tremulous server browser [ARTICLE]
« Reply #11 on: July 10, 2007, 03:26:47 pm »
Quote from: "benmachine"
This may halt abuse by server ops, but as a client it's utterly useless to me. I see an apparently random assortment of servers, of different pings and names, all over the shop. I want to find some server X, I have absolutely no idea where to look.


Its not random, its just the ^1 is taken when sorting by name.

So it sorts by colour and then by name, which sucks.
Any maps not in the MG repo?  Email me or come to irc.freenode.net/#mg.
--
My words are mine and mine alone.  I can't speak for anyone else, and there is no one who can speak for me.  If I ever make a post that gives the opinions or positions of other users or groups, then they will be clearly labeled as such.
I'm disappointed that people's past actions have forced me to state what should be obvious.
I am not a dev.  Nothing I say counts for anything.

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
The Tremulous server browser [ARTICLE]
« Reply #12 on: July 10, 2007, 06:19:49 pm »
Quote from: "David"
Quote from: "benmachine"
This may halt abuse by server ops, but as a client it's utterly useless to me. I see an apparently random assortment of servers, of different pings and names, all over the shop. I want to find some server X, I have absolutely no idea where to look.


Its not random, its just the ^1 is taken when sorting by name.

So it sorts by colour and then by name, which sucks.


The servers are sorted by name, not randomly. But mainly not because of the color, but specifically because of the 0x01 and other characters. Here is a list of my currently downloded list of abusers, their server names and character numbers (they are not sorted here):

 MetalHeads
14 32 94 52 77 94 55 101 116 97 108 94 52 72 94 55 101 97 100 115

Fun-Zone
14 14 14 14 14 14 14 14 94 50 70 94 51 117 110 94 55 45 94 50 90 94 51 111 110 101

A[AKKA] Tremulous 1.1.
1 1 1 1 1 65 94 49 91 65 75 75 65 93 32 94 50 84 114 101 109 117 108 111 117 115 32 49 46 49 46

PureTremulous
1 1 94 49 80 117 114 101 94 52 84 114 101 109 117 108 111 117 115

 Planeta Moscow
2 32 94 50 80 94 55 108 97 110 101 116 97 32 94 50 77 94 55 111 115 99 111 119

~*Monster^9 Server*~
2 94 51 126 42 94 52 77 111 110 94 55 115 116 101 114 94 57 32 83 101 114 118 101 114 94 51 42 126 94 55

^AA^S11.Info^AA^
1 1 1 1 1 94 8 65 65 94 2 83 49 49 46 73 110 102 111 94 8 65 65 94 7 1 1 1 1 1

    A V A L A N C H E
1 32 32 32 32 94 53 65 32 86 32 65 32 76 32 65 32 78 32 67 32 72 32 69 94 55

 {KOC} KOCOUR-CZ TRAIN
25 32 94 51 123 94 49 75 79 67 94 51 125 94 49 32 75 79 67 79 85 82 45 67 90 32 84 82 65 73 78

 KOCOUR-CZ LEAGUE
25 32 94 49 75 79 67 79 85 82 45 67 90 32 94 51 76 69 65 71 85 69 94 55

 KOCOUR-CZ
25 32 94 49 75 79 67 79 85 82 45 67 90 94 55

 Dretch*Storm 
1 1 1 1 32 94 49 68 114 101 116 99 104 94 51 42 94 49 83 116 111 114 109 32 94 55 1 1 1 1

    EVIL    
6 6 6 94 49 32 32 32 32 69 86 73 76 32 32 32 32 94 55 6 6 6

      [these are vertical tabs, the forum page omits it]      D*S Relic            
9 9 9 9 94 49 68 94 51 42 94 49 83 32 94 55 82 101 108 105 99 9 9 9 9

      [these are vertical tabs, the forum page omits it]      D*S Domination            
9 9 9 9 94 49 68 94 51 42 94 49 83 32 94 55 68 111 109 105 110 97 116 105 111 110 9 9 9 9

^8Relimination@hsp.hk
94 56 1 94 53 82 101 108 105 109 105 110 97 116 105 111 110 94 51 64 94 49 104 115 112 46 104 107

With characters of lower value, people can bring the server in front, according to the server name sort.
// took me a while to spam this  :P

benmachine

  • Posts: 915
  • Turrets: +99/-76
    • ben's machinery
The Tremulous server browser [ARTICLE]
« Reply #13 on: July 10, 2007, 10:04:12 pm »
Quote from: "David"
Its not random, its just the ^1 is taken when sorting by name.

So it sorts by colour and then by name, which sucks.

Er, I was speaking hypothetically - if this idea to rank servers by startup time was implemented.
My SVN backport client, when sorting by name, ignores non-alphanumeric characters in front of the name, which makes a lot of sense. Now we just need to disallow black colour codes and all will be well.
Alternatively, we order the servers based on their objective level of quality, determined by our quality server-o-meter.
benmachine

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
The Tremulous server browser [ARTICLE]
« Reply #14 on: July 11, 2007, 03:53:33 am »
Quote from: "benmachine"
My SVN backport client, when sorting by name, ignores non-alphanumeric characters in front of the name, which makes a lot of sense.
Excellent.
Quote from: "benmachine"
Now we just need to disallow black colour codes and all will be well.
Ah yes, IMO dark and light grey should be implemented instead of black, which can only be used as system messages such as "debug: prediction error", and server error messages, such as "can't build, no power", respectively. Everything else should ignore dark grey. And menus basically would be near-black, so you can read everything, and it looks cool too.
Quote from: "benmachine"
Alternatively, we order the servers based on their objective level of quality, determined by our quality server-o-meter.
Yes that's basically what the time thing will do, but it isn't robust, so you're right, we can reorder some of the servers. Such as a uberlaggy server that was created a long time ago: move to the end.

jit

  • Posts: 258
  • Turrets: +4/-13
The Tremulous server browser [ARTICLE]
« Reply #15 on: July 11, 2007, 04:01:57 am »
i think we could all just use r1ch's tremulous browser :D

benmachine

  • Posts: 915
  • Turrets: +99/-76
    • ben's machinery
The Tremulous server browser [ARTICLE]
« Reply #16 on: July 11, 2007, 01:48:49 pm »
I still think ordering servers by time is a stupid way to do things because even if I was aware of the uptime of that server I still would not know the uptimes of all the others and so would have no idea where to look for it. After a moment of master server downtime the entire list would be resorted in a basically random fashion and people would have to look through the entire list one-by-one to find what they are looking for again.
Sort-by-ping is still the best option.
Kage: windows users here are in the minority, about two thirds of the forum will not find that useful.
benmachine

Paradox

  • Posts: 2612
  • Turrets: +253/-250
    • Paradox Designs
The Tremulous server browser [ARTICLE]
« Reply #17 on: July 12, 2007, 12:28:20 am »
I actually prefer qTracker. Same features as R1ch's browser, if you make a map pack for it, themes, and works for multiple games too.

∧OMG ENTROPY∧

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
The Tremulous server browser [ARTICLE]
« Reply #18 on: July 12, 2007, 02:56:36 am »
Quote from: "benmachine"
I still think ordering servers by time is a stupid way to do things because even if I was aware of the uptime of that server I still would not know the uptimes of all the others and so would have no idea where to look for it.
What that server? You mean the server you are looking for at a moment?
OK I don't know why you wouldn't know, because everyone would: The master server will send you the list preordered by time and quality, or any order the master desires to sort : svr[0] = ..., svr[1] = ..., this is how it gets displayed. If a server isn't where is supposed to be, it's probably been moved, check at the bottom.
Quote from: "benmachine"
After a moment of master server downtime the entire list would be resorted in a basically random fashion and people would have to look through the entire list one-by-one to find what they are looking for again.
And since when is the master restarted every now and then? Anyways, save the list to a .dat file. If admin permission don't funlily when a server is restarted, why would the master lack a saving feature?
BTW, looking through the list takes no more than 15 seconds.
Quote from: "benmachine"
Sort-by-ping is still the best option.
You don't understand what I mean. You may sort the list in any way you want, but until you click on any sort option, by default, it's sorted in the way you receive it, which would typically be uptime.

benmachine

  • Posts: 915
  • Turrets: +99/-76
    • ben's machinery
The Tremulous server browser [ARTICLE]
« Reply #19 on: July 12, 2007, 12:53:41 pm »
I mean, having played on a server quite liking it yesterday, I come back today and under your system cannot find it. It is, in effect, an unsorted list, and by my standards may as well be random. Inevitably, I'm going to choose one of the available sorting methods to find my server more easily. Why not just have one pre-selected? Why not just have ping pre-selected, thus generally encouraging people to consider nearby servers and thus reducing lag in servers across the world?
benmachine

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
The Tremulous server browser [ARTICLE]
« Reply #20 on: July 13, 2007, 10:00:39 am »
Quote from: "benmachine"
I mean, having played on a server quite liking it yesterday, I come back today and under your system cannot find it. It is, in effect, an unsorted list, and by my standards may as well be random. Inevitably, I'm going to choose one of the available sorting methods to find my server more easily. Why not just have one pre-selected? Why not just have ping pre-selected, thus generally encouraging people to consider nearby servers and thus reducing lag in servers across the world?


Sorting servers by uptime IS the most non-random thing I can think of. And professional servers rarely go down for an hour.

However, you are right about moving players to servers with less ping.

I still want to see how the uptime sort feels like!

benmachine

  • Posts: 915
  • Turrets: +99/-76
    • ben's machinery
The Tremulous server browser [ARTICLE]
« Reply #21 on: July 13, 2007, 01:23:25 pm »
But I, as a player, do not know or care what the uptime of my server is, so long as it stays up while I'm on it. So why would I want all the servers of a specific uptime grouped together?
benmachine

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
The Tremulous server browser [ARTICLE]
« Reply #22 on: July 13, 2007, 02:47:58 pm »
To get more or less, a quality listing.
We either get a random listing, or do some unrandomization.
Dude, if you want, click on the ping sort.

benmachine

  • Posts: 915
  • Turrets: +99/-76
    • ben's machinery
The Tremulous server browser [ARTICLE]
« Reply #23 on: July 13, 2007, 02:57:17 pm »
Quote from: "/dev/humancontroller"
Dude, if you want, click on the ping sort.

That's the point, I am going to every single time. So why not just make it default?
benmachine

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
The Tremulous server browser [ARTICLE]
« Reply #24 on: July 17, 2007, 08:08:10 am »
Because Ping sorting can be exploited, so for PROs, just click the Ping sort while the list is being pinged (it's not like you are going to die from a click), for n00bz, well, they don't know what ping is. So we avoid noob exploitation.

tuple

  • Posts: 833
  • Turrets: +97/-80
The Tremulous server browser [ARTICLE]
« Reply #25 on: July 17, 2007, 12:59:43 pm »
As I understand it, the "special" characters in front of server names is taken care of in svn for the master server.  No server/client fix needed.

Sort by uptime?  So a very good server that actually has to restart the process gets punished, even though it's on a dedicated machine on a huge pipe one hop from the internet?  I can keep an empty little server running forever.  Uptime is not a measure of quality.  Ping very much can be.

It can also be the sign of a stable, old version of tremulous full of bugs and exploits as opposed to one of the community created builds which may need a restart every now and again but doesn't allow the bsuit bug, etc.

Uptime is bragging rights for geeks, a completely useless thing for new players looking to try out tremulous and wanting a good experience.  Help them get it, sort by ping by default.

edit: This is tremulous, there are no PROs  :roll:

Detarget

  • Posts: 6
  • Turrets: +0/-0
The Tremulous server browser [ARTICLE]
« Reply #26 on: August 12, 2007, 04:13:06 am »
Sounds pretty sweet. That would be nice to have an out of game browser though.
merge -sa gfsck
[No Results Found]

benmachine

  • Posts: 915
  • Turrets: +99/-76
    • ben's machinery
The Tremulous server browser [ARTICLE]
« Reply #27 on: August 12, 2007, 01:58:09 pm »
PIng sorting may be exploitable, but only marginally. To the GameArena servers, located in Australia (or so I understand) it is physically impossible for me to have a ping of less than 140 or so because I am about 70 light milliseconds away from them. Technology being as imperfect as it is, it is much more common for me to average 400 ping or even higher and with all the tricks in existence I doubt they could improve on that much.
So what ping sort by default does is keep european noobs mostly on european servers and american noobs mostly on american servers and so forth. Ping, while not perfect, has a strong correlation with playability of the game you join.
benmachine