Minecraft 1.12.2 eula.txt が生成されないときの解決法[備忘録]

Minecraft 1.12.2 eula.txt が生成されないときの解決法
1.12.2でサーバーを立てる際にeula.txtが生成されず解決に半日使ったので、ここに備忘録として記録しておこうと思います。
また、検索してもこの類の記事が全くなかったので投稿しました。
完全素人の改善策なので、多分もっと良い方法があると思います。
あくまで私の備忘録なので注意です!


備忘録1 run.batをつくる

Forgeからサーバーをダウンロードしたら、run.batファイルを作成すること。

テキストファイル(.txt)を作成し、テキスト名を「好きな名前.bat」に変更する。
(拡張子が表示されていない場合は設定でオンにすること
表示→表示→隠しファイル)

次にその作成したファイルをメモ帳などで開く。

↓にあるコマンドを入れ込む。

@echo off 
java -Xmx1024M -Xms1024M -jar forge-1.12.2-14.23.5.2860.jar 
pause
完成例

「注意点」
-jar forge-1.12.2-14.23.5.2860.jar
の部分は(最新ではあるものの)バージョンが異なる可能性があるので要確認すること。
異なる場合は、作成したサーバーディレクトリ内にあるforge-x.x.x-x.x.x.jarを探して名前を拡張子ごとコピー、入れ込んだコマンド内のforge-x.x.x-x.x.x.jarに貼り付ける。
※Minecraft_saver,x.x.x.jarと間違えないように。

そしてメモ帳を保存して起動すると関連テキストが生成される。
eula.txtが生成されると思うので、あとは他サイトに記載されている容量で進めればよい。
また、サーバーを立てるときは作成したrun.batで起動することなる。

ちなみに、上記のコマンドだと×32で起動されるのでメモリが約4GBまでしか割り当てれない。
もし約4GB以上のメモリを割り当てたいのなら備忘録2を見てね。



備忘録2 メモリ割り当てを無限にする×64bit設定

前提としてJAVA jdkが導入されているか確認すること。
1.12.2であればjdk-8u421-windows-x64.exeです。
(インストールexeではJDKになってますが、インストール後はjrkファイルに代わります。)
下のサイトからwindows×64 installerをダウンロードできます。

https://www.oracle.com/jp/java/technologies/javase/javase8u211-later-archive-downloads.html

ダウウンロード手順。

一番下のパブリックJREを選択してください。

"C:\Program Files\Java\jre1.8.0_421\bin\java.exe"
と辿れば×62のjava.exeが見つかると思います。見つかったらパスをコピーしてください。似たような実行ファイルと間違えないでね。
(もし無い場合、再インストールすること。それか他ファイルProgram Files ×84とか探してみて)


右クリック→パスのコピー

-jar forge-1.12.2-14.23.5.2860.jar の部分を、先ほどコピーした"C:\Program Files\Java\jre1.8.0_421\bin\java.exe"に書き換えること。

@echo off 
"C:\Program Files\Java\jre1.8.0_421\bin\java.exe" -Xmx5G -Xms5G -jar forge-1.12.2-14.23.5.2860.jar nogui
pause

こうなるとOK。そうすると64bitで起動することができる。しかし、JAVAコンソールがでない。そこは不明。ごめんね!(バージョンによってはでることもあるかも?)

私の言いたいJAVAコンソール


また、注意点として、java.exeはjreファイル内のものを見つけ出して割り当てること。そちらを割り当てないと64bitで処理されないから。
JDKと間違えないでね。


備忘録3 おまけ。サーバーインストールエラー。
サーバーインストーラーをjava -jar で起動するときのエラー


java -jar "D:\minecraft mod\バージョン別サーバー\forge-1.18.2-40.2.26-installer.jar" 
Error: Unable to access jarfile D:\minecraftmod\繝舌・繧ク繝ァ繝ウ蛻・繧オ繝シ繝舌・\forge-1.18.2-40.2.26-installer.jar

のようなエラーが起きたら、ファイルの含むヒエラルキーに空白や日本語を使っていないか確認すること、また当てはまる場合は日本語を英語にしたり_などで空白をなくすこと。

例えば私の場合は変更前は
java -jar "D:\minecraft mod\バージョン別サーバー\forge-1.18.2-40.2.26-installer.jar" Error: Unable to access jarfile D:\minecraft縲mod\繝舌・繧ク繝ァ繝ウ蛻・繧オ繝シ繝舌・\forge-1.18.2-40.2.26-installer.jar
となっていました。
このパス内にある空白や日本語がなぜかエラーの原因になるようですよ。
ですので、JAVAを使うときは空白を_にしたり日本語を変更消去してみてください。
下記のようにディレクトリの各ファイルを変更して対処しました。

"D:\minecraft_mod\saver_librarys\forge-1.12.2-14.23.5.2860-installer.jar"



備忘録4 おまけ2。JAVAについて。
java版Minecraftはバージョンごとに必要なJAVAが異なります。
ですので、
1.12.2なら
jdk-1.8(JAVA8)
jre1.8.0_421 (Java SE 8)
の2つが必要になります。

JavaSetup8u431.exe(JAVA8)

https://www.java.com/ja/download/ie_manual.jsp

jdk-8u421-windows-x64.exe(Java SE 8)

https://www.oracle.com/jp/java/technologies/javase/javase8u211-later-archive-downloads.html

となります。

JAVA×32bitは正直邪魔でしかないですが、サーバーファイルのダウンロードに必要。(多分。もしかしたら×64bitでできるかも?)
他のバージョンでも同じようにJAVAバージョンは異なります。

(大抵、インストール用に×32bit、サーバー起動用に×64bitですね。
バージョンによっては一つでもいいかも。というか、サーバー割り当てメモリが約4GB以下でいいのなら×64bitは不要という場合もあります。
エラー次第で変わるので、注意です。)

サーバーバージョンを変える場合、都度そのバージョンに適したJAVAを検索して見つけてください。
(ヤフー知恵袋とかだと高確率で対応バージョンの回答が出てきます)
検索例
Minecraft x.xx.x JAVA 対応バージョン
Minecraft x.xx.x JAVA ×64 対応バージョン

また、JAVA8や17のみのタイプは×32bitが多いので、メモリ割り当てを増やしたいのならJAVA SE×64bitも同時に入れることをお勧めします。
あと、私の環境だけかもですが、Minecraftの遊ぶバージョンを変えるごとにJAVAバージョンは変えないといけませんし、パソコン上から消去しないといけません。なーぜかコマンドプロンプトから制御できない。
「コントロールパネル→プログラム→プログラムと機能」から既存のJAVAをすべてアンインストールしてみてください。(ファイルから消すといろいろ面倒なので)

確認用エラーログ
(下記のようなエラーが出る場合は多分JAVAバージョンが合ってないと思いますよ。)

A problem occurred running the Server
launcher.java.lang.reflect.InvocationTargetException
   at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:109)
   at 
java.base/java.lang.reflect.Method.invoke(Method.java:580)
   at 
net.minecraftforge.fml.relauncher.ServerLaunchWrapper.run(ServerLaunchWrapper.java:70)
   at 
net.minecraftforge.fml.relauncher.ServerLaunchWrapper.main(ServerLaunchWrapper.java:34)
Caused by: java.lang.ClassCastException: class 
jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to 
class java.net.URLClassLoader 
(jdk.internal.loader.ClassLoaders$AppClassLoader and 
java.net.URLClassLoader are in module java.base of loader 'bootstrap')
   at net.minecraft.launchwrapper.Launch.<init>(Launch.java:34)
   at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
   at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke
(DirectMethodHandleAccessor.java:103)
   ... 3 more
\Users\hugu>D:\minecraft_mod\saver 1.18.2>REM Forge requires a configured set of both JVM and program arguments. 

 D:\minecraft_mod\saver 1.18.2>REM Add custom JVM arguments to the user_jvm_args.txt

 D:\minecraft_mod\saver 1.18.2>REM Add custom program arguments {such as nogui} to this file in the next line before the or

 D:\minecraft_mod\saver 1.18.2>REM pass them to this script directly

 D:\minecraft_mod\saver 1.18.2>java @user_jvm_args.txt
 @libraries/net/minecraftforge/forge/1.18.2-40.2.26/win_args.txt
 エラー: メイン・クラス@user_jvm_args.txtが見つからなかったかロードできませんでした
PS C: java -jar "D:\minecraft_mod\saver 1.20.1\libraries\net\minecraft\server\
1.20.1\server-1.20.1.jar" Exception in thread "main"
 java.lang.UnsupportedClassVersionError:
 net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClass(Unknown Source)
 at java.security.SecureClassLoader.defineClass(Unknown Source)
 at java.net.URLClassLoader.defineClass(Unknown Source)
 at java.net.URLClassLoader.access$100(Unknown Source)
 at java.net.URLClassLoader$1.run(Unknown Source) 
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)



以上となります。
同じ症状で悩んでる人がいたら少しでも手助けになればいいなと思っています。
もし改善点があれば報告してください。
また文章がわかりずらいかもしれません。ごめんね。




いいなと思ったら応援しよう!