ProjectDiablo2をPrivate PvPgnのModとして使う

PvPgnサーバ上に、Patch_D2.mqpをコピーして実行することで、ソフトコードでの設定は反映される。システム的(DLLなど)で実装される機能については動かない(例えばAutopickup的なものから、PD2のケースでは傭兵の装備など)。 どこまでがPatch_D2で定義されているのかは全体像がわかっていないがスキルや敵などはリバランスされている。この状態でワールドイベントやUberが発生できるかは試せていないのだが。

現在PvPgnにBaseModなどを注入することができないのと、今回のPD2はGameExEで提供されていてD2Winローダー形式ではないので正しい完全な状態では動かすことはできない。

クライアント側は、PD2で実行すると接続先のサーバがハードコーディングでDLLに埋め込まれており変更することができない。そのため通常のPlugYで利用している環境に、サーバ同様にPatch_D2をコピーしてPlugY経由で起動している。

コピーするのは、 ProjectDiablo.dll Patch_D2.mpq の2つのファイルをコピーします。次にこのProjectDiabloのDLLの中には接続先が直接埋め込まれているのでバイナリエディタで修正ます。

bbe -e 's/35.225.107.249/192.168.1.191 /g' ProjectDiablo.dll > ~/.wine_dia/drive_c/Program\ Files/Diablo\ II/PD2/ProjectDiablo.dll

次に、PlugYでProjectDiabloを読み込むため該当の部分を以下のようにします


[GENERAL]
ActivePlugin=1
DisableBattleNet=0
ActiveLogFile=0
;DllToLoad=SGD2FreeDisplayFix.dll
DllToLoad=D2HD.dll|ProjectDiablo.dll
;DllToLoad=D2HD.dll
DllToLoad2=
;DllToLoad=Charon.dll
;DllToLoad2=
ActiveCommands=1
ActiveCheckMemory=1

そのため標準のPD2よりも高解像度でMaphackも動く状態になっている。 いずれにしてもサーバ側がProjectDiabloのDLLを読み込んでいないのでどこかで問題が起こるかもしれない

これで複数キャラでも接続できるし、エンチャントレスの待機くらいならKolbotでもウゴクかもしれないKolbotはMap移動が伴うものはPD2のマップ番号変更されておりうまく動かないことはわかっているがフォローでの追随ならもしかしたら動くのかもしれない。

早くPD2が復帰しないかなぁ


Created by roguer.info 2016