MY MU8IC with Hatena

誰かが必要としてそうな、自分に必要だったことを記録するためのブログ

Minecraft向け X-Mouse Button Controlの設定

釣り機や木材回収装置等で、クリック長押し、同時押し、連打等の自動化をしてみたかったので、X-Mouse Button Control(以下省略名:XMBC)というフリーソフトを導入してみた。

使い方や設定について記録しておく。

 

freesoft-100.com

提供元サイト:

http://www.highrez.co.uk/downloads/XMouseButtonControl.htm

 

インストールを完了すると自動的に起動してタスクトレイに常駐する。

右クリックして「Setup」を選択すると設定画面が開く。

 

f:id:mymu8ic:20200418092903p:plain

初期状態では何も設定されていない。

 

左下の「Setting」からXMBCの共通設定を開くことができる。

「Language」から、なんと日本語にすることができたので(嬉しい!)日本語にしておいた。

ついでに共通設定の中身を見てみたけど、驚くほど多機能で詳細まで設定できるらしい。とりあえず調整は動作テストをしてからすることにして初期設定のままにしておく。

 

f:id:mymu8ic:20200418093238p:plain

 

「アプリケーション/ウィンドウ・クラスのプロファイル」というところでMinecraftを指定すれば、設定をMinecraftにだけ反映することができるらしい(これも嬉しい!)。

「追加」から、一覧に表示される「minecraftlauncher.exe」を指定しておいた。指定する.exeはlauncherで良いんだろうか……

いったん追加して、設定画面右側の「オプション」タブに「このプロファイルではマウス・ポインタのデザインを変更する」という項目があり、アプリケーションを指定してプロファイルを有効にしているときマウスポインタに色を付けられるようだったので確認してみたところ、やっぱりlauncherを指定するとゲーム画面ではなくランチャーが指定されるようだった。

 

f:id:mymu8ic:20200418094647p:plain

 

で、アプリケーションの選択ウィンドウの左下に「ウィンドウ/クラス」というボタンがある。

 

f:id:mymu8ic:20200418094735p:plain

 

これを使用すると、上部にある画像をウィンドウにドラッグすることで、そのウィンドウからアプリケーションを取得して指定できるようだったのでやってみた。

 

f:id:mymu8ic:20200418094904p:plain

 

うーん、これはもしかするとMinecraftのバージョンを変更した時は更新が必要なのかもしれない。「マッチ・タイプ」を調整しておくと良いのかもしれないけどとりあえずそのままにして、「説明」欄に「Minecraft 1.15.2」と入れて、「OK」しておく。

ついでにマウスポインタの色を「ターコイズ」にすると、(Minecraftでの)ダイヤ色になった!有効になっているのが分かりやすいのでこれにしておく。プレイ中の視認性に応じて調整しよう。

 

さて、今回希望する機能としてはとりあえず以下二つ。

(1)自動釣り機用に、右クリックの長押し(または連打)をON/OFFできるようにしたい

(2)木材回収機用に、左クリックと右クリックの長押しをON/OFFできるようにしたい

 

ついでに、

(3)Minecraftのウィンドウにマウスオーバーしている間はMinecraftのウィンドウを最前面に、あるいは非アクティブにならないようにしたい

 

通常の操作をレイヤー1、クリックを変更したものをレイヤー2に設定し、レイヤーの切り替えを何らかの方法で行うことにする。

幸いMinecraftを指定でき、またマウスボタンが3つ以上あるマウス(具体的にはトラックボール)を使用しているため、中クリックにレイヤー切り替えを割り当てる。

 

「中ボタン」に「レイヤー2」を割り当ててみたけど、どうやらこの設定だと中クリックを押している間だけレイヤー2に切り替わるようになるらしい。

「次のレイヤー」とすると、レイヤー1・2だけの場合はクリックするたびにレイヤーが切り替わるようになった。

 

レイヤー2の「左ボタン」に「ボタン・長押し」というのを選択してみた。

なんと!長押し時間によって機能を変えることができるらしい。

ただ整地中とか弓矢で狙っているときとか、長押し時間をなかなか定めにくいので、今回はスルーする。

 

f:id:mymu8ic:20200418101707p:plain

 

とりあえず、ここまでの設定で

・中クリックでレイヤー1,2を切り替える

・レイヤー2のとき左右クリックはそれぞれ長押しの開始となり、レイヤー1に切り替えたかどうかに関わらず、もう一度クリックして解除する

という状態にできました。

 

f:id:mymu8ic:20200418234225p:plain

 

オプションに「マウス・オーバーでウインドウをアクティブにする」という項目があったわけですが、

例えばMinecraftをプレイ中に何らかの操作でウィンドウが非アクティブになったとき、マウスがウィンドウ上にあっても、少しでも動かさないとアクティブになりませんでした。

Minecraftのウィンドウが不意に非アクティブになるのを防ぎたかったんですがこれは断念。

現在のマウスのモードが常時表示されて確認できる状態にできたら良かったんですが、とりあえず普通にはできなそうなので保留。

画面表示領域外に行ってしまったウィンドウ、ダイアログボックスを移動して戻す

とあるソフトで、ダイアログボックスが開く度に位置が少しずつズレていき、構わずEnterで操作していたら、いざダイアログボックスの項目を操作したくなったときにめちゃくちゃ困ったのでメモ。

 

まず、ダイアログボックスではなく通常のウィンドウの場合。

 

案外この場合はあまり困らなくて、

タスクバーからウィンドウのプレビューを右クリックして「移動」を選択するとマウスカーソルがウィンドウタイトルバーに移動して、本来ならばマウスをその位置からドラッグすれば移動ができて、

もしウィンドウが画面に表示されていないならば矢印キーを使うことで移動ができます。

ウィンドウが上下左右どちらに隠れているかくらいは把握しないといけませんが、最初にマウスカーソルがウィンドウの隠れている方向に移動してくれるのでそれで判別ができます(例えばマウスカーソルが画面下に移動したのであれば、ウィンドウは下に隠れているので [↑] キーを押し続けていればそのうちウィンドウが画面内まで上がってくるはずです)。

f:id:mymu8ic:20200330224740p:plain

 

問題はダイアログボックスのように、タスクバーにウィンドウとして表示されないもの。

 

この場合は、まずダイアログボックスがアクティブになる操作(ダイアログボックスを表示させる時の操作)を行います(すでにアクティブになっている場合は、ダイアログを表示させている元のソフトのウィンドウなどはクリックできなくなっているはず)。

その後 [Alt + Space] を押すと、ウィンドウのプレビューを右クリックしたときと同じコンテキストメニューが表示されます。

ここで [M] キー(「移動」)を押せば、ウィンドウを移動する状態になるので、ウィンドウの時と同様に矢印キーで移動すれば、表示領域内まで移動させることができます。

 

ただ厄介なことに、ソフトによってはウィンドウの配置を記憶しているため、次に起動したときにウィンドウやダイアログが再び画面外に出てしまう場合があります。

ウィンドウ配置のリセットや再記憶はソフトによって動作が異なるため何とも。

Amazon EC2でMinecraftサーバーを立てる

Amazon EC2 とは?

Amazon EC2: Amazon Elastic Compute Cloud

AWS: Amazon Web Service」の一つで、クラウド内に仮想サーバーを立てられるサービスです。

似たものに「Amazon Lightsail」があり、こちらも仮想サーバーのサービス。

EC2とLightsailの大きな違いは「従量課金か、定額か」という点です。

今回Minecraft Serverを使うにあたり、使用頻度が高い時期と低い時期との差が激しく、また使用頻度が低い時期が長期間続く場合もあるため、従量課金のEC2を選択しました。

またEC2の特徴として、「インスタンス」として仮想サーバーを作成しますが、メモリやストレージ容量を変更したインスタンスを作成すれば、一時的なサーバーのスペックアップや移行も可能なようだったのが、ちょっと面白いなと思ったのもあります。

24時間常時、長期間に渡って起動し続けるならば、定額制のレンタルサーバーが適していますが、

「週末しか使わない」「来月になったらやらないかもしれない」という状況ならばEC2が適しています。

インスタンスを起動している間だけ時間単位で課金され、停止していれば課金も止まるため、実際に使ってみると思ったよりも気軽に使える印象でした。

 

 

■準備

先に以下を済ませておく。

Amazon AWS アカウントの作成

SSH クライアント(今回はTera Termを使用)のインストール

 

■EC2 ダッシュボードの表示

AWSにサインイン

AWS マネジメントコンソールの「すべてのサービス」を展開し、「EC2」をクリック

 

■キーペアの作成

[EC2 ダッシュボード > ネットワーク & セキュリティ > キーペア] をクリック

「キーペアを作成」をクリック

キーペアの名前を「minecraft」とし、ファイル形式は「pem」を選択し、「キーペアを作成」をクリック

ブラウザが「minecraft.pem」をダウンロードするため、ローカルに保存する。

 

インスタンスの作成

[EC2 ダッシュボード > インスタンス > インスタンス] をクリック

インスタンスの作成」をクリック

Amazon マシンイメージ(AMI)にはAmazon Linux AMI(64 ビット)、

インスタンスタイプにはt2.smallを選択

「次のステップ:インスタンスの詳細の設定」をクリック

「自動割り当てパブリック IP」に「有効」を選択

「次のステップ:ストレージの追加」をクリック

特に変更無く、「次のステップ:タグの追加」をクリック

「タグの追加」をクリックし、キーに「Name」、値に「minecraft」を入力

「次のステップ:セキュリティグループの設定」をクリック

「ルールの追加」をクリックし、追加されたルールを以下のように設定

・タイプ:カスタム TCP(初期状態)

プロトコルTCP(初期状態)

・ポート範囲:25565

・ソース:カスタム(初期状態) / 0.0.0.0/0

・説明:空欄(初期状態)

「確認と作成」をクリックする。

インスタンス作成の確認」が表示される。「起動」をクリック。

キーペアの選択画面が出る。

「既存のキーペアの選択」を選択、キーペアに先ほど作成した「minecraft」を選択する。

「選択したプライベートキーファイルへのアクセス権があり……」にチェックを入れて「インスタンスの作成」をクリックする。

インスタンスの表示」をクリックする。

 

■Elastic IPの設定

[EC2 ダッシュボード > ネットワーク & セキュリティ > Elastic IP] をクリック

「Elastic IP アドレスの割り当て」をクリック

AmazonIPv4 アドレスプール」を選択して「割り当て」をクリック

作成したパブリック IPv4 アドレスを選択し、[Actions > Elastic IP アドレスの関連付け] を選択

インスタンス」のボックスをクリックして、作成した既存のインスタンスを選択する。

「プライベート IP アドレス」のボックスをクリックして、表示されるIPアドレスを選択する。

「関連付ける」をクリックする。

 

SSH クライアント(Tera Term)でサーバーへログインする

Tera Termを起動する。

TCP/IP」を選択し、ホストにElastic IP アドレス(「パブリック IPv4 アドレス」に表示されているアドレス)を入力し、「OK」をクリックする。

セキュリティ警告が表示されたら「続行」をクリックする。

SSH認証が表示されたら、「ユーザー名」に「ec2-user」、「認証方式」に「RSA/DSA/ECDSA/ED25519鍵を使う」を選択し、秘密鍵は先ほどローカルに保存した「minecraft.pem」を選択し、「OK」をクリックする。

コンソールが起動する。

 

■インストール

root権限でコマンドを実行できる状態にしてからJavaをインストール

$ sudo su

# yum install java-1.8.0-openjdk

「Is this ok」のメッセージが最後に表示されるので

y

Javaのバージョンを確認する

# java -version

java version "1.7.0_231"」と表示されたので、バージョンを1.8.0に変更する。

# alternatives --config java

「Enter to keep the current selection[+], or type selection number:」と表示されるので、「1.8.0」のバージョン番号が含まれる番号を入力する。

# java -version

でバージョンを再確認しておく。

screenをインストールする。

# sudo yum -y install screen

今回はscreenの最新バージョンが既にインストールされていた。

Minecraftディレクトリをホームディレクトリに作成する

# mkdir ~/minecraft

作成したディレクトリに移動する

# cd minecraft

または

# cd ~

# cd minecraft

 Minecraft_serverをインストール

# wgetminecraft_serverのダウンロードリンク)

minecraft_serverのダウンロードリンクはMojangのサイトのダウンロードリンクのURLを調べて直接入力した

ファイル名は「server.jar」になっている。ほんとは変えたいけど面倒なのでそのままにする。

一度Minecraftを起動する

# java -Xms1024M -Xmx1024M -jar server.jar nogui

eula.txtが作成されるので、内容を編集する

# vi eula.txt

viが起動したら、「eula=false」を「eula=true」に変更する。

※viは起動時コマンドモードになっているため、[a] で入力開始、「false」の文字列をBackspaceで削除し、「true」を入力後、[esc] で入力終了、[wq] を入力して保存・終了する。

その後Minecraft_serverを再度起動する。

# java -Xms1024M -Xmx1024M -jar server.jar nogui

Minecraftが起動し、ワールドを生成した後「Done! For help, type "help"」が表示されたら、Minecraftでサーバーを追加してアクセスしてみる。

サーバー追加時のIPアドレスはElastic IPの「パブリック IPv4 アドレス」の数字を指定する。

 

■運用と料金について

料金はインスタンスのCPU、メモリのスペックによって変わってくる。

友人グループでのプレイなら「t2.micro」か「t2.small」の二択になると思われる。

microはメモリが1GB、smallは2GBだが、microでの動作はかなりラグが目立ち、Minecraftがクラッシュする確率も高そうだった(感覚的には1日1~3回くらいはクラッシュしそう)。

あまりにも不安定なのでsmallを試してみたら、シングルプレイに比べたら多少のラグは気になるものの、動作は一気に安定したし、

以前使ったことのあるレンタルサーバー「さくらVPS」で、ほぼ同スペックでCentOSを使って稼働していたときに比べるといくらか快適。

よって、最大接続人数5,6人程度、夜間・週末の利用頻度が高い、という感じの使い方ならば「t2.small」が

「t2.small」の場合0.0304USD/時間、つまり1時間あたり約3.3円程度(2020/2/29時点)。24時間稼働で80円、30日稼働で2,370円程度。

もし金曜日夜22:00~日曜日夜24:00までの50時間を毎週使うと仮定すると、月660円。

プラス、平日5日のうち1日ずつ増えるごとに320円ずつ増え、980、1,300、1,620、1940、2,260円。

 

・利用が週末に限定される場合、金曜夜から日曜夜中まで稼働しっぱなしでも全然許容範囲。

・平日も利用するとなると、昼間など利用しない時間帯の料金が無駄になる。稼働する曜日を決められるならその方が良いが、決められないのであれば、面倒でも開始・停止をきちんと切り替えた方が良い。

 

─────−- -  -  2020/3/13 追記  -  - -−─────

■しばらく使ってみての感想

EC2で立てたMinecraftサーバーでしばらくプレイしてみたけど、

とにかくラグい。Mobはカクカク動くし、スイッチ系の動作は遅いし、木の伐採や採掘はブロックのゴーストが表示されてとにかくやりづらかった。

後で分かったことだけど、EC2はコアやRAMの面で明らかにスペックが低かった。

その後、以前使ったことのあるさくらVPSに移行したところ、非常に安定した動作。

結論から言って、EC2でのMinecraftサーバー運用は難があった。

快適さで言えば、たとえ一時的といえども一晩も我慢できない。

Google Play Musicにアップロードできるファイル形式 / ファイル形式の変換

まず、Google Play Musicでサポートされているファイル形式は以下のとおり(2020/2/26現在)

support.google.com

MP3(.mp3)→非可逆圧縮

AAC(.m4a)→非可逆圧縮

WMA(.wma)→非可逆圧縮

FLAC(.flac)→可逆圧縮

OGG(.ogg)→非可逆圧縮

DRM保護されたAAC(.m4p)→非可逆圧縮

ALAC(.m4a)→=Appleロスレス可逆圧縮

 

Google Playストアで購入した音源はどの形式になっているのか分かりませんが、

Google Play Music上で情報を見たところ、ビットレートが「320」と表記されているので、

320kbpsの品質のファイルを用意すれば、ストアで購入できる音源と同品質と考えて良さそうです。

 

問題になるのは、配信音源がmp3であったり、CD音源を取り込んだらWAVだったりと、

手に入れられる音源の元ファイル形式が一定でないため、

Google Play Musicにアップロードするにあたってはどのファイル形式にすれば良いのか?ということですが、

WMA形式を除いて、いずれのファイル形式でもアップロードすると同ビットレート~320kbpsの.mp3ファイルへと変換されてしまうようです。

最終的にどのファイル形式でアップロードしてもMP3になるのであれば、

・取り込み形式として選択しやすい形式

→システムの標準機能で取り込みができる

・できればGoogle Play Musicへのアップロード前は可逆系形式が良い

FLACまたはALAC

・上記が選択できない場合(配信音源など)は、320kbpsが理想。必要に応じてエンコード

 

 

Windows Media PlayerのCD取り込み形式は以下のとおり。

f:id:mymu8ic:20200226214006p:plain

Windows Media PlayerのCD取り込み形式

Windows Media PlayerFLACとALACが選べます。

ALACは「Appleロスレス」ですので、Windowsの場合は避けておきましょうかw

というわけでFLACを選択。

なおFLACを選択すると、ビットレートについては「470から940kbps」に固定になります。

 

一方iTunesの取り込み形式は以下のとおり。

f:id:mymu8ic:20200226215038p:plain

iTunesのCD読み込み設定

Apple Losslessエンコーダ、つまりALACが選択できます。FLACは無いのね……

Windowsとの統一感は無くなりますが、いちおうどちらも可逆圧縮形式が標準で選択できます。

 

CDから取り込むときは、Windows Media PlayerまたはiTunesを選択すれば良いですが、

では取り込み済みの音源ファイルしかない場合はどうすれば良いでしょう?

 

Googleドライブを使用している場合

■一日あたり制限付きオンラインツールを使用するのに抵抗が無い場合

この場合は、「CloudConvert」を使用するのが良いと思われます。

cloudconvert.com

音楽だけでなくビデオや圧縮ファイルなど非常に多くの形式に対応しており、

またGoogleドライブからならファイルの右クリックメニューから変換に送ることができるため、

ツールとして手堅い選択肢と考えられます。

ただし、無料プランでは一日あたりの変換時間が25分間に限られるようなので、

一気に大量に変換したい場合にはあまり向いていません。

 

■それ以外の場合

これまでの方法を使わない場合は、何らかの方法でエンコードを行うことになります。

iTunesを使っているなら、iTunesの変換機能で希望のファイル形式に変換するのが良いでしょう。

どうしても外部ソフトに頼らなければいけないようであれば、

現状は「fre:ac」が一番良いかなと思います。

エンコーダでFLAC、品質は「5: デフォルト」を選択すれば、不安・不満の無い品質でエンコードができそうです。

スタートアップフォルダについて

Windowsのスタートアップフォルダには2種類ある。

(1)C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

(2)C:\Users\(ユーザーアカウント名)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

 

(1)はPCに対する設定、(2)はユーザーアカウントに対する設定

目的別に使い分け、不必要にスタートアップが分裂しないように注意する。

エクスプローラーで開いているフォルダーまで階層を展開する

作業内容によっては、エクスプローラーで現在開いているフォルダ、またはその上位の階層が、サイドバーからすぐに確認、アクセスできた方が都合が良い場合がある。

エクスプローラーで

[表示 > ナビゲーションウィンドウ]

「開いているフォルダーまで展開」をONにする。

 

ただ、この設定を有効にしていると、「ダウンロード」「ドキュメント」など、

初期設定のクイックアクセスにも登録されているようなフォルダを開くだけで階層が展開してしまい、

ナビゲーションウィンドウがいちいち下へ移動するため、

連続したフォルダ移動などの作業をしていない場合は邪魔になることもあるため、

必要に応じてON/OFFを切り替える。

Windowsに標準でインストールされているフォント / 「非表示」になっているフォントの表示

いつも仕事用PCで使用してたフォントが、自宅PCで使えない。

後から追加したフォントではないはずだが……

ということで、Windows10に標準でインストールされているフォントを調べたところ、Adobeのサイトでこんなページが出てきた。

helpx.adobe.com

 

Microsoftのサイトでは一覧は無いのか?と思って調べても、なかなか出てこない。

そこでチャットサポートに助けを求めて教えてもらった。

docs.microsoft.com

※上記サイトで、Windows7、8、8.1のフォントリストも確認可能

 

英語のサイトなんですね……^^;

 

使いたかったフォントは標準フォントのリストに含まれている。

ではなぜこのPCでは使えないのだろう?

 

C:\Windows\Fonts

ディレクトリを確認してみたところ、使いたかったフォントはちゃんとインストールされていた。

が、アプリ内でフォントを変更しようとしても、そのフォントは一覧に表示されない。

もう少し調べたところ、↓のようなページが。

121ware.com

 

フォント一覧の表示を見たところ、

使いたかったフォントは「表示/非表示」欄が「非表示」になっている!!

 

非表示になっているフォントは他にもたくさんあるようで、

全部「表示」に切り替えてしまえば、直面している問題は解決するけど、

初期設定で非表示になっているのには何らか意味があるはず。

 

コントロールパネルの設定を探したところ、こんな設定があった。

 

f:id:mymu8ic:20200226125844p:plain

コントロール パネル\デスクトップのカスタマイズ\フォント\フォント設定

「入力言語の設定に基づいて一部のフォントを非表示にする」というオプション。

(いや、僕のPCではOFFになってたわけですが……^^;)

 

要するに、すべてのフォントを一覧に表示するとフォントの数がすごいことになるので、

システム言語に基づいて、使用が想定されるフォントだけ一覧に表示します、ということらしい。

あらためてフォント一覧を見てみると、「デザイン対象」が「(空欄)」「日本語」「記号」になっているフォント以外はすべて「非表示」になっていた。

f:id:mymu8ic:20200226130206p:plain

C:\Windows\Fonts

「非表示」になっているだけなので、たとえばそのフォントが使われている文書ファイルを開いたときなどの見た目の表示には影響が無いのだと思われる。

 

今回操作しているのは仕事用PCではなく自宅PCなので、

すべてのフォントを「表示」に切り替えるのではなく、

現状作業で使いたいフォントだけを「表示」に切り替えるかたちで対応することにしました。