Rune Central

The Official Rune Quake Message Board
It is currently Thu Mar 28, 2024 3:07 pm

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: ProQuake Scoreboard Pings
PostPosted: Fri Oct 14, 2005 11:26 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1255
Location: New Jersey, USA
CRMod Manual wrote:
ProQuake clients by default display ping times in the scoreboard. This feature works for any server (crmod or non-crmod). Ping times are normally updated once every five seconds while the scoreboard is being displayed, but crmod 6.0 sends messages to update the ping times once every second.


I added this feature to Rune Quake.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Oct 15, 2005 12:17 am 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
Just an oddball question ... this won't give players like Bam more lag, will it?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Oct 15, 2005 12:32 am 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1255
Location: New Jersey, USA
It's a small amount of data and it's only being sent once a second so it won't be noticeable at all.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 16, 2005 3:49 am 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
I don't know if it is this feature, but Yellow No. 5 had a ton of trouble today with staying connected with QRack, Bam lagged out a lot more than normal and if I played with ProQuake everything was fine but both JoeQuake 0.14 Dev and 0.15Dev had big trouble on E4M3.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 16, 2005 12:24 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1255
Location: New Jersey, USA
I just connected with JoeQuake 0.14DEV on port 26000 (total 15 players) and had no problems.

I'm guessing it's a coincidence. There was a problem this morning with high pings, but it had nothing to do with the mod or linux server.

You could also try playing on the rocket arena server, which is using an older progs that doesn't include this feature.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 16, 2005 1:00 pm 
Offline
quake.intertex.net
User avatar

Joined: Sat Nov 15, 2003 7:39 pm
Posts: 243
Location: Kansas City!
Strangely on runequake if I allow Qrack to recieve pqc_ping_times i get erroneous pings up to 3000+, so I commented it out and the scoreboardpings work fine now. It only updates when the client holds the TAB key. I think that pqc_ is mainly for local console on the server right?
I'm sure its something wacked out on my side when implementing that feature.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 16, 2005 1:25 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1255
Location: New Jersey, USA
No, the pqc_ functions in the engine are client-side. They are used to parse extra data sent by the server for team related stuff (hud frags, hud color, hud time), plus it allows you to update ping times so that when you make changes to svc_updatename, the standard ping parser won't get screwy.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 16, 2005 1:28 pm 
Offline
quake.intertex.net
User avatar

Joined: Sat Nov 15, 2003 7:39 pm
Posts: 243
Location: Kansas City!
Hmm, interesting...

I need to look why qrack fubars on that :shock: , it happens on CRmod servers too :(


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 16, 2005 2:55 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1255
Location: New Jersey, USA
Baker wrote:
I played with ProQuake everything was fine but both JoeQuake 0.14 Dev and 0.15Dev had big trouble on E4M3.


What exactly do you mean by "big trouble"? Does JoeQuake support scoreboard pings? I think his latest release (0.15 build 1140) does but the whatsnew.txt says it's broken (reports all 0).

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 16, 2005 4:11 pm 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
Slot Zero wrote:
Baker wrote:
I played with ProQuake everything was fine but both JoeQuake 0.14 Dev and 0.15Dev had big trouble on E4M3.


What exactly do you mean by "big trouble"? Does JoeQuake support scoreboard pings? I think his latest release (0.15 build 1140) does but the whatsnew.txt says it's broken (reports all 0).


It is broken. I froze when being killed and JoeQuake 0.15 simply froze and locked up, I had been playing 15-20 minutes on the Start map with no issues.

Then I reverted to JoeQuake 0.14 DEV, because I thought the freeze might have something to do with a bug in 0.15 DEV, and froze about 1 minute into the game.

I'll keep watching it and testing it and see if it happens again and the circumstances,.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 16, 2005 5:25 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1255
Location: New Jersey, USA
I played on the 26000 server for more than 30 minutes with the latest JoeQuake and did not experience any lock ups. One of the levels that was played was E4M3. I did experience some textures issues when the level changes though.

Toyo and Cherrie were playing and I believe both of them were using JoeQuake at the time.

The scoreboard pings shouldn't affect JoeQuake anymore than the time, frag, and color updates that are being sent in vote-team or vote-match mode.

If you do discover a relationship between the crashing and JoeQuake, please make sure that you test it on both servers where the scoreboard pings are enabled and not enabled.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 16, 2005 11:37 pm 
Offline
User avatar

Joined: Mon Apr 18, 2005 1:30 pm
Posts: 114
Last night when connecting to port 26002, I would immediately get an error and be disconnected:
host_error: cl_parseproquakemessage: pqc_ping_times > max_scoreboard
The ra port worked fine.

I had recently got a new version of qrack from sput and thought it might be that, but after trying an old version that has been stable and I've used for months I got the same error. So I tried Proquake, but the same thing happened but with this error:
host_error: cl_parseservermessage: svc_updatename > max_scoreboard

After a few tries I connected and played for a few min, then got the error again.
After that I asked sput about it and he gave a new version of qrack without pqc_ping_times. It worked fine and got no errors.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Oct 17, 2005 1:27 am 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
This may or may not have anything to do with Slot's changes, but after getting the crash in 0.15DEV, I reverted to 0.14DEV and got the crash again. I got another one today with 0.15DEV, but it mostly ran smooth but still bugs me.

The main reason it bugs me is that when 0.14DEV froze, it was a hard freeze and I've used 0.14 DEV enough over several months and such a thing like that had never happened in the past.

(It could be my setup, somehow my computer, my connection or my config. I'm not saying I know why, but the timing seemed strange.)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Oct 17, 2005 2:32 am 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
Correct, I never switched to JoeQuake 0.14DEV. So, I'm just going to assume it was the same problem as Yellow that was fixed.

I had copied the joequake-gl.exe into the JoeQuake folder to try 0.14DEV, but of course, it goes in the Quake folder. So I've only had this error with 0.15.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Oct 17, 2005 6:13 am 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1255
Location: New Jersey, USA
Baker wrote:
Correct, I never switched to JoeQuake 0.14DEV. So, I'm just going to assume it was the same problem as Yellow that was fixed.


Yellow's problem is a result of the scoreboard pings addition. The problem isn't in Rune Quake though, it's a problem with Qrack.

Your JoeQuake problem seems unrelated, or at least has yet to be associated with the scoreboard pings. If your goal is to find out, here's how you should go about testing it out:

  • Try to reproduce the problem on another server without scoreboard pings (ex: 26001).
  • If the problem still exists, it's not the scoreboard pings. Report the problem to Jozef.
  • If the problem doesn't exist, try connecting to a CRMod server.
  • If the problem exists, report the problem to Jozef.
  • If the problem doesn't exist, it's the scoreboard pings (report it to me).


Thanks,

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Oct 22, 2005 3:18 pm 
Offline
quake.intertex.net
User avatar

Joined: Sat Nov 15, 2003 7:39 pm
Posts: 243
Location: Kansas City!
Slot,

I'm trying to add pqc_ping_times to my ctf mod. So far every 5 seconds i stuff a command to the client that issues an impulse. The mod catches that impulse and records the time now and the last time that impulse was "caught"
the difference * 1000 = that client's ping.
Now im trying to send that to all clients but im having problems with the
cl.scores[ping/4096].ping = ping & 4095 part...
This is the routine i have so far
Code:
void (float ping)
pqc_ping_times =
{   
   WriteByte (MSG_ALL, SVC_STUFFTEXT);
   WriteByte (MSG_ALL, 1);
   WriteByte (MSG_ALL, PQC_PING_TIMES);
   WriteShortPQ (MSG_ALL, ping);
   WriteString (msg_type, string_null);
}; 

the mod loops thru a find player loop and calls pqc_ping_times(player.ping)
but then everyone has the same ping reported :shock: should ping be
(ping +(client_num*4096)) ?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Oct 22, 2005 8:41 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1255
Location: New Jersey, USA
sputnikutah wrote:
So far every 5 seconds i stuff a command to the client that issues an impulse. The mod catches that impulse and records the time now and the last time that impulse was "caught" the difference * 1000 = that client's ping.


If you're using the internal.qc project included with qccx, you can get a clients ping this way,

Code:
float (entity e)
client_ping =
{
   local float i, ping;

   for (i = 0 ; i < %16 ; i = i + %1)
      ping = ping + (e.cl[CL_PING_TIMES + i] * 1000);

   ping = floor (ping / 16);
   if (ping < 0)
      ping = 0;
   else if (ping > 9999)
      ping = 9999;

   return ping;
};


sputnikutah wrote:
the mod loops thru a find player loop and calls pqc_ping_times(player.ping) but then everyone has the same ping reported :shock: should ping be (ping +(client_num*4096)) ?


Yes, however, don't loop through the players and call pqc_ping_times(), loop through the players inside pqc_ping_times().

For example,

Code:
void ()
pqc_ping_times =
{
   local entity e;
   local float i, ping;

   WriteByte(MSG_ALL, SVC_STUFFTEXT);
   WriteByte(MSG_ALL, 1);
   WriteByte(MSG_ALL, PQC_PING_TIMES);

   e = world;
   for (i = 0; i < 16; i = i + 1)
   {
      e = nextent (e);
      if (e.classname == "bodyque")
         i = 16;
      else if (e.cl[CL_ACTIVE] == %1 && e.delay)
      {
         ping = e.delay;
         if (ping > 4095)
            ping = 666;
         WriteShortPQ (MSG_ALL, ping + (i * 4096));
      }
   }

   WriteShortPQ (MSG_ALL, 0);
   WriteString (MSG_ALL, string_null);
};


I use the .delay field to store the client ping. I populate this in PlayerPreThink() every second. Make sure that each client's ping value isn't less than zero or greater than 4095 or else it will screw up the client number.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 23, 2005 2:04 am 
Offline
quake.intertex.net
User avatar

Joined: Sat Nov 15, 2003 7:39 pm
Posts: 243
Location: Kansas City!
:) cool seems to work like a champ thanks!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Oct 23, 2005 5:54 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1255
Location: New Jersey, USA
You're welcome!

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Nov 03, 2005 10:34 pm 
Offline
quake.intertex.net
User avatar

Joined: Sat Nov 15, 2003 7:39 pm
Posts: 243
Location: Kansas City!
Oddly, in runequake (not crmod) with pq_scoreboardpings 1 i get wacky pings, if i remove pqc_pingtimes from the cl_parse its all good. :O who knows but eitherway i dont update the scorboard to require it... i guess ill have to deal with a blank ping when crmod write "ready" next to my name :<
(oh wait who plays crmod anymore ?! ehehe)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 37 guests


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 post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group