• Welcome to Valhalla Legends Archive.
 

Diablo II game desynching

Started by warz, April 13, 2006, 06:11 PM

Previous topic - Next topic

warz

Is there a way to create lag in a diablo game so that the game desynchs? There's a way to do so, but it requires like 4 people all shooting the same spell for a while. I was wondering if there's a way to mimic this without having to have a large amounf of people in the game

Juniper

Did anyone managed to do this? any who cares to shed some light on how he accomplished it?
What are the qualities of desynching a game anyway? doesn't it drop the player right away from the game? or does it keep the player in the game but the server isn't fully aware of what the player is doing?

I feel like the "desynching" term isn't quite clear, could anyone  explain?

J

warz

#2
The idea of game desynching, contrary to some peoples belief, has nothing to do with client-side lag. Most people, when trying to 'create lag', simply download a large file while playing - all this does is slow your connection to the d2gs and will, in the long run, disconnect you from the game and accomplish nothing at all.

To achieve the result you're aiming for you want to cause server stress. You will need to abuse some feature of the game and make the server itself slow for a little bit. This is achieved most easily by getting a few necromancers, with a lot of poison skills and bonewall, to join a game and all shoot their spells at once over and over.

Now, in my original post I asked if anyone had tried doing this without needing multiple people in one game. I will tell you, it is possible and I had limited success duping items (it still requires somebody to create a different game, and wait for you) alone. It does require debugger knowledge and a little bit of reverse engineering - or atleast the way I went about doing this did.

Would desynching the game cause a player to drop? Not necessarily, remember, it's the server itself slowing down due to too much stuff going on at once. No, you don't drop right away.

Quote
or does it keep the player in the game but the server isn't fully aware of what the player is doing?

Bingo. :-)
Desynching the game is the best term I can think of to describe what's happening.

Ringo

Put 2 dream rune words on a merc, then remove/put one back on the merc 100's of times. (the server has a memory leek).
Then lag dupe away.

Juniper

Hi,

QuoteYou will need to abuse some feature of the game and make the server itself slow for a little bit
That's easier said than done, isn't it?  :)
It would be great if could elaborate on this. Please.
I haven't tried it myself yet, but I read that generating packets and sending them to b.net servers is a quick way to find yourself banned. I might be wrong.. so correct me if I am.

Did you use some sort of packet manipulation to achieve desynching?

J

warz

Quote from: Juniper on June 20, 2006, 09:41 AMDid you use some sort of packet manipulation to achieve desynching?

Yes, but I did it a rather difficult way and do not suggest doing it this way. I called Diablo's own packet handling functions to send desired packets while in-game. This requires quite a bit of memory patching and dll injection, but it works. I've never heard of the method that Ringo speaks about.

Quote from: JuniperThat's easier said than done, isn't it?

Well, considering it can be done without manipulating the game itself, and by using only the default client - no, it's as easy as it sounds. The only reason that I chose to investigate further is because I didn't know 7 people that played diablo 2 at the time. :-P

Juniper

Like I mentioned, I read that  sending some packets to b.net could be a bad idea,it seems like you know which packets can be sent without causing the server to kick you out, would you mind sharing which packets? or at least share which action the packet you sent represented?

A bigger question that came into mind, after reading this post again, is that I actually have no idea how one can actually tell when a game is desynched.
How do you know for a fact that the game you're in right now is desynched? and for how long will it stay that way?

thanks,
J

UserLoser

#7
Desynchronizing in a Diablo II game doesn't really make much sense...things are not syncronized like say, Starcraft games are.  Ever get a "black wall?"  That's just proof enough that the game doesn't keep you synchronized.

Btw, having many people recast same spell over and over (i.e. some necromancer spells) to cause "lag" doesn't really cause lag.  It's just your game lagging because of the graphics involved having to be redrawn so fast over and over... Your client would slow up, not the server.  By sending so many cast requests to the server it's just sending another message...If you run around in circles, you'll be sending even more packets to the server than you would by reclicking over and over to cast a spell...

So many common rumors out there about "hacking" Diablo II that are so bogus it's rediculous.   Once again, your client lagging due to downloading a "large file" and having it cause lag on Diablo II is just rediculous.  You, the client, is what sends the packets to the server in a larger interval will not cause any method of duping to be available.  You could just run in circles with a larger radius and send the same packets to the server, just at greater intervals, understand?

There is no lag dupe, you cannot dupe from your client causing lag.  Your only bet is to find a server exploit and think of it from the server's programmers point of view.  What are things they may have overlooked and how you could exploit it to make a dupe?  What things could cause memory leakage to crash the server? etc.

Juniper

Ofcourse, but there's a difference when it happens to you by "mistake" and when you make it happen.
The questions I asked warz are still relevant (for me anyway).

J

warz

#9
Quote from: UserLoser on June 21, 2006, 01:23 AMBtw, having many people recast same spell over and over (i.e. some necromancer spells) to cause "lag" doesn't really cause lag.

There is no lag dupe, you cannot dupe from your client causing lag.

I haven't played since April, but as of April you would have been wrong on both of those statements. If you turn on the lag and fps display in diablo 2 and attempt this, youll see that the latency goes into the thousands, all while my client itself isn't going "slow" due to redrawing. My computer can handle diablo 2 easily, and not once have I experienced lag while the game is redrawing due to casting spells. (ok maybe once while killing baal or something) This method was the most known and succesful method back then. I have done it myself plenty of times, and learned how to do it by watching somebody else.

Ringo

Quote from: UserLoser on June 21, 2006, 01:23 AM
Desynchronizing in a Diablo II game doesn't really make much sense...things are not syncronized like say, Starcraft games are.  Ever get a "black wall?"  That's just proof enough that the game doesn't keep you synchronized.

Btw, having many people recast same spell over and over (i.e. some necromancer spells) to cause "lag" doesn't really cause lag.  It's just your game lagging because of the graphics involved having to be redrawn so fast over and over... Your client would slow up, not the server.  By sending so many cast requests to the server it's just sending another message...If you run around in circles, you'll be sending even more packets to the server than you would by reclicking over and over to cast a spell...

So many common rumors out there about "hacking" Diablo II that are so bogus it's rediculous.   Once again, your client lagging due to downloading a "large file" and having it cause lag on Diablo II is just rediculous.  You, the client, is what sends the packets to the server in a larger interval will not cause any method of duping to be available.  You could just run in circles with a larger radius and send the same packets to the server, just at greater intervals, understand?

There is no lag dupe, you cannot dupe from your client causing lag.  Your only bet is to find a server exploit and think of it from the server's programmers point of view.  What are things they may have overlooked and how you could exploit it to make a dupe?  What things could cause memory leakage to crash the server? etc.

Huh?
Ofc you can Desynchroniz a game server. Desynchronizing it from the other game servers and the realm is the key.
The server comunications is on about 4 seconds latency, any higher and all other servers will guess that the server with the latency is down.
Now, if one of the many game servers went down, all the other servers wouldnt let people join the game, because of the offchance they are inside agame on the server that is down.
But they dont, because 1 lagy/broken serevr would disable the whole network.
So, if your in a laggy game (over 4000ms ping) you can then join another game on the same character. same char in 2 differnt games = dupe.

warz

Quote from: Ringo on June 21, 2006, 08:00 AMSo, if your in a laggy game (over 4000ms ping) you can then join another game on the same character. same char in 2 differnt games = dupe.

Exactly correct.

Juniper

QuoteNow, if one of the many game servers went down, all the other servers wouldnt let people join the game, because of the offchance they are inside agame on the server that is down.
But they dont, because 1 lagy/broken serevr would disable the whole network

Could you please rephrase?

I interpert what you said as: If you *somehow* managed to desynch a game, the b.net network recognizes that specific server as  desynched and doesn't allow people who are currently on that desynched server to join games on different servers (i.e "game does not exist") because those people might still be in a desynched game, BUT[/b] that's not the way thing happen today because if things actually happened this way then alot of people won't be able to join different games all the time and b.net would seem to be very unstable. So, as of today, b.net allows you to join other games (on synched servers) even if you were spotted on a game server that is currently marked "desynched"?

Is that correct?
J

warz

I think you're thinking too deep on this. :-p

Juniper

QuoteI think you're thinking too deep on this. :-p

Then throw me a bone here  :)
I'm just trying to understand this the best way possible.
You're acting like doing this is the easiest thing ever, and I don't think it is :) or at least, I can't see how.