smoothee
Old Alpha
- Joined
- Sep 22, 2005
- Posts
- 719
- Location
- California
- Society
- -=The Rebellion=-
- Avatar Name
- || Chaos ||
First off, in certain locations and during certain times of the day there is some serious network lag and that's to be expected until this new version is a little more mature. However, I think you have a bug in your implementation and I'll explain:
Some background for the 99.99999% of people who are not network programmers. There are 2 main types of network packets:
1: TCP. TCP is a network type that is very slow but is guaranteed to be delivered and IN ORDER. This is how versions BELOW v10 transmitted most/all data.
2: UDP. This is very fast but is prone to huge errors due to little or no error checking. this is what most of v10 uses. (this is an educated guess. I've not set up any tests but it's painfully obvious this is the case. Testing this might also be a violation of the TOS so there we are...)
The problem is that when I'm hunting in a high lag area, the UDP packets come in OUT OF ORDER. So for example,
Packet 1 says: I'm hit for 115hp and my hp is now 100.
Packet 2 says: I'm hit for 75 and my hp is now 25.
If these 2 packets are reversed due to lag it will MAKE MY HEALTH BAR SHOW 100 and not 25. The server knows it's at 25 and when I'm hit for 26 I'm dead. Laying on the ground, dead, with my health bar showing I have another 75 hp is frustrating as hell.
Solution: NUMBER THE PACKETS
This is how every single other MMO works. PLEASE DO IT FOR UDP SO I CAN SEE MY ACTUAL HEALTH!
EDIT: a discussion about the introduction of TCP/UDP mix begins at the end of page 2. This is a better solution but will take them more time to implement and is certainly not as simple. I'll bet that a year from now this is how it will work but they need to get some kind of half-way solution to this in place now.
Some background for the 99.99999% of people who are not network programmers. There are 2 main types of network packets:
1: TCP. TCP is a network type that is very slow but is guaranteed to be delivered and IN ORDER. This is how versions BELOW v10 transmitted most/all data.
2: UDP. This is very fast but is prone to huge errors due to little or no error checking. this is what most of v10 uses. (this is an educated guess. I've not set up any tests but it's painfully obvious this is the case. Testing this might also be a violation of the TOS so there we are...)
The problem is that when I'm hunting in a high lag area, the UDP packets come in OUT OF ORDER. So for example,
Packet 1 says: I'm hit for 115hp and my hp is now 100.
Packet 2 says: I'm hit for 75 and my hp is now 25.
If these 2 packets are reversed due to lag it will MAKE MY HEALTH BAR SHOW 100 and not 25. The server knows it's at 25 and when I'm hit for 26 I'm dead. Laying on the ground, dead, with my health bar showing I have another 75 hp is frustrating as hell.
Solution: NUMBER THE PACKETS
This is how every single other MMO works. PLEASE DO IT FOR UDP SO I CAN SEE MY ACTUAL HEALTH!
EDIT: a discussion about the introduction of TCP/UDP mix begins at the end of page 2. This is a better solution but will take them more time to implement and is certainly not as simple. I'll bet that a year from now this is how it will work but they need to get some kind of half-way solution to this in place now.
Last edited: