今回は、古めなPaperサーバーでViaVersionが動かないときの対処法を紹介します。
まず、どのような事態が起きているかというとPaper1.16.5のサーバーを建てていて1.16.5のワールドでViaVersionを使用して1.20.2で遊んでいたのですが最新版の1.21に対応させようとしてViaVersion5.0.0をそのサーバーに入れて1.21のサポートをしようと思ったのですが、起動時にエラーが吐かれていて見てみるとViaVersionの読み込みに失敗しているというものでした。そのため、1.16.5以外のどのバージョンでも接続することができなくなってしましました。原因を探っていたのですが、ViaVersionのGitHubを見てみるとJAVA17 Requiredと書かれてることを発見しました。そこで問題なのがもともとJava11で起動させていたサーバーをどのようにJava21で起動させるかということです。そのまま起動してもJavaのバージョンが違うためエラーで起動できませんでした。
そこで詳しく調べてみた結果
These system properties can be set when you start your server allowing for the configuration of various settings.
Paper System Properties | PaperMC Docs: https://docs.papermc.io/paper/reference/system-properties
PaperMCの公式ドキュメントにサーバー起動スクリプトで細かい設定を行えるらしいです。
そしてそこで僕が注目したのがPaper.IgnoreJavaVersionという項目で、どうやらJavaのバージョンチェックを無視して、指定したJavaのバージョンで起動できるらしいです。
なので早速Java21で起動してみます。今回はUbuntu22.04を使用しています。
予めjdk21.0.3をダウンロードして /opt/jdk21.0.3 に展開済みとします。$ /opt/jdk21.0.3/bin/java -DPaper.IgnoreJavaVersion=true -Xms1024M -Xmx1024M -jar paper.jar nogui
でJava21で起動でき、ViaVersionのエラーメッセージもなくしっかりと動作しました。
コメントを残す