www.QuakeServers.net Forum Index www.QuakeServers.net

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


ID Software Q3A Master Server

 
Post new topic   Reply to topic    www.QuakeServers.net Forum Index -> Servers and Hosting
View previous topic :: View next topic  
Author Message
luka
Normal User


Joined: 21 Dec 2014
Posts: 5
Location: Poland

PostPosted: Fri Dec 26, 2014 6:44 pm    Post subject: ID Software Q3A Master Server Reply with quote

Well, lots of bullshit about ID master server for Q3A can be found in the Internet.
So I decided to write few words on how the matter looks like.

monster.idsoftware.com
master3.idsoftware.com
master.quake3arena.com

All above point to the same IP address 192.246.40.56.
And YES, this server doesn't respond to echo requests but IT WORKS!!

The thing that may be confusing is the fact that using QStat 2.11 list of servers cannot be obtained.
I was quite amazing to me taking into account the fact that builtin Q3A server browser can obtain servers' list with no problem.
I done a bit of reseach with network sniffer and it turned out that QStat adds additional parameter in its query to master server.
This parameter is: "demo".

Code:

/* QUAKE 3 MASTER */
char q3_master_query_template[] = "\377\377\377\377getservers %s %s";
char q3_master_default_protocol[] = "68";
char q3_master_default_query[] = "empty full demo\n";


I've removed additional "demo" parameter from the code, recompiled it and QStat started working like a charm.
_________________
My Q3A servers' web page, statistics & forum
Back to top
View user's profile Send private message Visit poster's website
mli
Admin (QuakeServers.net)


Joined: 09 May 2005
Posts: 131
Location: Finland

PostPosted: Sat Dec 27, 2014 11:34 am    Post subject: Reply with quote

Thank you!

I've made the changes to QStat and now it works again! There were about 220 servers which were not included in QuakeServers.net hiding on that id Software master.

For anyone else needing the solution it was enough to remove the word demo and the space before it from the line:
Code:
char q3_master_default_query[] = "empty full demo\n";

The line is in file qstat.h
Back to top
View user's profile Send private message Send e-mail
luka
Normal User


Joined: 21 Dec 2014
Posts: 5
Location: Poland

PostPosted: Sat Dec 27, 2014 2:08 pm    Post subject: Reply with quote

You are welcome!

I also tried to mail Steve Jankowski, but his e-mail from QStat sources doesn't seem to be active anymore. I'm not sure if QStat project is already dead or not.

Moreover it looks like http://quakeservers.net counts bots as players. It would be nice to have information on how many human players are really playing Q3A nowadays.

One possible solution is simple heuristic:
Code:

player.ping == 0 ? ++bots : ++players;

It is true in most cases. Gives false positives only when human player is playing on Q3A server running on the same machine user has keyboard and mouse connected to. Such players tend to have 0 or 1 ms ping in game.
_________________
My Q3A servers' web page, statistics & forum
Back to top
View user's profile Send private message Visit poster's website
HuXX
Normal User


Joined: 15 May 2016
Posts: 4
Location: Hell

PostPosted: Wed May 18, 2016 9:55 pm    Post subject: Reply with quote

In which file i must add
Code:
player.ping == 0 ? ++bots : ++players;
in qstat?
Back to top
View user's profile Send private message
luka
Normal User


Joined: 21 Dec 2014
Posts: 5
Location: Poland

PostPosted: Mon Aug 08, 2016 1:28 pm    Post subject: Reply with quote

I don't remember if these are the only changes I made...
In one place I'm decrementing num_players if player ping equals 0.
In another place I skip player if ping equals 0.
As a result number of players should represent number of human players and bots are not printed as players.

Code:

void
standard_display_server( struct qserver *server)
{
...
    if ( new_style)  {
   char *game= get_qw_game( server);
   int map_name_width= 8, game_width=0;
   switch( server->type->id)  {
   case QW_SERVER: case Q2_SERVER: case Q3_SERVER:
       game_width= 9; break;
   case TRIBES2_SERVER:
       map_name_width= 14; game_width= 8; break;
   case GHOSTRECON_SERVER:
       map_name_width= 15; game_width= 15; break;
   case HL_SERVER:
       map_name_width= 12; break;
   default:
       break;
        }
        for (player = server->players ; player != NULL; player = player->next)
        {
            if (!player->ping)
            {
                --server->num_players;
            }
        }
        if (server->num_players > 0)
        {
...

void
display_q2_player_info( struct qserver *server)
{
    struct player *player;

    player= server->players;
    for ( ; player != NULL; player= player->next)  {
        if (!player->ping)
        {
            continue;
        }
   if ( server->flags & FLAG_PLAYER_TEAMS)
       fprintf( OF, "\t%3d frags team#%d %8s  %s\n",
      player->frags,
      player->team,
      ping_time(player->ping),
      xform_name( player->name, server));
        else
            fprintf( OF, "\t%3d frags %8s  %s\n",
                player->frags,
                ping_time(player->ping),
                xform_name( player->name, server));
    }
}

_________________
My Q3A servers' web page, statistics & forum
Back to top
View user's profile Send private message Visit poster's website
HuXX
Normal User


Joined: 15 May 2016
Posts: 4
Location: Hell

PostPosted: Sun Sep 04, 2016 9:59 pm    Post subject: Reply with quote

Ok thx. And in which file of the sourcecode you edited it? Embarassed
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    www.QuakeServers.net Forum Index -> Servers and Hosting All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



Powered by phpBB © 2001, 2005 phpBB Group