新駒奈日誌

Minecraftの建築に関する情報をよろずに書いていく。

Minecraft Java版サーバ管理者のためのWindows知識(3) バッチファイルの意味

この記事は続きものです。第1回はこちら。

  • ここでは本当に最低限レベルのお話ですので、踏み込んだところまでは紹介しません。単純にバッチファイルの使い方を求めている方は別の記事を見たほうがいいです。
  • ※表示の都合上「\」は円マークに置き換えてください。

第3回 バッチファイルの意味

Minecraftの世界では、「サーバを起動させるためにBATファイルを作りましょう」とか言われて中身はあんまりよくわからない、なんてこともあるかもしれません。でもまぁ、すごく基礎的な使い方であればそんなに難しいものではないです。

バッチファイルとは

バッチとは一括処理という意味です。バッチファイルは、基本はWindowsのコマンドをただ上から順番に実行しているだけのファイルです。「.bat」という拡張子ですが、中身はテキストです。

よく実行しそうなコマンド操作を予めファイルとして用意しておいて、あとはファイルをダブルクリックするだけです。

一応繰り返しや分岐もありますが、そういう複雑な処理は普通別のプログラムにコマンドとして丸投げしてしまいます。バッチファイルは、エクスプローラではできない、あるいはめんどくさい操作を任せるために使われます。

バッチファイルの作り方

作り方はただのテキストファイルとほぼ同じです。普通のメモ帳等のテキストエディタで編集し、拡張子を「.bat」にすればバッチファイルは完成します。再度編集するときは右クリックメニューから。

バッチファイルの例

以下のバッチを例にしてみましょう。このバッチは、あるMinecraftのSpigotサーバをJavaで起動しようとしています。いくつか見慣れないものが出てきていますので、それを解説します。とりあえず覚えておいたほうがいいものだけでも。

@echo off
echo Minecraftサーバを起動します。

rem サーバを起動させる
java -jar spigot-1.13.2.jar
pause
  • @echo off
    • これは少し特殊です。なくてもいいですが、画面がスッキリ見やすくなります。
    • コマンドプロンプトで画面を表示していたときに、左側にC:\Users\user>みたいな表示が出ていました(詳しくは第1回参照)。@echo offがないと毎回これが出てきますが、これを消してくれます。
    • 多分試しに消してみたほうが違いがわかりやすいと思います。
  • ECHOコマンド
    • これは第1回にも解説しましたが、単純に文字を表示する役目として使えます。
  • REMコマンド
    • REMコマンドは、バッチファイルを実行したときには見えなくなります。つまり、プログラミング等でよくある「コメント」の効果を果たします。このコマンドで何をしたいのか、とかを書いておくと良いでしょう。
  • pauseコマンド
    • 基本的に、バッチは最後まで実行すると自動で画面を閉じます。このコマンドを入れておくと、「pause」の箇所でバッチファイルの実行を一旦停止し、「続行するにはなにかキーを押してください…」と表示します。これでサーバの実行の際になにかエラーが起きても勝手に閉じなくなります。

バッチファイルの実行場所

基本はバッチファイルのあるフォルダを起点のフォルダ(カレントディレクトリ)としていろいろ操作を行います。第1回で出てきたCDコマンドによりフォルダ移動すれば、離れた場所にあるプログラムもバッチから実行できます。

つまり、以下のバッチファイルはD:\minecraft\mcserver\spigot132に移動してからspigotサーバを実行します。

@echo off

cd /D D:\minecraft\mcserver\spigot132
java -jar spigot-1.13.2.jar

pause

Javaのバージョンを変える

Javaを特定のバージョンで起動させるために手っ取り早い方法は、第2回で説明したとおり、「java -jar」の行を、絶対パスに置き換えることです。つまり以下のようになります。

@echo off

rem サーバを起動させる
"C:\Program Files\Java\(javaのバージョン)\bin\java.exe" -jar spigot-1.13.2.jar
pause

なお、「特定のJavaのバージョンを取得する」ほうがよっぽど難しいと思うので、当面は以前の私のブログでも見ておいてください。そのうち再度記事にします。

補足: MinecraftJavaの場所

ふだん皆さんはMinecraft Java版を遊んでいると思いますが、最近のインストーラであれば 事前にJavaをインストールする必要はありません。 なぜなら、Minecraftインストール時にJavaがすでに入っているからです。

Windowsで最新のインストーラでインストールした場合、以下のフォルダにjava.exeが入っているはず。「本当に?」と思う人は確かめてみてください。(なお、Minecraft本体を起動させるときには「javaw.exe」というGUI向けのJavaを使用しています。)

C:\Program Files (x86)\Minecraft\runtime\jre-x64\bin