Urban Terror Forums: [Bug + Workaround] 'Server Is For Low Pings'-> /Reconnect -> Fine - Urban Terror Forums

Jump to content

 Login | Register 
Advertisement
Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

[Bug + Workaround] 'Server Is For Low Pings'-> /Reconnect -> Fine Rate Topic: -----

#1 User is offline   mitsubishi Icon

  • Account: mitsubishi
  • Country:
  • Joined: 28-February 10
  • Posts: 13481
  • Notoriety: gone

Posted 15 January 2010 - 02:18 PM

EDIT: WORKAROUND included in later reply


[note to players: this is not normal, I heard the story before.]


This is more of a quirk rather than a bug but it's clear it's not proper behavior since the ping is accepted on a reconnect.

It goes like this: [server: about 80-100 ping to the player, requires <130]

- Hit Qtracker server to connect
- Quake3 opens and tries to connect to it
- 'Server is for low pings'
- 'Server is for low pings'
- /reconnect
- it's fine

(I suspect it may be better if run without an external browser)


also,
- 'server is full'
- 'server is full'
- <server apparently opens slot>
- 'server is for low pings only'
- 'server is for low pings only'
(apparently it bugs to think it was for high pings)
- /reconnect
- fine

I had gone through some code hunting to pin point the code affecting it but I stumbled into what I thought was mod code.

This post has been edited by mitsubishi: 25 January 2010 - 03:13 PM


#2 User is offline   don Icon

  • Account: don
  • Main tag: GlaD-
  • Joined: 28-February 10
  • Posts: 2633
  • Notoriety: basic (afk)

Posted 16 January 2010 - 03:31 AM

This bug didn't exist prior to 4.0, so it has to be in ioquake's code or the changes FS made to said code.
GlaD-don
Past teams:
Partners in Terror | The Dark | Team Terror | Noobs Gone Wild | Xor | Blight Gaming | Area 51 Gaming | Team Lzuruha | Besserman6 | Console | No Care Bears | Zing | Pro5 | American Idols | Team Canada | No Defiance | Unlimited Gaming
<3 to the people who built and sustained the North American competitive community over the years. xil, r, vex, icu, bos, .e, '`|v|~, iF, -x-, ill, un, xor, glad & all the rest. thanks for the games

#3 User is offline   mitsubishi Icon

  • Account: mitsubishi
  • Country:
  • Joined: 28-February 10
  • Posts: 13481
  • Notoriety: gone

Posted 25 January 2010 - 12:56 PM

When I went to look for it it looked like game code.

But now that you say it, it's possible it may be indirectly related even if it may not be engine's fault (i.e. requiring game fix or engine workaround).



Btw, this is an important error imo, it may make some people not play at all, as some asking-for-help threads here indicate.




after some #ioq3 discussion,
if you put a +wait 200 (on qtracker) it will wait for 200 frames (after it opens the client) and it may work but it's not guaranteed, and slow.

they believe it's a broken feature there (from its inception).



hm, i may have found a nasty workaround..

This post has been edited by mitsubishi: 25 January 2010 - 02:29 PM


#4 User is offline   mitsubishi Icon

  • Account: mitsubishi
  • Country:
  • Joined: 28-February 10
  • Posts: 13481
  • Notoriety: gone

Posted 25 January 2010 - 03:11 PM

OK I got a nice workaround on the .exe of my signature,

It does:
"Server is for low pings" ->>>> reconnect

it tries that at least twice.

If it sees "Server is full", it resets the 'twice' counter and retries.



That also means you don't have to wait on the client to hit /reconnect on a 'server is full' :D

This post has been edited by mitsubishi: 26 June 2010 - 11:26 AM


#5 User is offline   MaJ Icon

  •   verified user   
  • Account: maj
  • Country:
  • Joined: 07-May 09
  • Posts: 189
  • Notoriety: basic (afk)

Posted 25 January 2010 - 07:15 PM

View Postdon, on 16 January 2010 - 03:31 AM, said:

This bug didn't exist prior to 4.0, so it has to be in ioquake's code or the changes FS made to said code.


I believe this is a bug in ioQ3 that has existed all the way back to q3a. I thought about fixing it a while back but got lazy. If I recall the issue is with the server using the time of old challenge packets to calculate the ping. When the client sits there retrying the, ping the server calculates just keeps on growing.

If you take a look at the server log you should see a lot of lines like this:
Client <client number> connecting with <client ping> challenge ping

repeated with a larger ping each time.


The way to fix this behavior on the client is to start the entire process over on each retry. That means a new getChallenge packet, wait for a new challengeResponse, etc.....

To fix this on the server you'd have to fix the ping calculation which has some other issues that also allow a client to fake having a low ping on connect.

#6 User is offline   mitsubishi Icon

  • Account: mitsubishi
  • Country:
  • Joined: 28-February 10
  • Posts: 13481
  • Notoriety: gone

Posted 25 January 2010 - 07:42 PM

#ioq3 believed it's a broken feature from its inception, depended on quirks with internet routing.

which is truth be told, understandable in a simple manner: if you don't take an average but just the '1st' you're screwed by design.

hence it wouldn't be fixed if the initial 1st is done differently, an 'assessment' of a couple of seconds may be more reliable. (who does a 'ping' or a traceroute and just waits one result?)

(and if you kick people after a connect it might be worse, it has to be done early and fast potentially reducing its reliability)

This post has been edited by mitsubishi: 25 January 2010 - 10:49 PM


#7 User is offline   klabauterman Icon

  • Account: klabauterman
  • Main tag: aI|
  • Country:
  • Joined: 28-February 10
  • Posts: 240
  • Notoriety: basic

Posted 25 January 2010 - 07:49 PM

It clearly has also something to with antivirus software.

OT (ignore if you like):
Stupid G Data patronized me like crazy including causing this nuisance - trying to connect to a server with a ping of 50 and get this error, wtf.
Yesterday I finally reinstalled vista from scratch on my other partition (Star Force n other shit :roll:)
Now only the good stuff gets reinstalled :D
(Still undecided what AV to use from now on.)
»¿ʇᴉ əsnqɐ ʇ,uɐɔ noʎ ɟᴉ əpoɔᴉun sᴉ pooɓ ʇɐɥʍ«

#8 User is offline   mitsubishi Icon

  • Account: mitsubishi
  • Country:
  • Joined: 28-February 10
  • Posts: 13481
  • Notoriety: gone

Posted 28 January 2010 - 05:21 PM

View Postmitsubishi, on 25 January 2010 - 07:42 PM, said:

#ioq3 believed it's a broken feature from its inception, depended on quirks with internet routing.

which is truth be told, understandable in a simple manner: if you don't take an average but just the '1st' you're screwed by design.

hence it wouldn't be fixed if the initial 1st is done differently, an 'assessment' of a couple of seconds may be more reliable. (who does a 'ping' or a traceroute and just waits one result?)


let me continue on this and say, maybe this workaround is not just a workaround in its core (though it is technically one here in this implementation), since it could be considered a sane design decision that 'since it's already not so reliable, why not at least do the test of 'low pings' at least twice or three times?' Hence 'do the single-ping test, but do it twice at least'.

Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users

Advertisement


Copyright © 1999-2017 Frozensand Games Limited  |  All rights reserved  |  Urban Terror™ and FrozenSand™ are trademarks of Frozensand Games Limited

Frozensand Games is a Limited company registered in England and Wales. Company Reg No: 10343942