表題の通りMinecraftサーバーの話(注意!!滅茶苦茶読み辛いので心せよ)
本日大型アップデートである1.17がリリースされた。
私はLinux(Ubuntu)でMinecraftサーバー(Java版)を建てて居るのでアプデしようと思い立ち、そして6時間費やす羽目になった。
※注意:6時間もかかってしまったのは単純に私のLinuxに対する知識不足や日頃の手抜きによる所が大きく、手順はそんなに大変じゃない
私みたいな手抜きの怠慢サーバー管理人はそうそう居ないと思うが、一応ここに起こった問題と解決について記しておく。
まず私のLinuxOS:Ubuntuのバージョンは16.04 LTS だった。
この時点で「古くね?」って思った方も居ると思う。ちなみに最新版は20.04
これは単純に私がOSの更新をさぼっていた結果であり、今回の悲しみの原因でもある。
さてMinecraftサーバーの更新は難しくないのは誰もが知っていると思う。
minecraft_server.1.17.jar みたいなやつを公式からダウンロードしてきて、そいつを今まで使ってた古いserver.jarと入れ替えるだけ。
簡単!のはずだった………………..
ところがそうはいかなかった。
server.sh(run.shとか人によって名前違うけど起動時に実行するやつ)
をやったら
screen -r **
でscreen開いてサーバー動いてるの見えるねやったね!ってなるはずがならない。
エラーの文章わすれたけど、要するに「実行してるscreen無いよ」って言われる。
ここで????ってなった。まあ今までのマイクラ鯖のアップデートが滅茶苦茶簡単だったから、何か不具合が起きると思ってなかったからね。
ここで原因が分からずしばらくごちゃごちゃやって時間が過ぎる。
で、しばらくしてようやく気付いたんだけど、なんとMinecraftが必要とするJavaのバージョンが今までの8から16に変更になってた。
こいつぁーおどろいた。
でじゃあJava更新しましょうね~って思ったらなかなかどうしてうまく行かない。
そもそも初期の段階で色々アップデートしたのにおかしいな?なんて思ってたらUbuntuのバージョン古すぎ問題に気付く。
多分皆さんが適当に「Ubuntu Java アプデ」とかでググると
$ sudo apt update
$ sudo apt install default-jre
↑これやれとか出てくると思うんですよ。
みてわかる様にデフォルトのjreなんでお目当ての16じゃないんですけどそんな時は
$ sudo apt search openjdk-\(\.\)\+-jre$
出てきた一覧の中から欲しいバージョン選んで
$ sudo apt-get install openjdk-欲しいバージョン-jre
この時に欲しいバージョンって書いてるところに16っていれてやれば万事OK
ってなるはずが、私のUbuntuは16.04。
古すぎるのか無いんですね。$ sudo apt search openjdk-\(\.\)\+-jre$やっても一覧に16ないんですよ。
かなしいね。
仕方ないのでここからOSアップデート16.04→18.04
そして18.04→20.04
時間かかりましたねはい。
因みにOSアプデは
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo do-release-upgrade
これで出来るよ詳しくは調べてね。
実は一覧になくても$ sudo apt-get install openjdk-16-jreってやったら何とかなる説とか、他の方法で引っ張ってくる方法とかあると思うけど、別に古いOSにしておく理由もないので更新って手段で今回は解決。
その後新しいOSで
$ sudo apt search openjdk-\(\.\)\+-jre$
これやったら無事16が出てきたので
$ sudo apt-get install openjdk-16-jre
これでjavaの更新終わり。
その後
server.sh
screen -r /mc←ディレクトリの名前ね
ってやったら無事に動きましたとさ。
めでたしめでたし。
疲れた。というかWarthunderやろうと思ってPCいじってたはずなのにどうしてこうなった。
Twitterのトレンドにマイクラアプデとかあるからいけないんだ。ツイッターを許すな