【マイクラ】バッチファイルをカスタマイズしてみた【配布あり】
当記事にはアフィリエイト広告が含まれています。
2023年10月1日より施行された景品表示法の指定告示(通称:ステマ規制)によって、広告を掲載しているサイトやメディア、SNS内に、読者が認識できるような表記が必須となりました。
当サイトにおいても景品表示法に則り、冒頭に表記するようにしていますので、ご理解の上、ご覧いただけますと幸いです。
当記事にはアフィリエイト広告が含まれています。
2023年10月1日より施行された景品表示法の指定告示(通称:ステマ規制)によって、広告を掲載しているサイトやメディア、SNS内に、読者が認識できるような表記が必須となりました。
当サイトにおいても景品表示法に則り、冒頭に表記するようにしていますので、ご理解の上、ご覧いただけますと幸いです。
どうもこんにちわ、揚げたてのポテトです。
パソコンでマイクラサーバーを立てる時は、バッチファイルが必要になりますが、バッチファイルはマイクラサーバーを立てるだけではなく、他にも色々できるみたいなので勉強がてら少しいじって遊んでみます。
今回は、そんなバッチファイルをいじってみたという記事になります。
また、面白いバッチファイルを作れたので配布もしていきますよ!
バッチファイルについて
そもそもマイクラサーバーを立てることが無い方はバッチファイルに触れる機会もなく、知らないと思いますので、バッチファイルとはどのようなファイルなのか簡単に説明していきます。
バッチファイルとは
Windowsのコマンドプロンプトに実行させるコマンドをテキストファイルにまとめたものです。バッチファイルの拡張子が「.bat」であるため、batファイルとも呼ばれています。
私の記事ではbatファイルと呼んでいます。
バッチファイルを実行すると、記述されたプログラムを読み込み、その中のコマンドを順に実行していきます。実行できると作業効率の軽減を図れたり、人の手によるミスが減ったりします。
マイクラサーバーではバッチファイルを利用して、サーバーを立てる時に1コマンドずつ実行させる手間をバッチファイルにプログラムを組み込み、実行することで1コマンドずつ入力する手間を省いています。
バッチファイルの作成方法
バッチファイルの作成は簡単で、Windowsに標準搭載されているメモ帳を開きます。
メモ帳にプログラムとなるコマンドを入力します。(以下のコマンドをメモ帳に入力する)
@echo off
echo Hello World!!
pause
入力したら、「名前を付けて保存」でファイルの種類を「すべてのファイル」、文字コードを「ANSIまたはSJIS」、ファイル名を「〇〇.bat」に変更し、保存します。
文字コードをANSIまたはSJISに変更しないと日本語が文字化けするので注意!
保存すると、歯車の付いたファイルが作成されます。これがバッチファイルのアイコンです。
最後に作成したバッチファイルをダブルクリックで起動させると「Hello World!!」と表示されます!
マイクラサーバーのバッチファイルをカスタマイズしてみた
それでは、マイクラサーバーのバッチファイルに記述されているコードを元にカスタマイズしていきたいと思います。
@echo off
java -Xmx1024M -Xms1024M -jar server_1.16.jar nogui
pause
通常、上記のコードを記述したバッチファイルを起動させると、黒い画面(コンソール画面)に白い文字が表示されると思います。
このコードの記述をいじることで色を変えたり、タイトルをつけたり色々できるので、やってみましょう!
\当サイトが厳選したゲーム向けレンタルサーバー/
ConoHa for GAME 解説ページへ | 800円クーポンが貰える 初回利用は 1ヶ月以上利用する方は長期割引パスがおトク 4GBプラン:月額1,598円/8GBプラン:月額2,678円 ※上記料金は割引キャンペーン適用済み(12月11日まで) 料金面: 性能面: サポート面: 使いやすさ: |
---|---|
ロリポップ! for Gamers 解説ページへ | マイクラサーバーがたった3ステップですぐ遊べる 国内トップ級のサーバー高性能&高速回線を採用 4GBプラン:月額1,500円/8GBプラン:月額3,000円 料金面: 性能面: サポート面: 使いやすさ: |
Xserver VPS 解説ページへ | 国内トップ級のサーバー高性能&高速回線を採用 初めての方でも直感的な操作で分かりやすい 4GBプラン:月額2,200円/8GBプラン:月額4,400円 料金面: 性能面: サポート面: 使いやすさ: |
レンタルサーバーはこんな人におすすめ!
「パソコンの性能(スペック)が足りない」
「ポート開放が上手くできない」
「難しくてよく分からない」
当サイトでは、上記のレンタルサーバーを徹底解説しているので初めての方でも分かりやすいと好評です!
黒い背景と文字の色を変更しよう
何も設定していないバッチファイルでは、コマンドプロンプトの黒い背景と白い文字で表示されます。
ここに以下のコードを追記するだけで変更できるようになります。
@echo off
color af
java -Xmx1024M -Xms1024M -jar server_1.16.jar nogui
pause
2行目に「color af」の1行を追加しました。そしてサーバーを起動してみます。
この通り、これだけで背景色が緑に、文字色が白に変更ができます。
color [背景色][文字色]
このcolorの後に変更したい背景色と文字色を数字とアルファベットで指定すると、起動時に反映されるようになります。
色は以下の16色から選ぶことができるので好みの色を選んで記述してみましょう。
値 | 色 |
---|---|
0 | 黒 |
1 | 青 |
2 | 緑 |
3 | 水色 |
4 | 赤 |
5 | 紫 |
6 | 黄色 |
7 | 白 |
8 | 灰色 |
9 | 明るい青 |
値 | 色 |
---|---|
a | 明るい緑 |
b | 明るい水色 |
c | 明るい赤 |
d | 明るい紫 |
e | 明るい黄色 |
f | 明るい白 |
いかがでしょうか?今まで黒い画面に白い文字で見づらかったコンソール画面もカスタマイズすることで見やすくすることができました。
コンソール画面のタイトルを表示しよう
次は、コンソール画面の左上に表示されているタイトルを変更してみましょう。
@echo off
color af
title マイクラサーバー[1.16.5]
java -Xmx1024M -Xms1024M -jar server_1.16.jar nogui
pause
今度は3行目に「title マイクラサーバー[1.16.5]」を追加しました。ではサーバーを起動してみます。
これで左上のタイトルを変更することができました。
title ここにタイトルを入れる
titleの後に文字を入れるとコンソール画面のタイトルとして表示されます。
マイクラサーバーを複数使い分けている方は、タイトルで判断することが出来て便利ですね!
文字を表示させよう
マイクラサーバーを起動させる時に文字を表示出来たら面白いですよね。
そこで使えるのが、文字を表示させるコマンドのechoです。
@echo off
color af
title マイクラサーバー[1.16.5]
echo サーバー起動中…
echo しばらくお待ちください…
java -Xmx1024M -Xms1024M -jar server_1.16.jar nogui
pause
このように任意の文字を表示させることができます。
echo ここに文字を入れる
titleと同様にechoの後に文字を入れると起動したときに文字として表示されます。
文字を表示させるだけなので単体コマンドではあまり需要は無いですが、プログラムを組むときによく使われます。
バッチファイルの他のコマンドについて
ここまでマイクラサーバーのカスタマイズで、簡単に使えそうなコマンドを紹介してきました。
その他にも様々なコマンドをバッチファイルでは使えるので、詳しく説明しているサイトを載せます。参考にどうぞ
マイクラサーバーを自動構築できるバッチファイルを作ってみた
さて、バッチファイルについてなんとなく分かってきた所で、私が勉強がてらマイクラサーバーのバッチファイルを作ってみたので、ここで公開しようと思います。
どんなバッチファイルかというと・・・
バッチファイルでマイクラサーバー自動構築
~質問形式で簡単にマイクラサーバー構築できるバッチファイル~
というバッチファイルを作ってみました!
バッチファイルでマイクラサーバー自動構築とは
このバッチファイルは、起動すると質問形式で聞かれるので、答えていくだけで初期設定を行い、マイクラサーバーを立てるまでを自動で行ってくれます。
質問の中に、[アルファベット]が表示されているのでこの中の指定されたアルファベットを入力すると答えることができます。
対応サーバーとバージョンについて
対応サーバーはバニラサーバーのみで、バージョンは1.12.2~1.16.5です。
質問内容について
- サーバーファイルの生成を開始してもよろしいですか?
- Minecraft EULAに同意しますか?
- サーバーのバージョンは何にしますか?
- サーバーの名前は何にしますか?
- サーバーのポート番号は何にしますか?
- ゲームモードの設定は何にしますか?
- 難易度の設定は何にしますか?
- シード値の設定は何にしますか?
- 最大参加人数の設定は何にしますか?
- PVPの設定は何にしますか?
- フライを許可しますか?
以上の11個の質問を用意しています。基本的にマイクラサーバーを立てる上に必要な情報を聞かれる形にしました。
答えた内容に沿って、マイクラサーバーを構築していきます。
ポート開放について
質問の中でポート番号を聞かれますが、ここではポート番号を設定するだけで自動ではポート開放は行いません。なので、マイクラサーバー起動完了後に各自でポート開放をお願いします。
自動構築設定完了後にバージョンを変更したい場合は、フォルダ内に生成されたjarファイルを削除してバッチファイルを起動するとリセットできます。
\当サイトが厳選したゲーム向けレンタルサーバー/
ConoHa for GAME 解説ページへ | 800円クーポンが貰える 初回利用は 1ヶ月以上利用する方は長期割引パスがおトク 4GBプラン:月額1,598円/8GBプラン:月額2,678円 ※上記料金は割引キャンペーン適用済み(12月11日まで) 料金面: 性能面: サポート面: 使いやすさ: |
---|---|
ロリポップ! for Gamers 解説ページへ | マイクラサーバーがたった3ステップですぐ遊べる 国内トップ級のサーバー高性能&高速回線を採用 4GBプラン:月額1,500円/8GBプラン:月額3,000円 料金面: 性能面: サポート面: 使いやすさ: |
Xserver VPS 解説ページへ | 国内トップ級のサーバー高性能&高速回線を採用 初めての方でも直感的な操作で分かりやすい 4GBプラン:月額2,200円/8GBプラン:月額4,400円 料金面: 性能面: サポート面: 使いやすさ: |
レンタルサーバーはこんな人におすすめ!
「パソコンの性能(スペック)が足りない」
「ポート開放が上手くできない」
「難しくてよく分からない」
当サイトでは、上記のレンタルサーバーを徹底解説しているので初めての方でも分かりやすいと好評です!
バッチファイルでマイクラサーバー自動構築のダウンロード
こちらからダウンロード可能です。
ダウンロード完了後、Zipフォルダを解凍してお使いください!
バッチファイルはこわい!という方もいると思うので全コードを公開します。
バッチファイルでマイクラサーバー自動構築のコード
@echo off
color e0
title バッチファイルでマイクラサーバー自動構築
echo #+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+#
echo # #
echo # \バッチファイルでマイクラサーバー自動構築/ #
echo # 質問形式で簡単にサーバー構築するバッチファイル #
echo # 対応Ver 1.12.2-1.16.5 #
echo # 製作:揚げたてのポテト Web:https://agepote.jp #
echo # 製作日:2021/04/01 #
echo # #
echo #+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+#
if exist server-1.12.2.jar (
set VER=1.12.2
goto :START
)else if exist server-1.13.2.jar (
set VER=1.13.2
goto :START
)else if exist server-1.14.4.jar (
set VER=1.14.4
goto :START
)else if exist server-1.15.2.jar (
set VER=1.15.2
goto :START
)else if exist server-1.16.5.jar (
set VER=1.16.5
goto :START
)else (
goto :SETUP
)
:START
cd /d %~dp0
title バッチファイルでマイクラサーバー自動構築 [%VER%]
echo;
echo セットアップ確認完了
echo;
echo サーバー起動中...
echo しばらくお待ちください...
java -jar -Xms1024M -Xmx1024M server-%VER%.jar nogui
goto :EXIT
:SETUP
cd /d %~dp0
echo;
echo [注意] サーバー設定が完了するとバッチファイルと同じフォルダにサーバーファイルが生成されます!
echo [推奨] 新しいフォルダにバッチファイルを入れてから進めることをオススメします!(再起動必須)
echo;
:STEP1
echo [STEP1] サーバーファイルの生成を開始してもよろしいですか?[はい:y,いいえ:n]
set INPUT=
set /P INPUT="入力>> "
if "%INPUT%"=="y" (
echo ■サーバーファイルの生成を開始します
goto :STEP2
) else if "%INPUT%"=="n" (
goto :EXIT
) else (
echo [警告] yまたはnで入力してください!
goto :STEP1
)
:STEP2
echo;
echo;
if exist eula.txt del eula.txt
echo [STEP2] Minecraft EULA(https://bit.ly/2OoJY69)に同意しますか?[はい:y,いいえ:n]
set INPUT=
set /p INPUT="入力>> "
if "%INPUT%"=="y" (
echo #EULAをtrueに変更すると、Minecaft EULA(https://bit.ly/2OoJY69)に同意したことになります。>> eula.txt
echo #Sun Jan 1 00:00:00 JST 2021>> eula.txt
echo eula=true>> eula.txt
echo ■EULAに同意しました
goto :STEP3
) else if "%INPUT%"=="n" (
echo #EULAをtrueに変更すると、Minecaft EULA(https://bit.ly/2OoJY69)に同意したことになります。>> eula.txt
echo #Sun Jan 1 00:00:00 JST 2021>> eula.txt
echo eula=false>> eula.txt
echo ■EULAに同意しませんでした
goto :EXIT
) else (
echo [警告] yまたはnで入力してください!
goto :STEP2
)
:STEP3
echo;
echo;
echo [STEP3] サーバーの設定を行います
:VER
echo;
echo 1.サーバーのバージョンはいくつにしますか?[1.12.2:a,1.13.2:b,1.14.4:c,1.15.2:d,1.16.5:e]
set VER=
set /p VER="入力>> "
if "%VER%"=="a" (
set VER=1.12.2
) else if "%VER%"=="b" (
set VER=1.13.2
) else if "%VER%"=="c" (
set VER=1.14.4
) else if "%VER%"=="d" (
set VER=1.15.2
) else if "%VER%"=="e" (
set VER=1.16.5
) else (
echo [警告] a,b,c,d,eで入力してください!
goto :VER
)
title バッチファイルでマイクラサーバー自動構築 [%VER%]
echo ■サーバーのバージョンを「%VER%」に設定しました
:NAME
echo;
echo 1.サーバーの名前は何にしますか?[サーバー名(motd):名前]
set NAME=
set /p NAME="入力>> "
echo ■サーバーの名前を「%NAME%」に設定しました
:PORT
echo;
echo 2.サーバーのポート番号は何にしますか?[デフォルト:d]
set PORT=
set /p PORT="入力>> "
if "%PORT%"=="d" (
set PORT=25565
)
echo ■サーバーのポート番号を「%PORT%」に設定しました
:GAMEMODE
echo;
echo 3.ゲームモードの設定は何にしますか?[サバイバル:s,アドベンチャー:a,クリエイティブ:c]
set GAMEMODE=
set /p GAMEMODE="入力>> "
if "%GAMEMODE%"=="s" (
set GAMEMODE=survival
) else if "%GAMEMODE%"=="a" (
set GAMEMODE=adventure
) else if "%GAMEMODE%"=="c" (
set GAMEMODE=creative
) else (
echo [警告] s,a,cで入力してください!
goto :GAMEMODE
)
echo ■ゲームモードを「%GAMEMODE%」に設定しました
:DIFFICULTY
echo;
echo 4.難易度の設定は何にしますか?[ピースフル:p,イージー:e,ノーマル:n,ハード:h,ハードコア:hc]
set DIFFICULTY=
set /p DIFFICULTY="入力>> "
if "%DIFFICULTY%"=="p" (
set DIFFICULTY=peaceful
) else if "%DIFFICULTY%"=="e" (
set DIFFICULTY=easy
) else if "%DIFFICULTY%"=="n" (
set DIFFICULTY=nomal
) else if "%DIFFICULTY%"=="h" (
set DIFFICULTY=hard
) else if "%DIFFICULTY%"=="hc" (
set DIFFICULTY=hard
set HARDCORE=true
) else (
echo [警告] p,e,n,h,hcで入力してください!
goto :DIFFICULTY
)
echo ■難易度を「%DIFFICULTY%」に設定しました
:SEED
echo;
echo 5.シード値の設定は何にしますか?[空白:ランダム]
set SEED=
set /p SEED="入力>> "
if "%SEED%"=="" (
echo ■シード値を「ランダム」に設定しました
)else (
echo ■シード値を「%SEED%」に設定しました
)
:MAX_PRAYERS
echo;
echo 6.最大参加人数の設定は何にしますか?[デフォルト(20人):d]
set MAX_PRAYERS=
set /p MAX_PRAYERS="入力>> "
if "%MAX_PRAYERS%"=="d" set MAX_PRAYERS=20
echo ■最大参加人数を「%MAX_PRAYERS%」に設定しました
:PVP
echo;
echo 7.PVPの設定は何にしますか?[PVP可能:on,PVP不可:off]
set PVP=
set /p PVP="入力>> "
if "%PVP%"=="on" (
set PVP=true
) else if "%PVP%"=="off" (
set PVP=false
) else (
echo [警告] onまたはoffで入力してください!
goto :PVP
)
echo ■PVPを「%PVP%」に設定しました
:FRY
echo;
echo 8.フライを許可しますか?[はい:y,いいえ:n]
set FRY=
set /p FRY="入力>> "
if "%FRY%"=="y" (
set FRY=true
) else if "%FRY%"=="n" (
set FRY=false
) else (
echo [警告] yまたはnで入力してください!
goto :FRY
)
echo ■フライの許可を「%FRY%」に設定しました
:STEP4
echo;
echo [STEP4] サーバー設定の確認
echo #########################################
echo サーバーのバージョン : %VER%
echo サーバーの名前 : %NAME%
echo ポート番号 : %PORT%
echo ゲームモード : %GAMEMODE%
echo 難易度 : %DIFFICULTY%
echo シード値 : %SEED%(空白はランダム)
echo 最大参加人数 : %MAX_PRAYERS%
if "%PVP%"=="true" (
echo PVP : 可
) else (
echo PVP : 不可
)
if "%FRY%"=="false" (
echo フライ許可 : 不可
) else (
echo フライ許可 : 可
)
echo #########################################
:STEP5
echo;
echo [STEP5] 上記のサーバー設定でよろしいですか?[はい:y,いいえ:n]
set INPUT=
set /p INPUT="入力>> "
if "%INPUT%"=="y" (
goto :PROPERTIES
) else if "%INPUT%"=="n" (
goto :STEP3
) else (
echo [警告] yまたはnで入力してください!
goto :STEP5
)
:PROPERTIES
if exist server.properties del server.properties
echo サーバー設定を書き込み中...
echo #Minecraft server properties>> server.properties
echo #Sun Jan 1 00:00:00 JST 2021>> server.properties
echo spawn-protection=16>> server.properties
echo max-tick-time=60000>> server.properties
echo query.port=%PORT%>> server.properties
echo generator-settings= >> server.properties
echo sync-chunk-writes=true>> server.properties
echo force-gamemode=false>> server.properties
echo allow-nether=true>> server.properties
echo enforce-whitelist=false>> server.properties
echo gamemode=%GAMEMODE%>> server.properties
echo broadcast-console-to-ops=true>> server.properties
echo enable-query=false>> server.properties
echo player-idle-timeout=0>> server.properties
echo difficulty=%DIFFICULTY%>> server.properties
echo broadcast-rcon-to-ops=true>> server.properties
echo spawn-monsters=true>> server.properties
echo op-permission-level=4>> server.properties
echo pvp=%PVP%>> server.properties
echo entity-broadcast-range-percentage=100>> server.properties
echo snooper-enabled=true>> server.properties
echo level-type=default>> server.properties
echo enable-status=true>> server.properties
echo hardcore=%HARDCORE%>> server.properties
echo enable-command-block=false>> server.properties
echo network-compression-threshold=256>> server.properties
echo max-players=%MAX_PRAYERS%>> server.properties
echo max-world-size=29999984>> server.properties
echo resource-pack-sha1= >> server.properties
echo function-permission-level=2>> server.properties
echo rcon.port=25575>> server.properties
echo server-port=%PORT%>> server.properties
echo server-ip= >> server.properties
echo spawn-npcs=true>> server.properties
echo allow-flight=%FRY%>> server.properties
echo level-name=world>> server.properties
echo view-distance=10>> server.properties
echo resource-pack= >> server.properties
echo spawn-animals=true>> server.properties
echo white-list=false>> server.properties
echo rcon.password= >> server.properties
echo generate-structures=true>> server.properties
echo online-mode=true>> server.properties
echo max-build-height=256>> server.properties
echo level-seed=%SEED%>> server.properties
echo prevent-proxy-connections=false>> server.properties
echo use-native-transport=true>> server.properties
echo enable-jmx-monitoring=false>> server.properties
echo motd=%NAME%>> server.properties
echo rate-limit=0>> server.properties
echo enable-rcon=false>> server.properties
:DL
echo;
echo;
echo サーバーファイルのダウンロード中...
if "%VER%"=="1.12.2" (
bitsadmin /TRANSFER fileget https://launcher.mojang.com/v1/objects/886945bfb2b978778c3a0288fd7fab09d315b25f/server.jar %CD%/server-1.12.2.jar
) else if "%VER%"=="1.13.2" (
bitsadmin /TRANSFER fileget https://launcher.mojang.com/v1/objects/3737db93722a9e39eeada7c27e7aca28b144ffa7/server.jar %CD%/server-1.13.2.jar
) else if "%VER%"=="1.14.4" (
bitsadmin /TRANSFER fileget https://launcher.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar %CD%/server-1.14.4.jar
) else if "%VER%"=="1.15.2" (
bitsadmin /TRANSFER fileget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar %CD%/server-1.15.2.jar
) else if "%VER%"=="1.16.5" (
bitsadmin /TRANSFER fileget https://launcher.mojang.com/v1/objects/1b557e7b033b583cd9f66746b7a9ab1ec1673ced/server.jar %CD%/server-1.16.5.jar
)
goto :START
:EXIT
echo;
echo;
if exist server-1.12.2.jar (
exit
)else if exist server-1.13.2.jar (
exit
)else if exist server-1.14.4.jar (
exit
)else if exist server-1.15.2.jar (
exit
)else if exist server-1.16.5.jar (
exit
)
echo バッチファイル終了してもよろしいですか?[はい:y,いいえ:n]
set INPUT=
set /p INPUT="入力>> "
if "%INPUT%"=="y" (
exit
) else if "%INPUT%"=="n" (
goto :SETUP
)else (
echo [警告] yまたはnで入力してください!
goto :EXIT
)
このバッチファイルのメモリ割り当ては1GBに設定しています。オリジナルで変更したい場合は以下の箇所を書き換えてください。
java -jar -Xms1024M -Xmx1024M server-%VER%.jar nogui
このメモリ部分を好きなメモリに書き換えて上書き保存すると反映されます(サーバー再起動必須)。
ただし、変更したバッチファイルを新たに配布して、問題が起きた場合は当サイトでは一切関与・保証しませんのでご注意ください。
最後に
バッチファイルはいかがだったでしょうか。
今までマイクラサーバーを起動させるためだけにメモリやjarファイルを記述するだけでしたが、こういう使い方もできたり、割と簡単にプログラムを組めることが分かりましたね。
この記事が好評だった場合、プラグインサーバー用の自動構築ファイルを作ってみようと思っています。記事の評価またはコメントをお待ちしています!
最後まで読んでいただきありがとうございました。
次回の記事でお会いしましょう!
どうやって、ダウンロードのURLを手に入れたんですか?
(Server jar)
スピゴットmcのサーバーの構築も追加してほしいですm(_ _)m
質問のコードのところで何かのサイトにログインする時に番号が違った時に「パスワードが違います」みたいに出すコマンドってありますか?(できればそのコマンドも)
1.17も対応してますか?