At which point in the logon sequences does bnet ipban you if you don't send the right stuff? Also, does bnet ipban you if you don't send a packet it expects in a certain time? In other words, is it safe to send a few packets of the logon sequences and see what you get back without implementing the entire logon sequences.
QuoteAt which point in the logon sequences does bnet ipban you if you don't send the right stuff?
Send the right stuff? If you break the BNCS protocol, bnet sends you a swift disconnect and ipban.
QuoteAlso, does bnet ipban you if you don't send a packet it expects in a certain time?
You get disconnected, as far as i know.
Quote from: Ender on December 28, 2005, 12:11 PM
At which point in the logon sequences does bnet ipban you if you don't send the right stuff? Also, does bnet ipban you if you don't send a packet it expects in a certain time? In other words, is it safe to send a few packets of the logon sequences and see what you get back without implementing the entire logon sequences.
Yes it's safe. Unless, of course, you send your packets incorrectly... then you'll get ipbanned anyway.
Providing that the packets are sent in the correct order then it's perfectably acceptable to send them at any time you wish and at any interval. However, if you send packets in an incorrect order then you will be disconnected and IP banned. You can't for example, create an account before passing the version check.
Quote from: Topaz on December 28, 2005, 12:30 PM
QuoteAt which point in the logon sequences does bnet ipban you if you don't send the right stuff?
Send the right stuff? If you break the BNCS protocol, bnet sends you a swift disconnect and ipban.
QuoteAlso, does bnet ipban you if you don't send a packet it expects in a certain time?
You get disconnected, as far as i know.
Hrm, I sent 0x50 incorrectly like three times yesterday and didn't get ipbanned. I even messed up the packet header on 0x50 and didn't get any kind of punishment. I guess that bnet lets you send some of the beginning packets incorrectly and just simply disconnects or ignores you, but when you get far enough in the logon sequences, it starts to punish you for mistakes and ipban you. I won't try my luck with sending 0x51 incorrectly, though.
Good to know that you can send some packets and see what you get back, without implementing the entire logon sequence, as long as you do it correctly. Thanks for the quick responses.
Quote from: Ender on December 28, 2005, 03:16 PM
Hrm, I sent 0x50 incorrectly like three times yesterday and didn't get ipbanned. I even messed up the packet header on 0x50 and didn't get any kind of punishment. I guess that bnet lets you send some of the beginning packets incorrectly and just simply disconnects or ignores you, but when you get far enough in the logon sequences, it starts to punish you for mistakes and ipban you. I won't try my luck with sending 0x51 incorrectly, though.
Good to know that you can send some packets and see what you get back, without implementing the entire logon sequence, as long as you do it correctly. Thanks for the quick responses.
With out knowing more about what exactly you sent to the Battle.net servers, I doubt your hypothesis. For example, say you send a packet with a specified length of 1 more byte. Then battle.net is going to be waiting for that 1 byte, yet your client is not going to send it; so there is nothing the server can really do other then timeout.
Would be interesting if someone could concretely map out all the different possible types of bans with associated evidence. Would be difficult, but useful.
Everyone, volunteer your proxies! j/k :P
Hey I suggest you setup a testbncs server. I don't think it has any emulation problems and it's VERY useful while climbing the 0x51 mountain.
Quote from: Warrior on December 28, 2005, 08:10 PM
Hey I suggest you setup a testbncs server. I don't think it has any emulation problems and it's VERY useful while climbing the 0x51 mountain.
I agree with that. You can test all your stuff on it without having to deal with getting keys banned and ipbanned.