Server Help

Trash Talk - defining one-way packet loss

Smong - Mon Mar 20, 2006 8:06 am
Post subject: defining one-way packet loss
Packet loss is the amount of packets that go missing. But subspace has c2s and s2c packet loss.

So my question is how would you define, say c2s packet loss? A c2s packet may always be arriving at the server, but the ack just doesn't come back (s2c loss). Or the packet may never reach the server (c2s loss). As you can see there are two types of loss when sending a c2s packet, but the client doesn't know which one it is, or can it?

some possible formulas:
loss as % = 100 - # acks rec'd * 100 / # sends
loss as % = 100 - # unique sends * 100 / # sends
Mine GO BOOM - Mon Mar 20, 2006 11:05 am
Post subject:
The client remembers how many packets they sent/received. Every security packet, they send both of these numbers (and the weapon packet count received) to the server. The server compares these numbers to its own local count of packets sent/received. Do a percent error on this, and you result with the packetlosses.

Acks count as packets. The 0x00 0x0E (I think?) group packets only count as one. Pretty much anytime the physical send()/recv() functions are called, the counters get updated by one.
Chambahs - Mon Mar 20, 2006 1:45 pm
Post subject:
This is proof that you two have been playing too long.
Smong - Mon Mar 20, 2006 5:26 pm
Post subject:
So what you're saying is the only way to do it is to have one end tell the other how many packets it has received. It can't be done by looking at the number of reliable packets sent and the number of acks that came back.

With this reasoning then only the server truly knows the packet loss since the server never tells the client how many packets it has sent/received.
Dr Brain - Mon Mar 20, 2006 7:22 pm
Post subject:
That's why the client command ?ping doesn't show packetloss but the server command ?lag does.
BDwinsAlt - Mon Mar 20, 2006 9:07 pm
Post subject:
Then couldn't you make continuum think your sending 4 times the packets and force yourself to send 4 times less the packets? But then also recieving the right amout of packets. Making your lag horrible but the other players come in clear. Either that or im just an idiot. :wink:
Mr Ekted - Mon Mar 20, 2006 10:16 pm
Post subject:
Yes, but only if you could modify the client (which is encrypted itself) or make your own (in which case you would need to reproduce the cont encryption).
Cerium - Mon Mar 20, 2006 10:31 pm
Post subject:
Not necessarily. You could setup a proxy server to do something like that, assuming you had the crypto stuff. Could easily make the proxy send dummy packets to make up for any packet loss. Though, the only real use for this would be cheating, but... whatever.
Dr Brain - Tue Mar 21, 2006 12:35 am
Post subject:
Cerium wrote:
Not necessarily. You could setup a proxy server to do something like that, assuming you had the crypto stuff. Could easily make the proxy send dummy packets to make up for any packet loss. Though, the only real use for this would be cheating, but... whatever.


You'd still have to be able to decrypt and encrypt continuum's packets.
Cerium - Tue Mar 21, 2006 2:54 am
Post subject:
Indeed... thats why I said this:

Cerium wrote:
...assuming you had the crypto stuff.

SpecShip - Tue Mar 21, 2006 9:11 am
Post subject:
Dr Brain wrote:
That's why the client command ?ping doesn't show packetloss but the server command ?lag does.



Which is why the client command ?packetloss (which is actualy server side - client sends a query to the server to process and reply) was put in place, since VIE.


BTW, twister is working with cont 0.38.
Mine GO BOOM - Tue Mar 21, 2006 1:08 pm
Post subject:
SpecShip wrote:
Which is why the client command ?packetloss (which is actualy server side - client sends a query to the server to process and reply) was put in place, since VIE.

Incorrect. The client has no idea what ?packetloss is or does. It just sends the string to the server and forgets about it. The server sends back an arena message with the string. If you want, you could have the server send back "You lag and you know it, you don't need numbers" instead of the normal responce, and the client won't know the difference.
newb - Tue Mar 21, 2006 2:54 pm
Post subject:
In Cont, I got this:

lp_street_> ?packetloss
PACKET LOSS Unknown, check again in a few minutes.
Purge - Tue Mar 21, 2006 3:34 pm
Post subject:
Maybe you did it once you entered? It needs time to read your settings.
newb - Tue Mar 21, 2006 4:15 pm
Post subject:
This was like 15 minutes in the game, but yeah, it works now. sa_tongue.gif
SpecShip - Tue Mar 21, 2006 8:47 pm
Post subject:
Funny Murphy, this is exactly what I've said.
But you're too boneheaded to figure it out, aren't you?
Cerium - Tue Mar 21, 2006 9:43 pm
Post subject:
The way you said it implies that its a client-side command that sends a special packet to the server.
Smong - Wed Mar 22, 2006 8:24 am
Post subject:
It seemed like you both said the same thing to me.

Anyway purge, I doubt it has anything to do with settings, more likely the server waits for a certain amount of packets to be sent to get a good sample size.
SpecShip - Wed Mar 22, 2006 10:55 am
Post subject:
It's a packet alright, but nothing special about it.
It just says execute function X and tell me what you got in result.

BTW, murphy said it is an arena message.
Which strikes me odd since it is confined to my eyes only, so to speak (at least I'm SURE no other players are getting spammed by the server as consequence of my ?packetloss queries and vice versa).
Smong - Wed Mar 22, 2006 11:19 am
Post subject:
The message is only sent to you, it's a chat message of the 'arena' type so it appears green.
Dr Brain - Wed Mar 22, 2006 2:14 pm
Post subject:
You said it was a client command, which is incorrect. That's what MGB was talking about.
Mr Ekted - Wed Mar 22, 2006 2:28 pm
Post subject:
?ignore is a client command.
SpecShip - Wed Mar 22, 2006 8:46 pm
Post subject:
Depends on the subtleties of the language and your point of view, Dr Brain.

?packetloss is a client command, which is server authoratitive, or something to the sort.
By issuing ?packetloss, you invoke a client-side function which orders the client (hence command, client command) to send a packet to the server asking (or is it ordering the server? hence server command?) it to execute a certain function.
The server execute the function (which happens to be the entire packetloss actual calculus) and pms the client back the results.


I think Murphy's actual point was that, or at least it'll be mine if I'm going to be pedantic about it, it is not a query as I've said but rather a simple "run packetloss check routine".
There is no return value expected (hence != query), the server could have done the check and say nothing, say you're stupid leeroy, say stfu lagger, etc. whatever "it wishes" (or the coder made it do), the entire packetloss routine could've been a null(); and the client software wouldn't care.
Dr Brain - Wed Mar 22, 2006 9:57 pm
Post subject:
By that defintion, all commands are client side. Is ?ban a client command?
Mine GO BOOM - Wed Mar 22, 2006 11:48 pm
Post subject:
SpecShip wrote:
I think Murphy's actual point was that, or at least it'll be mine if I'm going to be pedantic about it, it is not a query as I've said but rather a simple "run packetloss check routine".

No, my point is that the client notices that the message starts with a ?, runs it threw a parser to see if it is a real client command (?sound, ?ping, ?go, etc). If not, it sends the string as a normal message to the zone, no different that you typing "duel me newb" that you are so fond of. The client does not know the difference between you typing ?packetloss vs typing "lets all go out for drinks."
Muskrat - Thu Mar 23, 2006 12:43 am
Post subject:
Mine GO BOOM wrote:
the client notices that the message starts with a ?, runs it threw a parser....


Mine GO BOOM wrote:
The client does not know the difference between you typing ?packetloss vs typing "lets all go out for drinks."


Except that it checks it first, right? Or did you mean "?lets all go out for drinks."
Mine GO BOOM - Thu Mar 23, 2006 2:10 am
Post subject:
Muskrat wrote:
Except that it checks it first, right? Or did you mean "?lets all go out for drinks."

Yes, sorry.
All times are -5 GMT
View topic
Powered by phpBB 2.0 .0.11 © 2001 phpBB Group