for 1.12a patch:
D2Loader v1.12a Jun 18 2008
for 1.11b patch:
D2Loader v1.11b Dec 29 2006
D2Loader v1.11b Nov 12 2006
D2Loader v1.11b Nov 11 2005
D2Loader v1.11b Oct 04 2005
D2Loader v1.11b Sep 22 2005
D2Loader v1.11b Sep 14 2005
for 1.11 patch:
for 1.10 patch:
How to install:
1) Download it
2) Open with winzip or program able to extract .zip files
3) Extract it to your Diablo 2 directory
4) Replace it with old d2loader (1.10) or original Diablo exe.
How to play with no cd:
1) Put your diablo cd into cd-rom
2) Go to my computer, right click on the diablo head (press open). Copy the files called d2xvideo.mpq and d2xmusic.mpq
3) Go back to your Diablo 2 directory. Paste those two .mpq files here.
4) Double click on the diablo loader icon, it should now run.
How to run multiple D2 windows with one D2 folder (thx Senkin):
Things you need to have and have download onto your desktop before trying
1.) Have at least one extra set of Diablo II keys (Classic and LOD)
d2gfx.dll (This allows you to run multiple d2 windows)
3.) D2Loader (This
allows you to use multiple keys and not have to have CD in the cdrom)
4.) Serby's ChangeCDKey (This is to make the cdkey file to allow multiple
windows use different cdkeys)
How to do it:
1.) Open your diablo 2 folder (C:\Program Files\Diablo II) and make a
backup of your d2gfx.dll file that is in there now.
(Right click on d2gfx.dll choose copy then right click on an empty area and
choose paste, then right click on d2gfx.dll and choose rename and rename it it
to a familiar name where you will know thats the backup)
2.) Move the modified d2gfx.dll you had downloaded earlier to your diablo
2 folder. Now when it asks about overriting the file choose yes to overrite the
old d2gfx.dll since we have already made a backup copy of it.
3.) Extract the D2Loader you had downloaded earlier to your diablo 2
folder. Now rename the d2loader that should be in your diablo 2 folder to
d2loader, then create a shortcut of it to your desktop.
(Right click the D2Loader that is now in your Diablo 2 folder (usually
C:\Program Files\Diablo II\) and choose Send To -> Desktop (Create Shortcut) )
4.) Right click the newly created shortcut on your desktop and choose
copy then right click on the desktop and choose paste.
* How to copy and paste is told above with the d2gfx, just do the same but with
(This is so you can have one shortcut that uses the originally installed with
diablo 2 and another that uses your extra cdkey set)
5.) Extract and run Serby's ChangeCDKey you had downloaded earlier, then
choose Make New Key File, when it asks for filename put in cdkey.mpq (This name
is used in the D2Loader to run D2 with the extra cdkey set), now after filling
out file name click ok and then fill out the name and the cdkey's (Put in your
extra cdkey set that you have here).
(Make sure your diablo 2 folder is located at C:\Program Files\Diablo II or the
cdkey file will be made and put there making the next step not work)
6.) Right click one of the newly created shortcuts on your desktop and
choose properties. Then in the text box named Target make sure it looks like
"C:\Program Files\Diablo II\d2loader.exe" -mpq cdkey.mpq
and then click OK.
(It is VERY important that you have that correct or it will just use the
original cdkey on both d2loader shortcuts. If you want to have windowed mode or
other choices just add it to the end.)
7.) Now you can run two diablo 2 windows at once with only one Diablo 2
I plan to later on add in screen shots to make it even easyier to understand
If you want more then 2 windows at once. Please read the next post below.
If you want to use d2loader without having to keep cd in at all read post below.
Note: This is detectable by Blizzard (as is D2 loader). However they have
never banned anyone for it yet (nor have they ever done so in the past). That
doesn't mean they won't at some point in the future, but at the moment it is
safe to use.
How to run more then two diablo 2 windows
Things need to have or be done before trying:
1.) You must have completed the tutorial above.
2.) Have more extra cdkey sets to use.
3.) Know that you can at the most run 4 diablo 2 windows.
1.) Run Serby's ChangeCDKey, *For filename put in cdkeyx.mpq* ( the x in
cdkeyx.mpq stands for the cdkey set your putting in, example: cdkey3.mpq = 4th
key set you have). Then fill out the rest depending on what cdkey set you are
2.) Create another shortcut on your desktop of d2loader (Directions above).
3.) Right click the newly created shortcut and choose properties then next to
Target make sure it looks like this:
"C:\Program Files\Diablo II\D2Loader.exe" -mpq
and then click OK. (Once again the x in cdkeyx.mpq stands for the
cdkey set your putting in)
Now you can have even more d2 windows running at the same time from one diablo 2
How to run d2 in a window (thx Chris):
Right click your Diablo II shortcut. Click properties.
The target should look something like "C:\Program Files\Diablo II\Diablo II.exe"
Simply add -w at the end after the quotes, so that it looks like this:
C:\Program Files\Diablo II\Diablo II.exe -w
You can also use certain other parameters, such as -ns (no sound, although not
recommended for use with EP), -skiptobnet (skips the first 2 screens and
attempts to connect to bnet when you open d2). Just put a space in between each
different parameter, your target line might look like this:
C:\Program Files\Diablo II\Diablo II.exe -w -ns -skiptobnet
Using d2 loader, you can also use certain other parameters, check useful commands
-w Run in windowed mode.
-ns Disable sound (warning, can cause some crashes)
-nohide Don't hide the Diablo II window when losing focus.
-res800 Start at 800x600 (avoids window moving off-centre on load)
-sleepy Call sleep(1) to avoid D2 using 100% CPU time.
-altcolor Change color of monster health bar.
-title "d2" Set the Diablo II window title to d2.
-mpq key1.mpq Load key1.mpq (useful for additional CD keys)
-skiptobnet Skip straight to the BNet login screen.
D2Loader v1.12 (Jun 17 2008)
Update for 1.12 patch. Fix crash on DEP enabled systems. Version in the
PLUGIN_INTERFACE is now 0x01000912 (for developers). LOCALE patch untested as
I have only version in English. Sleep(1) patch (-sleepy) enabled by default
to help save energy costs. Use -nosleep to turn it off if somehow it causes
a problem for you.
D2Loader v1.11b (Dec 29 2006)
Fixed crash on act change when using -ns. Thanks to Sting for pointing out
location of this problem and the patch code.
D2Loader v1.11b (Nov 12 2006)
Improved compatibility with some braindead antivirus / antispyware programs
that prevent D2Loader's LoadLibrary IAT hook from working. This fix will only
work on NT based Windows as it modifies the Process Environment Block and will
only make any difference if you get "Unable to identify application version"
when attempting to connect to Battle.Net.
D2Loader v1.11b (Nov 11 2005)
Added -altcolor option for windowed mode, will use different colors when
drawing the monster name / hp box so it is more visible. Yes, this uses more
code patches, but I really hope Blizzard doesn't mind this accessibilty option
as it's pretty hard to see it in windowed mode without this fix.
D2Loader v1.11b Oct 04 2005
Fixed -sleepy behavior acting weird sometimes (ie high CPU usage / random D2
window 'freezing' on menu). I'm amazed this didn't actually crash since there
was a jump into the middle of an opcode (*blushes*) :D.
Bound the executable to Diablo II v1.11b and WinXP SP2 entry points for maybe
a slight improvement in load time.
D2Loader 1.11b Sep 22 2005:
Patched the D2Lang.dll patches so -locale works again. Since I don't have a
Korean D2 or whatever, I can't test this actually works, but it looks like it
should - my D2 crashes looking for some Korean fonts with -locale Korean.
Added ability to read extra command line options. This allows further features
that would require a command line option. Such as...
-nohide command line option. If set, will subclass the main D2 window handle
and block WM_ACTIVATEAPP/0 from reaching D2, which will prevent the D2 window
from hiding when it loses focus. Diablo II usually gobbles up 100% CPU time
when not hidden (see below for a 'fix' for this), so running multiple windows
with -nohide could cause some significant slowdown. Don't use this in full
screen mode for obvious reasons.
-sleepy command line option. If set, will patch the arguments to sleep() in
D2Client and D2Win so they aren't zero. This results in the Diablo II process
using much less CPU time since it isn't stuck in such a tight loop. Note that
this *might* result in oh-so-barely lower FPS, but I don't think that's a
concern in D2 :-). The benefits of this should be apparent to anyone with a
fast system... and why Blizz are calling sleep(0) is beyond me :D. Note that
there are still some areas that use 100% CPU time regardless since they aren't
part of the menu / game loop.
Fixed a small jmp to the wrong place on the rare chance you had any plugins
Fixed VirtualProtect not restoring correct memory access options after
applying patches (yeah I suck at the x86 asm :P).
Fixed BNClient and other future patches being applied more than once when
re-entering the main menu.
Edited the PE header to provide the correct code size. This shuts up OllyDbg's
SFX warning so I don't get quite so frustrated each time I have to restart :).
Also a tip to any people who are making Diablo II hacks that install by
finding the D2 window: EnumWindows / GetClassName / GetWindowThreadProcessId
are your friends. Don't go enumerating the executable names as these aren't
100% reliable due to renaming. The D2 window classname is "Diablo II".
Small note, the last version recommended using '-nocleanup' to do a 'nice'
shutdown of D2 - a word of warning - don't use -nocleanup with -skiptobnet or
every time D2 tries to exit by going back to the menu, it will reconnect to
bnet and you'll be stuck in a rather nasty foreground-hogging infinite loop.
A forewarning, the next release may have another 2KB added on to the file size
as I'm running quite short on space in the current executable to continue
adding more features. It probably doesn't help that my code is so bloated :).
official d2loader site:
Diablo 2 Newsletter
Questions, ideas, problems, wishes?
Be informed whenever something new comes up
(or any important problems are fixed.).
You can unsubscribe from this newsletter at any time.