Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   Questions about V6 (https://forums.graalonline.com/forums/forumdisplay.php?f=196)
-   -   "dont use UDP for data packages" (https://forums.graalonline.com/forums/showthread.php?t=86335)

Frankie 06-13-2009 07:36 PM

"dont use UDP for data packages"
 
what exactly is UDP and why is there an option to turn it on and off?

it causes a pretty big problem. for example on Era, if you're raiding a gang base and someone walks in with the "don't use UDP" option checked, you can't see them but they can still run around and shoot you. it's pretty stupid.

Crono 06-13-2009 08:08 PM

I think it's what they call a 'network protocol'. Checking it means you're using TCP.

UDP doesn't readily work if you're behind a router and don't have the required port(s) forwarded. For people who don't know how to get it to work, checking it is the only way they'll be able to see other people move and vice versa.

Hiro 06-13-2009 08:15 PM

it's a type of internet protocol for, from what i understand, is host-to-host connections through IPv4 or IPv6, so it's good for a lot of users making small requests, as opposed to TCP which isn't as time sensitive or useful to a large number of players, it's something about the difference between dropping packets or suspending them.

sometimes when you have a lot of packet loss, turning on UDP will make it so the packets don't have to be checked, so though it will come in in pieces, it will still get through. this may explain your shooting "glitch" which results from this. however, without the option, the player wouldn't be able to even play, and it doesn't affect everyone like that - sometimes nothing messes up from switching, though it seems to affect the sword detection or hitbox of everyone who switches.

DustyPorViva 06-13-2009 08:20 PM

It could possibly be on your end, why other players aren't moving. Have you personally tried changing the option and seeing what happens? I notice that if I have two accounts connected to the same server, I can't see my other player move without enabling UDP.

Also... I've always been curious. Do you have to restart Graal for this option to take effect or what?

Crono 06-13-2009 08:31 PM

You don't have to restart Graal.

Skyld 06-13-2009 09:06 PM

Technical explanation:

TCP (Transmission Control Protocol) works on connection state. A TCP connection needs to be negotiated before it will transfer data, but the plus side is that if a packet gets damaged or goes missing, it gets retransmitted. TCP transfer takes place only between the player and the gserver, but is a lot more resilient to slow or unreliable connections like dial-up or 3G.

UDP (User Datagram Protocol) is connectionless, so you don't need to establish a connection before you can send data. But you don't have any guarantees that a UDP packet will get there, because if it gets corrupted, it won't be retransmitted. They are much smaller packets because they have less overhead, so they are faster to transmit. The Graal client uses UDP to transmit packets between players.

Firewalls require properly forwarded ports for UDP packets to work, whereas TCP is generally a lot more home router-proof because the connection negotiation makes a window through your firewall and that same window is used for the rest of the session. If your router is not properly configured then UDP packets can get lost and since it's not designed to detect errors, it will never retransmit the packets. A lot of people on unstable connections choose to disable UDP because that way if their connection corrupts some packets, they will be retransmitted properly by TCP. It is a bit slower to do this, though.

Simple explanation:

If UDP works well for you, then use it, because it's faster and lighter on connection resources/bandwidth. If UDP doesn't work (you don't see other players moving, you get a dialog explaining UDP is broken) then disable it because TCP will guarantee your connection, although at the cost of speed. If you disable UDP then the gserver makes sure to send player movement and changes through TCP instead.

fowlplay4 06-13-2009 11:05 PM

If Era finds it neccesary there's always the:

PHP Code:

Clientside:
$pref::graal::fixedudpport integer
$pref
::graal::noudp boolean 

To disable people who are abusing it openly.


All times are GMT +2. The time now is 04:03 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.