Diablo 2 (+ LOD if you want)

Discuss anything related to portable freeware here.
Post Reply
Message
Author
aazard
Posts: 51
Joined: Thu Nov 05, 2020 8:23 pm

Diablo 2 (+ LOD if you want)

#1 Post by aazard »

Repost, I found this online WAY back.... found again from my XP machines "special doc" folder, from about 2012 or 2014?

Forgive any poor formatting, My original save is a .list file from mempad, copied into SSuite Personal Office's "Word Format 2" Wordprocessor (which rocks at under 700kb, it makes/edits upto doc & can save as pdf's)

Post by SlashDiablo user: Killvetrov

[GUIDE] Making a portable Diablo II copy configured for SlashDiablo (play from USB pendrive/external HDD on virtually any Windows PC without installing the game)
Info
Previously on SlashDiablo: ep. 1; ep. 2.
If Windows is not your thing, there is also Linux-oriented guide by Brian Spiller. If Linux isn’t your thing either, then as far as I can tell you’re a Mac user, so continue enjoying non-portable D2 since I’m not aware of similar guides or methods for Mac version.

Task: to make a portable take-it-with-you copy of Diablo II ready to connect to SlashDiablo on majority of Windows PCs regardless of security restrictions, unless those are extremely strict (to extent of heavy firewalling or preventing users from executing programs on removable media).

NOTES: Current version of this guide is meant for a “clean” portable version, without mods or maphacks that is. I will update the guide as I look further into methods of getting maphacks to work with portable launcher. Other than that, expect the portable copy to be identically functional to your existing installation. It’s up to you to decide which patch to use (1.13c/1.13d). If you log in to official battle.net with your installed game, its portable counterpart will be all right to connect as well, however use it at your own risk, as this solution wasn’t tested with battle.net, and I’m not sure about compliance with battle.net’s TOS. Portable launcher is confirmed to work on Windows XP SP2/SP3 and 7.

This post is a step-by-step DIY guide and a rather long read with technical details. If you want just a “plug&play” TL;DR, basics are covered in this comment in initial thread.

As all of you may guess, the foremost problem of getting portable copy to work is dependency on registry entries. Copying D2 files to a flash drive is done in a pair of clicks, but we can’t add SlashDiablo gateway to the list, unless we have enough privileges to make changes to Windows registry on the target system. Actually, this is not just about server list. Normal game operation is in question if it cannot reach corresponding registry keys. The good news is we have application virtualization technology on our side :). We can add a virtual registry layer isolated from the target system and run Diablo II in its context. For this task I chose Cameyo for three reasons: 1) it’s free; 2) it creates standalone packages; 3) it’s targeted on individual users rather than on IT specialists or enterprise environment.

PREPARATION

Make sure you have the following at hand:

Regular Diablo II installation configured to connect to SlashDiablo. Most likely you already have D2+LOD installed on your computer. If not, install the game and expansion using the “Full” option and patch it as usual; follow instructions in Server FAQ to add SlashDiablo to server list. The game remembers the last server you logged into and suggests it by default, so make sure you select SlashDiablo and connect to it in-game prior to making the portable copy.

Cameyo virtualization suite. Download here. You won’t need to install it; there will be just one executable file. “One point wonder”, anyone? :)

Registry entries in your system related to Diablo II, exported to .reg files. This stuff may seem advanced unless you’re familiar with Registry Editor application and registry structure in general, but there’s really not much of a hassle.

Open Registry Editor (normally you won’t find it in Start menu, one of ways to go is pressing Win+R, typing regedit into text field, and hitting Enter).

In the tree view panel to the left, navigate to the following four keys one by one like you would in Explorer:
a) HKEY_CURRENT_USER\Software\Battle.net;
b) HKEY_CURRENT_USER\Software\Blizzard Entertainment;
c) HKEY_LOCAL_MACHINE\SOFTWARE\Battle.net;
d) HKEY_LOCAL_MACHINE\SOFTWARE\Blizzard Entertainment.

Upon getting to each one of the keys listed, right click on it and select Export. Save files to location when you will be able to find them a few moments later, names are not important, for instance go with numbers from 1 to 4. When done, close Registry Editor for now.

Target media. Any USB pendrive or external HDD will do just fine. Copy the entire Diablo II folder from your computer to chosen destination. You will need about 2 gigs of space, but you can safely cut it down to 1.5 gigs if you don’t need videos to be in the portable copy (leave out d2video.mpq and d2xvideo.mpq).

CREATING A PORTABLE LAUNCHER

The usual process of virtualizing an application is installing it into a virtual layer, from where it is then packaged into a single standalone .exe. Now, the idea of condensing 2 gigabyte game into 1 executable is apparently quite unappealing. What is appealing is that Cameyo provides means of creating a blank package containing only preconfigured virtual environment, in the context of which we can start the game.

Open Cameyo (remember, we downloaded it at preparation stage). You can ignore the prompt to register an account, as we won’t be using online features. Go to the Studio page and click on Package editor. When Package editor opens, from the File menu select New empty virtual package.

You now find yourself at General tab of our new package settings. Click Change in the Startup line. In this dialog make sure Specific command is selected, and type game.exe (it is D2 executable) into the field right under. Note that we do not specify path to this file on purpose, as we want it to be relative to package location. You can also add parameters in the next text field, for instance -w -skiptobnet in order for the game to start in windowed mode and skip to battle.net login screen right away. Click OK to proceed.

In Isolation mode option select Full access. We can’t go with isolated mode, since our package is empty and the game will need to access its files outside of the package.

Data storage option can be left default. I personally clicked Change in its line and selected Under the executable’s directory. Choices of icon and application ID are up to you. When ready, hop to Registry tab.

On the toolbar inside Registry tab click Import a .reg file button, presented by a blue folder icon. Locate .reg files that you exported from registry at preparation stage and perform import procedure for all 4 of them. We are now going to make a few edits to our resulting virtual registry.
First, we don’t want to keep video settings taken from our computer, as these will surely be irrelevant on other hardware.

Navigate to %Current User%\Software\Blizzard Entertainment\VideoConfig, right click on it, select Delete, and confirm. Repeat for MACHINE\SOFTWARE\Blizzard Entertainment\VideoConfig if it exists.
Second, we need to get rid of every absolute path specified in game’s registry entries. For this we will need to edit key values.

Click Edit registry toolbar button, presented by a blue fragmented cube icon. Confirm your intention (click OK), and we meet Registry editor once again, but this time we are inside the virtual registry snapshot. Be careful, we need to stay inside this node of the tree, so only go down from Registry key, not up. Navigate to %Current User%\Software\Blizzard Entertainment\Diablo II. Edit values by double clicking on them. Change values according to the following table.

Value name Change to
DiabloIICD .
InstallPath .
Program .Diablo II.exe
Save Path .save
Repeat same edits for MACHINESoftwareBlizzard EntertainmentDiablo II. Note #1: the dot in our new paths represents current directory, which is the directory we start our portable launcher in. Note #2: Values listed here can most likely be deleted without any harm to the game, but I decided to go via safe route.
After edits are made, close Registry editor and see how changes are reflected in Package editor. We’re almost done now!

Get to the Advanced tab. We only need to add one thing here. Type the following into Exclude child processes from virtualization text field:
%System%\spoolsv.exe
All Cameyo packages captured via normal install procedure incorporate exclusion of this system process; apparently it is needed for normal functioning of virtual layer, don’t ask me why.

That’s it! We’re ready to save our portable launcher. Select File -> Save and save it to the Diablo II directory on the target media. Give it a descriptive name so you don’t have trouble finding it among lots of game files.

USING YOUR PORTABLE COPY

There’s not much to cover here, you probably already figured this out :) Plug your media with a portable copy, start the portable launcher and feel yourself at home. Oh, and command line parameters work too. portable_launcher.exe -w will start the game in windowed mode, and so on.

aazard
Posts: 51
Joined: Thu Nov 05, 2020 8:23 pm

Re: Diablo 2 (+ LOD if you want) MULTIPLAYER possible Anyone Interested

#2 Post by aazard »

If so I can post pre-made version using files from "OPENDIABLO 2"; An open-source implementation of Diablo2

Github Organization Page: https://github.com/OpenDiablo2/OpenDiablo2

I have tested it to work, and its 100% FOSS (In a nutshell: it doesnt use copy-written material to play game)

User avatar
h3kt0r
Posts: 148
Joined: Tue Jan 20, 2015 2:50 am
Location: France
Contact:

Re: Diablo 2 (+ LOD if you want) MULTIPLAYER possible Anyone Interested

#3 Post by h3kt0r »

Thanks, great post.
I wish there exists a similar solution to play portable "Baldur's Gates".

aazard
Posts: 51
Joined: Thu Nov 05, 2020 8:23 pm

Re: Diablo 2 (+ LOD if you want) MULTIPLAYER possible Anyone Interested

#4 Post by aazard »

These does, 2 ways

1 way is "dirty but easy"...But you need Virtual Box (portablized) also.....here is how:

Make Mini XP (no network) image: I googled a bit for you and found MicroXP (not "mini XP").

A very stripped-down version of XP SP3. The distribution ISO takes around ~100 MB, and when installed ~250. In VirtualBox on Mac Air (1st gen) the installation lasts five minutes and the already installed system boots in 10 seconds or less. The virtual machine requirements are minimal – a dynamic 300 MB disk and 64 MB of RAM.

Make sure requirements for (insert game) are present > Install > Save the Virtual Machine > BOOM portable ...at a "slight" 200mb additional cost... this can be done with windows xp/2003 to current Windows 10

Here is the ISO

https://archive.org/details/MicroXPv082

[Mod note: warez site link removed]
Here is the version I use (its lighter & ALREADY PORTABLE):
https:// mingsoftware.blogspot.com/2009/11/micro-xp-082-portable.html

Way 2: A Bit Harder but Better

As above in d2 we need the files, so we follow the basic route described... in this section
Cameyo virtualization suite. Download here. You won’t need to install it; there will be just one executable file. “One point wonder”, anyone? :)

Registry entries in your system related to Diablo II, exported to .reg files. This stuff may seem advanced unless you’re familiar with Registry Editor application and registry structure in general, but there’s really not much of a hassle.

Open Registry Editor (normally you won’t find it in Start menu, one of ways to go is pressing Win+R, typing regedit into text field, and hitting Enter).

In the tree view panel to the left, navigate to the following four keys one by one like you would in Explorer:
a) HKEY_CURRENT_USER\Software\Battle.net;
b) HKEY_CURRENT_USER\Software\Blizzard Entertainment;
c) HKEY_LOCAL_MACHINE\SOFTWARE\Battle.net;
d) HKEY_LOCAL_MACHINE\SOFTWARE\Blizzard Entertainment.

Upon getting to each one of the keys listed, right click on it and select Export. Save files to location when you will be able to find them a few moments later, names are not important, for instance go with numbers from 1 to 4. When done, close Registry Editor for now.

Target media. Any USB pendrive or external HDD will do just fine. Copy the entire Diablo II folder from your computer to chosen destination. You will need about 2 gigs of space, but you can safely cut it down to 1.5 gigs if you don’t need videos to be in the portable copy (leave out d2video.mpq and d2xvideo.mpq).

CREATING A PORTABLE LAUNCHER
Just replace Diablo 2 with Baldur's Gates or even Pillars of Eternity (most games, esp 2k/xp era ones)

aazard
Posts: 51
Joined: Thu Nov 05, 2020 8:23 pm

Re: Diablo 2 (+ LOD if you want) MULTIPLAYER possible Anyone Interested

#5 Post by aazard »

YOU REQUESTED BALDUR'S GATE?

EVERYONE OWNS ME HUGE... I FOUND THIS IN A 2009 backup (the url)

I listed a "no-no" link, please forgive me:

I have these files, which I have confirmed are "no longer for sale or are now opensource/public domain"

1: Diablo 1 (all music files are removed, they are copywritten, other assets are from freeablo replacement) < I made it pre-portable and emailed the diablo (and D2 btw) open source project (
freeablo & OpenDiablo2)

^ 140mb in size (no music, adding your own is easy), battlenet (private server) network play ok.. thats smaller than flare engine/sample game
^ 499mb, battlenet (all server) network play ok with manual pdf & music (music could be resampled or FOSS replaced to 60mb total, tested, for a TOTAL size of inside 200mb)

2: Classic Starcraft broodwars, rated for ICC competition play (remastered is not) < I made it pre-portable, and emailed ICC, they pointed me to all there "blizzard says its ok stuff"

^ 105mb in size battlenet (icc/all servers) network play ok

3: I have Diablo 2 (as I poested before from opendiablo 2) < minimal music score (3 tracks, cc0) included



If you want me to add them message me

[Mod note: warez site link removed]
Last edited by aazard on Mon Nov 30, 2020 9:34 pm, edited 5 times in total.

aazard
Posts: 51
Joined: Thu Nov 05, 2020 8:23 pm

Diablo 1 & 2/LOD & Starcraft Broodwar classic (FOSS filed) PORTABLE

#6 Post by aazard »

I have these files, which I have confirmed are "no longer for sale or are now opensource/public domain"

1: Diablo 1 (all music files are removed, they are copywritten, other assets are from freeablo replacement) < I made it pre-portable and emailed the diablo (and D2 btw) open source project (
freeablo & OpenDiablo2)

^ 140mb in size (no music, adding your own is easy), battlenet (private server) network play ok

2: Classic Starcraft broodwars, rated for ICC competition play (remastered is not) < I made it pre-portable, and emailed ICC, they pointed me to all there "blizzard says its ok stuff"

^ 105mb in size battlenet (icc/all servers) network play ok

3: I have Diablo 2 (as I poested before from opendiablo 2) < minimal music score (3 tracks, cc0) included


Baldurs gate... I'm working on it... I need to rip out the music, BG1 I can do, but BG2 isnt "free"

If you want me to add them message me, I can make an entry for each if ppl want
Last edited by aazard on Mon Nov 30, 2020 9:36 pm, edited 1 time in total.

User avatar
webfork
Posts: 10818
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: Diablo 1 & 2/LOD & Starcraft Broodwar classic (FOSS filed) PORTABLE

#7 Post by webfork »

aazard wrote: Mon Nov 30, 2020 12:16 pm I have these files, which I have confirmed are "no longer for sale or are now opensource/public domain"
Just because something isn't for sale doesn't mean it falls outside copyright. While there is such a thing as "abandonware," we try to go carefully in that area -- there are a lot of other websites like archive.org that do it a lot better than us. Also they have lawyers who can look into the specifics, whereas we are just a group of volunteers.
aazard wrote: Mon Nov 30, 2020 12:16 pmI made it pre-portable, and emailed ICC, they pointed me to all there "blizzard says its ok stuff"
Unfortunately, we'd need something a bit more specific / verifiable there.

aazard
Posts: 51
Joined: Thu Nov 05, 2020 8:23 pm

Re: Diablo 1 & 2/LOD & Starcraft Broodwar classic (FOSS filed) PORTABLE

#8 Post by aazard »

webfork wrote: Mon Nov 30, 2020 5:34 pm
aazard wrote: Mon Nov 30, 2020 12:16 pm I have these files, which I have confirmed are "no longer for sale or are now opensource/public domain"
Just because something isn't for sale doesn't mean it falls outside copyright. While there is such a thing as "abandonware," we try to go carefully in that area -- there are a lot of other websites like archive.org that do it a lot better than us. Also they have lawyers who can look into the specifics, whereas we are just a group of volunteers.
aazard wrote: Mon Nov 30, 2020 12:16 pmI made it pre-portable, and emailed ICC, they pointed me to all there "blizzard says its ok stuff"
Unfortunately, we'd need something a bit more specific / verifiable there.
In the point of ICC starcraft (I am now a member of ICC joining is free btw) I'll link the internal doc/html:
https://iccup.com/sc_start.html

Blizzard is aware ICC uses "Classic", due to changes to "Remastered", as there is no sale of Starcraft "classic" (or "Basic Remastered"), and they are infact, "Officially" FREELY redistributed openly by Blizzard (for remastered) & ICC (for Classic). If you want Lience docs, I can supply, they are also present in my & ICC's copies (I have altered NOTHING, other than ratio of the exe/dll files packager "compression" to the open/free UPX standard via LZMA or NRV2E, both open source libs then selves).
Where can I download the game?
IMPORTANT: the new patches or Remastered are not compatible with ICCUP

If you want to play Battle.net and ICCUP (v1.16.1) at the same time this is what you have to do:
— Let Blizzard install the latest app in his folder and Starcraft in the folder «Starcraft» (must be the exact name) and use it to play Battle.net
— Create a new folder for the ICCUP version (not important name, I've used «Starcraft 1.16»)
— Download our client you find below and patch it to 1.16.1
— Extract the Starcraft 1.16 files in the folder just created (doesn't require installation)
— Path the iCCup Launcher to Starcraft.exe you find in the 1.16 folder

Now you can alternate Battle.net and ICCUP using the proper versions

If you do not have a StarCraft: Brood War client, download from our Full version of Starcraft BroodWar v1.16.1
If your client is not patched to 1.16.1 the Antihack will not work, so please use the manual patch before logging in.

The first time you may have several graphics issues, read this topic to fix 'em Starcraft Techincal FAQ
These rules are followed > the ICC folder is on a USB/external (nothing precludes this) and it functions 100% in testing.

My copy is 105mb in size (a decent reduction, allowing it to be used on a 128mb+ disk/source)

Note: I would assume you need: A battle.net account (for "the earlier rules"), install the client from Blizzard on a PC/ect you have.
I am unsure if you may uninstall "Remastered Basic"& keep "Classic" after, by eula's terms


ICC is the "largest" international Starcraft "Classic" league, Blizzard is MORE THAN aware of them & that they supply these files, with no legal action/letter, even posting events/winners results in forum (by users mind you)

long story longer....

Do same for Diablo 1 "Classic" (bonus, "stock" audio file legal access)

aazard
Posts: 51
Joined: Thu Nov 05, 2020 8:23 pm

Re: Diablo 2 (+ LOD if you want) MULTIPLAYER possible Anyone Interested

#9 Post by aazard »

FOR FOSS: Dune 2 The maker (current stable) is under 6mb, Zod engine is about 65mb, BosWar is about 74mb....

but at a compaired "vs" 105mb, NONE, imho, offer Starcraft Broodwar's level of "feel" & "accessibility".

* love note to Dune 2 The maker (current stable). As an RTS, at 6mb its online/skirmish, with 4 single player campaigns... very playable too. NOTHING is like that non-java or shockwave

User avatar
h3kt0r
Posts: 148
Joined: Tue Jan 20, 2015 2:50 am
Location: France
Contact:

Re: Diablo 2 (+ LOD if you want)

#10 Post by h3kt0r »

All right, THERE IS a portable open source program to run Infinity Engine games (Baldur's gate 1 & 2, Icewind Dale 1 & 2, Planescape Torment, etc...). It's called GemRB and it runs on Linux & Windows. Here is the homepage : https://gemrb.org/

User avatar
webfork
Posts: 10818
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: Diablo 2 (+ LOD if you want)

#11 Post by webfork »

h3kt0r wrote: Sat Apr 09, 2022 12:07 pm https://gemrb.org/
Including the synopsis from the website that includes a bit of why you'd want to run this ..
GemRB is a portable open-source implementation of Bioware’s 8 Infinity Engine versions.

Runs the Baldur’s Gate, Icewind Dale and Planescape: Torment games, their expansions and mods
Cross-platform: runs on Windows, OS X, Linux, *BSD, Android, iOS and more
Free Libre Open Source Software, available under the GPL
Nearly feature-complete (TODO)
Usability innovations, including touch based input and scaling
Extensible plugin-based design that removes many limitations of the Infinity Engine
Increased moddability over the originals
Notably, multiplayer is not supported.

Post Reply