今時のLoopbackデバイスがないの環境での isoファイルのMount

今どきの構成はLoopbackデバイスがないために普通に iso ファイルをマウントしようとすると以下のようにエラーになります。

❯❯❯ sudo mount -o loop -t iso9660 ./D2.12A-enUS.iso /mnt/iso/
mount: /mnt/iso/: failed to setup loop device for ./D2.12A-enUS.iso.
hideaki at pop-os in /m/h/0/U/t/D/D/w/D/D2_D2LOD-1.12
❯❯❯ sudo mount -t iso9660 ./D2.12A-enUS.iso /mnt/iso/
mount: /mnt/iso: スペシャルデバイス ./D2.12A-enUS.iso が存在しません.

このような場合には losetup を使います。

sudo losetup -f ./D2-1.12A-enUS.iso
sudo mount /dev/loop0 /mnt/iso

いくつも実行した場合には loop1と追加されています

❯❯❯ sudo losetup -a
/dev/loop1: [2051]:34150 (/media/hideaki/01D495160FB2C420/Users/tokih/Desktop/Diablo2/work/Diablo_Images/D2_D2LOD-1.12/D2LOD-1.12A-enUS.iso)
/dev/loop0: [2051]:34170 (/media/hideaki/01D495160FB2C420/Users/tokih/Desktop/Diablo2/work/Diablo_Images/D2_D2LOD-1.12/D2-1.12A-enUS.iso)

最後は sudo lopsetup -D で消しておきます。

Diablo2 Basemod 最新版は d2gs (プライベートサーバ対応)に対応していた件

Diablo2 リザレクト(以下D2R)がもうそろそろ発売ということもあり期待をしていますが、私のPCではちょっと3Dが厳しので遊べないかなと思っているこの頃、グラフィック低速にしてなんとか遊べるけど楽しいのか謎ですね。またD2Rでは、TCP/IPモードが無効になるということでプライベートサーバ(d2gs)もしばらく望みがなさそうですね。

さて、d2gsにBasemod.dllなどを組み込むのは結構難儀で、どうやっていDllをInjectionするかなのですがこれまではだいぶ古い Basemod.dll (もう配布されてない)は動いたのですが最近でた最新版(1.13.7)ではそのまま読み込めました。

https://www.moddb.com/mods/basemod

D2Win.dllと、Basemod.exe/ini/mpqを d2gsのフォルダにコピーすれば動きます。D2Win.dllがすでにInjectionの仕組みが入っているのでロードされます。Basemod.dllから更にDllをロードするのは動かない模様です。

---------------------------------------------------------------
21:45:44.474  ------------------------------------------------------
21:45:44.474  2021-09-19 21:45:44
21:45:44.474  Diablo II Game Server running under Windows XP (Version 6.010)
21:45:44.474  Vendor:  Intel
21:45:44.474  Version: Pentium III (no brand) (Type 0, Family 6, Model E, Stepping A, Brand 0)
21:45:44.483  Speed: Approx. 3600 MHz
21:45:44.483  Total Physical Memory: 981.48MB
21:45:44.483  Application Path: Z:\opt\d2gs_1
21:45:44.485  Local IP: 10.0.0.x
21:45:44.486  Computer name: D2GSLIN
21:45:44.486  ------------------------------------------------------
21:45:44.486
21:45:44.490  imagehlp.dll loaded for better stack crawls.
21:45:44.601  BaseMod Installing Patches
21:45:44.604  MPQ Loaded
21:45:44.637  BaseMod Installing PatchesEx
21:45:44.637  BaseMod Loaded

サーバ側(d2gs)で有効にしないと、傭兵の装備(フル装備)やGoldのオートピックアップなどはクライアント側のDataファイルでMod化出来ない部分なのでこのようなBasemodのようなDllが必要になります。(ProjectDiablo2なども独自のProjectDiablo2.dllなどがありロードされています)

今回のBasemodではいくつかこれまでと違ってQoLに影響があるものが組み込まれているのでいい感じで遊べそうです。

D2gsとクライアント側の設定は揃えておく必要があります。Dllなどは配布できないので気をつけておく必要があるでしょう。誤るとアイテムがLossするかもしれません。Basemodは、PD2に比べるとだいぶんと領域は小さいですが。

[CharmZone]
Enabled=1
CZLeft=0
CZRight=10
CZTop=3
CZBottom=6

もう一つのQoLは傭兵の装備の拡張(これも最近のModでは標準的ですね)

グラフィック的には、Ringが2個装備できますが実際には1つしかつけることが出来ません(これは多くのModでも解決できないんですよね、たまに出来るやつがありますが)

[MercMod]
FullEquip=1
RogueCrossBow=1
RogueAmaBow=1
; FullEquip allows Hireling to equip boots, gloves, belt, amulet and one ring.
; Allow Act 1 Rogue Hire to equip Cross Bows
; Allow Act 1 Rogue Hire to equip Amazon Bows

Act1のRogueもAmaBowつけることが出来ると選択肢が増えるんで良いですね。

さらにQuestの特典を金で購入することも出来ますがこちらも動きます。

いくつかの機能はそもそもの d2gsの拡張とコンフリクトしているのでどっちが有効になっているのかは実際にやって見てないのでわかりませんがそのうちに確認してみます。(Uber系なので時間掛かりそう)

クライアント側の設定がおかしくなって PlugYからBnetに接続するとCrashしてしまうので断念して、Basemodに付属してるGame.exeで動かしている。この場合、Basemod.iniから BH.dllを読み込んでもGame.exeが違うと言われてしまって動かすことが出来ない。クライアント側でLoot Filterを使いたかったのだが残念だ。


セリアのApple Watch スタンドを買ってみた

かねてよりApple Watchスタンドをほしいと思いながらなかなか値段が高いものが多いのと、iPhoneとの共有のスタンドだとすでにiPhoneが無線充電対応になっていて時計代わりに使っているiPhone(6s/7)だと使えないので購入には至ってなかったのだが先日セリアに行ってみると100円でスタンドが合ったので購入してみました。

もっとチープかと思っていたらそこそこの重さがあるので安心しました。

袋出した写真がなかったのですが普通の形ですね。

実際に充電機を接続したとこはこのような感じです。本体側はキツめに出来てるので抜けることはなさそうです。少し横のケーブルはゆるいかもしれません。しばらく使っているとケーブルが堅いと浮きそう(2,3日では外れたりはしていません)

実際に設置したところです。ガタツキもないですし充電が外れることもなさそうです。バンドを締めた状態で取り出せるので充電中もコンパクトですし取り出すときも楽です。

リモートワークが進んですっかり出番を失いつつ有るApple Watchですが常に充電されている事が多くスタンドが欲しかったのですがAmazonなどを見てもそこそこの値段がするので試しづらいですが、この製品は100均で買えますので試してみた買った人にはおすすめです。