Install guide: Dungeon Siege II online and LAN
Updated
Online and LAN play for the Steam release of Dungeon Siege II (Dungeon Siege 2), and for Broken World. Nothing of the game is
modified: the package adds a plugin loader and four small plugins next to DungeonSiege2.exe.
What you need
- Dungeon Siege II from Steam (v2.3). The plugins check the exe's build and apply nothing to builds they do not know, so other versions of the exe simply run unchanged.
- Optional: Dungeon Siege II: Broken World v2.30.0.4277 (your own copy; it is not included).
- The DS2 Revival package.
Download the DS2 Revival package
Use the package with the unmodified game. It is not meant to be combined with mods that replace
DungeonSiege2.exe or version.dll, such as Dungeon Siege II Remastered or OpenSpy's
version.dll: use one approach or the other.
Install on the Steam version
Close the game
Make sure Dungeon Siege II is not running.
Extract the ZIP
Extract it into your Dungeon Siege 2 folder, the one with
DungeonSiege2.exe, for exampleC:\. In Steam: right-click the game → Manage → Browse local files.Program Files (x86)\ Steam\ steamapps\ common\ Dungeon Siege 2 Play
Start the game from Steam as usual and click Multiplayer. The plugins already point the game at
use1.dsii.uk.
After extracting, the game folder contains:
| File | What it does |
|---|---|
version.dll | Ultimate ASI Loader: loads the plugins in scripts. |
scripts\ | Online and LAN play without GameSpy (see how it works). |
scripts\ | The server address and the relay mode. |
scripts\ | Borderless window at your desktop resolution. |
scripts\ | Stops the game from making typing lag in other programs. |
scripts\ | Starts Broken World from a subfolder and fixes it (only does something when Broken World is there). |
Firewall setup.cmd | Optional Windows Firewall rules for hosting (below). |
Every plugin works on its own and all are on by default. Delete a plugin's .asi file to turn it off.
Steam's "Verify integrity of game files" does not remove them, because no game file is changed.
Playing online
Main menu → Multiplayer offers three connections:
- Internet: pick a nickname, create or choose a party, then a portal (Agarrus, Artech, Azunai, ...) and host or join a game. No account needed.
- GameSpy: sign in with an account (create one in game with New Account). Your parties are stored in the online party vault on this server, so you can continue them on any PC. This mode has its own set of portals.
- Local Network: LAN games; no server involved.
Accounts and passwords. The game's storage login proves the password as
md5(password + challenge), so the server has to keep account passwords as they are, not as a one-way hash.
Use a password you do not use anywhere else.
When parties reach the vault. The game uploads the active party on Save and Exit or at most every 5 minutes while playing. A party that is created and left before that is not in the vault at the next login.
Up to 8 players. The game ships "Old School Mode" (8 players with one hero each) and "Couples Mode++" (6 players with two heroes each) but hides them online. With DS2Multiplayer they can be picked when hosting; only the host needs the plugin for this. Sessions with more than 4 players have had little testing so far.
Everyone in an online game needs DS2Multiplayer to reach the server. See who is online before you start.
Broken World
- Copy the expansion's files into a folder named
Broken Worldinside your Dungeon Siege 2 folder. - Copy
version.dlland thescriptsfolder's.asifiles into that folder as well (Dungeon Siege 2\Broken World\version.dll,Dungeon Siege 2\Broken World\scripts\*.asi). - Start the game from Steam. It starts Broken World; hold Shift while it starts for the original game.
No registry patch is needed: DS2BrokenWorld tells the expansion where the base game is. From the expansion's folder
only these files are used: DungeonSiege2.exe, system_detail.gas,
system\EBUEula.dll, Resources\x*.ds2res and Maps\x*.ds2map; the other files
duplicate the base game's or belong to the old installer. Plugins deleted from the main scripts folder are
off for Broken World too, and Broken World uses the main folder's settings.
Heroes made in the Steam game can be brought over with Multiplayer → GameSpy → Convert Hero.
If Broken World lives somewhere else, set BaseGame= in DS2BrokenWorld.ini (below) to the
Dungeon Siege 2 folder.
Firewall and port forwarding
Double-click Firewall setup.cmd once (it asks for administrator rights) so other players can connect to games
you host. It adds two program rules: DungeonSiege2.exe and Windows' DirectPlay helper
dpnsvr.exe. Nothing else is opened. The game's own "add to the firewall exceptions" question is skipped by
the plugin, because answering it needs administrator rights the game does not have.
Port forwarding is optional. When a joiner cannot reach your game directly, the connection goes through this
server's relay automatically. If you forward UDP 2302 to the hosting PC, players connect directly instead; set
Relay=off in DS2Multiplayer.ini to force that.
Already have multiplayer? Hosts file only
If your game already has a working Multiplayer menu without our plugins (for example a disc copy with its own
CD key, or another unlock) and you only want to play on this server, you can point the game here with the Windows
hosts file instead. Open Notepad as administrator, open C:\Windows\System32\drivers\etc\hosts, add
these lines at the end and save:
# Dungeon Siege II multiplayer: GameSpy -> use1.dsii.uk
216.212.35.35 dsiege2.available.gamespy.com
216.212.35.35 dsiege2.master.gamespy.com
216.212.35.35 dsiege2.ms7.gamespy.com
216.212.35.35 dsiege2.gamestats.gamespy.com
216.212.35.35 gamestats.gamespy.com
216.212.35.35 peerchat.gamespy.com
216.212.35.35 gpcm.gamespy.com
216.212.35.35 gpsp.gamespy.com
216.212.35.35 natneg1.gamespy.com
216.212.35.35 natneg2.gamespy.com
216.212.35.35 natneg3.gamespy.com
216.212.35.35 motd.gamespy.com
Every GameSpy name the game looks up then leads to this server; delete the lines to undo. The same lines work for Broken World. Things to know:
- The address is this server's address today. If it ever changes, this page shows the new one; the plugins use the server's name and need no update.
- You get only the server, not what the plugins add: no relay (the host must forward UDP 2302), no CD-key identity for Steam copies (the Steam release has no key of its own), and none of the game fixes (starting a hosted game, leaving the lobby, LAN nicknames, the firewall question, 8-player modes).
- Do not combine it with tools that redirect GameSpy themselves, such as OpenSpy's
version.dll: their redirect wins and the hosts lines do nothing.
Settings
The package has one settings file, scripts\DS2Multiplayer.ini:
[Network]
Server=use1.dsii.uk
Relay=auto
Server is the multiplayer server (host name or IP; 127.0.0.1 = a server on this PC).
Relay: auto = only when needed, always = every game, off = never (the
host must forward UDP 2302).
Everything else has defaults. To change one, create scripts\<plugin>.ini with the line:
| File | Section | Settings (defaults) |
|---|---|---|
DS2Multiplayer.ini | [Multiplayer] | EnableMenuButton=1 FixStartGuard=1 SkipFirewallPrompt=1 DirectConnectTimeout=60 LobbyServer=1 EightPlayers=1 |
DS2Multiplayer.ini | [Network] | Server=use1.dsii.uk Relay=auto SingleLanAddress=1 VirtualCdKey=1 |
DS2Widescreen.ini | [Display] | Mode=borderless (or window, or off = the game's own video modes), Resolution=desktop (or e.g. 2560x1440), RetryDeviceReset=1, MaxFps=refresh (or 0 = no cap, or a number) |
DS2Fixes.ini | [Fixes] | NoGlobalKeyboardHook=1 QuietCursor=1 |
DS2BrokenWorld.ini | [BrokenWorld] | Launch=auto (off = never start Broken World), AcceptSteamParties=1, FastCpuid=1 (the frame-rate fix), BaseGame= |
Troubleshooting
Each plugin writes a log next to itself, e.g. scripts\DS2Multiplayer.log. It lists every patch as
applied or skipped and is the first thing to look at.
- The Multiplayer button is still greyed out
- The plugins are not loading. Check that
version.dlland thescriptsfolder are next toDungeonSiege2.exeand thatscripts\DS2Multiplayer.logappears after starting the game. If another mod replacedversion.dll, the loader is gone. If the log says "unknown DungeonSiege2.exe build", your exe is not the Steam v2.3 or Broken World build the plugins know. - "Unable to connect." after choosing Internet or GameSpy
- The game cannot reach the chat server. Check
Server=inDS2Multiplayer.ini, check the live status page, and make sure nothing blocks the game's outgoing connections. - "Could not find a valid CDKey"
- Steam copies have no CD key; DS2Multiplayer gives each Windows user a random identity of their own
(
VirtualCdKey=1). This error means the plugin is not loaded or the setting is off. A real CD key in the registry is always used instead when present. The game's registry keys are never changed; the identity is kept underHKEY_CURRENT_USER\Software\DS2Revival. - Nobody can join my game
- Run Firewall setup.cmd on the hosting PC and leave
Relay=auto. Joiners need DS2Multiplayer as well. The host only lets players in once it has loaded into the world; joiners wait up to 60 seconds for that (DirectConnectTimeout). - "'X' is already being used by another player" in LAN mode
- Happens on PCs with extra network adapters (Hyper-V, WSL, Docker, VPNs): the game met its own LAN chat server again
through another adapter.
SingleLanAddress=1(default) fixes it. - "Video initialization failure! ... GetBackBuffer" after alt-tab or with an overlay
RetryDeviceReset=1(default, in DS2Widescreen) retries the failed graphics reset instead of ending the game; it gives up after 10 seconds of failures.- Typing lags in other programs while the game runs
- Fixed by DS2Fixes (
NoGlobalKeyboardHook=1). - Stutter or frame drops while moving the mouse or clicking
- Fixed by DS2Fixes (
QuietCursor=1): the game reset the cursor twice on every mouse event. See why. - The frame rate stays at 75
- That is the game's own cap for windowed play. DS2Widescreen raises it to your monitor's refresh rate
(
[Display] MaxFps=refresh);MaxFps=0ormaxfps=0on the command line removes it. - The game closes when I host or join, or Multiplayer says DirectPlay is missing
- Dungeon Siege II plays online through DirectPlay, a Windows feature that is off by default on Windows 10 and 11. DS2Multiplayer checks for it when you open Multiplayer and offers to install it (Windows asks for permission). To install it yourself: Control Panel → Programs → Turn Windows features on or off → Legacy Components → DirectPlay.
- Broken World runs at a low frame rate
- Fixed by DS2BrokenWorld (
FastCpuid=1). It affects PCs where Windows runs its hypervisor: Memory Integrity, Hyper-V, WSL2, Docker Desktop, Virtual Machine Platform, Windows Sandbox, Credential Guard. See why. - Broken World: the camera spins far too fast with the middle mouse button
- Some Broken World downloads carry an old mouse edit in the exe. DS2BrokenWorld undoes it where it finds exactly that edit.
- Broken World: "Failed to transfer vaulted character file from the server..."
- Broken World rejected heroes made in the Steam game.
AcceptSteamParties=1(default) fixes it. - My party is not in the vault
- Parties are uploaded on Save and Exit or at most every 5 minutes. Play a little and use Save and Exit.
- I prefer a normal window or exclusive fullscreen
[Display] Mode=windowinDS2Widescreen.ini, orMode=offfor the game's own video modes (or deleteDS2Widescreen.asi).
Uninstall
Delete version.dll and the scripts folder (and the same in the Broken World
folder). Your game is then exactly as it was.