Author |
Message |
xor eax Novice
Joined: Jun 01 2005 Posts: 93 Location: Spain Offline
|
Posted: Wed Aug 17, 2005 11:37 pm Post maybe stupid Post subject: |
 |
|
|
|
I'm using: asss 1.4.0 built at Jun 3 2005 23:36:24 |
|
Back to top |
|
 |
Cerium Server Help Squatter

Age:43 Gender: Joined: Mar 05 2005 Posts: 807 Location: I will stab you. Offline
|
Posted: Thu Aug 18, 2005 5:13 am Post maybe stupid Post subject: |
 |
|
|
|
xor eax wrote: | It is solved.
Asss is not sending the packets in the right order. But it is my fault, I wasn't stacking the packets. Now I see that packets must be stacked and reordered to get the valid data (when downloading files from server). Subspace does it. I wasn't doing it because it seems not to happend with subgame...
Another thing...
I guess this must be a well know bug, but I found that a security checksum packet is usually received (from asss) during the map download, at login time. The level checksum sent by the client fails, of course, and it triggers a "Level checksum mismatch" security violation at server. I don't know which module is in charge of this but it needs a revision. |
1) Are you sending the packets reliably? Unless the code itself fucks up the order, thats the only way it should be able to happen. With something like an LVZ or level it should be sent reliably anyway, so make sure thats being done.
2) Subgame does the same thing, but seems to ignore the first incorrect level checksum. _________________ There are 7 user(s) ignoring me right now. |
|
Back to top |
|
 |
xor eax Novice
Joined: Jun 01 2005 Posts: 93 Location: Spain Offline
|
Posted: Thu Aug 18, 2005 9:59 am Post maybe stupid Post subject: |
 |
|
|
|
Cerium wrote: | 1) Are you sending the packets reliably? Unless the code itself fucks up the order, thats the only way it should be able to happen. With something like an LVZ or level it should be sent reliably anyway, so make sure thats being done. | They are reliable, but I'm not sending them, asss does. All I'm doing is ACKing them. The last map packet is being received a lot of packets before than it should, as you can see in this code (packet SIDs correspond to map packets):
Logging in, please wait...
--wli.lvl -Server checksum:3911AAD9
Logged in successfully
Compressed map size: 47261
...
Packet SID: 80
Packet SID: 81
Packet SID: 82
Packet SID: 83
Packet SID: 84
Packet SID: 85
Packet SID: 86
Packet SID: 87
Packet SID: 88
Packet SID: 89
Packet SID: 90
Packet SID: 91
Packet SID: 92
Packet SID: 93
Packet SID: 94
Packet SID: 95
Packet SID: 110 <--- (last map packet)
Packet SID: 96
Packet SID: 97
Packet SID: 98
Packet SID: 99
Packet SID: 100
Packet SID: 101
Packet SID: 102
Packet SID: 103
Packet SID: 104
Packet SID: 105
Packet SID: 106
Packet SID: 107
Packet SID: 108
Packet SID: 109
Uncompressed map size: 105888
Map received (wli.lvl) 3911AAD9
105888 bytes. |
But it could be my fault too... maybe I'm breaking protocol's flow somehow so asss consider that the map should be already sent or something like that...
Cerium wrote: | 2) Subgame does the same thing, but seems to ignore the first incorrect level checksum. | OK. So it seems to be an old bug. But, again, I think I'm breaking the protocol because this error is much more frequent in my bots than in Subspace. |
|
Back to top |
|
 |
Cerium Server Help Squatter

Age:43 Gender: Joined: Mar 05 2005 Posts: 807 Location: I will stab you. Offline
|
Posted: Thu Aug 18, 2005 5:02 pm Post maybe stupid Post subject: |
 |
|
|
|
The problem seems to be in your reliable packet handling...
If you receive a reliable packet with an ID higher than the next expected one (in this case 110 when you should be expecting 96), youre supposed to store it until 109 is received, then process it.
Reliable packets must be processed in the order they are ID'd which, as you can see, is not always the order theyre received. |
|
Back to top |
|
 |
Smong Server Help Squatter

Joined: 1043048991 Posts: 0x91E Offline
|
Posted: Thu Aug 18, 2005 5:23 pm Post maybe stupid Post subject: |
 |
|
|
|
Don't start sending position packets until you have the map downloaded, that way the server shouldn't ask you for a map checksum.
One reason the last map chunk comes early is because it is of a smaller size than all the other chunks. The bandwidth limiter might favour a smaller packet to try and use up all allotted bandwidth for that cycle. If you have time I invite you to look at the chunk packet code (and any related code) in asss and figure out why map downloads are slower than on subgame. |
|
Back to top |
|
 |
xor eax Novice
Joined: Jun 01 2005 Posts: 93 Location: Spain Offline
|
Posted: Thu Aug 18, 2005 6:07 pm Post maybe stupid Post subject: |
 |
|
|
|
Thank you very much, Cerium and Smong :)
I feel dumb about my "reliable problems" but I've learned the lesson.
I will look at the chunk packet code. About slow map downloads... is possible that asss is favouring game traffic against lvl/lvz traffic? |
|
Back to top |
|
 |
|