「#マインクラフト」タグアーカイブ

【マインクラフト】ハードコアモードでサーバを立ち上げる方法(Java版のみ)

ハードコアモードって何ですか?

ゲームモードはサバイバルで、難易度ハード固定、しかも死んでしまったら終了、復活できない、という超ハードなモードです。

これはJava版にしか存在しないモードです。

統合版勢残念。

シングルモードでは、上の設定にすればハードコアモードでワールドが生成されますが、

これをサーバでやってしまいます。

とは言っても、やり方はそんなに難しくなくて、

server.propertiesファイルの中に、

hardcore=false

という項目があるので(わかりやすいですね)

hardcore=true

と書き換えてサーバを立ち上げればOK。

ハートのアイコンが上のように変わればハードコアモードです。

ここからはチートの話ですが。

死んでしまうと、ゲームモードをスペクテイターモードに変更するか、タイトルに戻るかを選択することが出来ます。

スペクテイターモードというのは、世界を眺めるだけのモード。

死後の世界を気の済むまで自由に眺めることが出来ます。

復帰することはできません。

死んだかどうかのフラグデータはworldフォルダーの中に入っているので、定期的にworldフォルダーのバックアップを取っておいて、死亡後にworldフォルダーをごっそり復元すれば復帰できます。

まぁ、そんなことやるくらいなら、最初から普通にハードモードでプレイすればいいんだけどね(めんどくさい)

やり直しがきかない世界だから面白いハードコアモード。

腕試しにいかがですか?

【マインクラフト】【統合版】Minecraftプログラミング

マインクラフトでプログラミングをやってみよう。

こちらのサイトを参考にしました。

https://knowledge.sakura.ad.jp/22099/

統合版ならWindowsストアから専用アプリをインストールするだけで遊べます。

あ、マインクラフト本体が必要だからね(もちろん有料)。

こちらのサイトから専用アプリをインストールします。

https://www.microsoft.com/ja-jp/p/code-connection-for-minecraft/9ppfpg2fg2qb?activetab=pivot:overviewtab

アプリを実行すると。こんな画面が表示されるので、

これをマインクラフトのゲーム画面から実行します。

Code Connection for Minecraftに接続するコマンドです。

表示されているIPアドレスはローカルIPなので、ご自宅のネットワーク内からでしか接続できません。

まぁ、Code Connection for Minecraftが起動していなければ接続できないんですけどね。

マインクラフト本体を立ち上げで、ローカルに新ワールドを作成。

この時、忘れちゃいけないのは、

敵が出てくるとウザいので、難易度はピース。

そして、チートを有効にすること。

これをやらないとconnectコマンドが打てません。

ワールドに入ったら、/ボタンを押して、connectコマンドを入力します。

そうすると、Code Connection for Minecraftの画面が変わります。

使用するエディターが選べます。

オススメはMakeCodeかな。

ブロック、Python、Javascript、好きな言語を選べます。

まずは、チュートリアルでプログラミングのコツを覚えるのが良いでしょう。

説明は英語ですが、基本的に表示されるコードを入力するだけなので、やることはそんなに難しくありません。

pythonで組んでみたサンプルコード。

これを実行すると、目の前に苔むした石レンガの壁が出来上がります。

タイトルなんかも出せちゃったりします。

これで自分だけのカスタム世界が出来上がったりするわけですな。

もっとどんな事が出来るのか調べてみます。

【マインクラフト】Realmと自前サーバ、どっちが良いの?

みんなそんなにマイクラサーバを立てたいのか。

マインクラフトのサーバを自前で利用することのメリット。

それはハードウェアがあれば無料で運用することができる。

しかし、ハードルはいくつかありまして、

まず、サーバをどこに設置するか。

自宅にサーバを設置する場合、プレイヤーは同じLANの中からアクセスしなければならない。

自宅サーバを外部に開放する場合は、それなりの専門知識が必要だし、セキュリティリスクも発生します。

そこでVPSにサーバを設置するという方法もあります。

VPSを提供するサービスの中には、マインクラフト用テンプレートがあらかじめ用意されているものもあり、それを利用すれば、簡単にマインクラフトサーバを立ち上げることができます。

では、料金的にどうなのか?

Realmを使用する場合、統合版では10プレイヤー用が月470円、10プレイヤー用が月930円です。

Java版の場合は10プレイヤー用が月904円で提供されています。

VPSを使用する場合、Conohaだと月880円~で利用できます。

https://www.conoha.jp/vps/function/minecraft/

プレイヤーの制限はありませんが、利用プレイヤーが増えれば、それだけ要求されるスペックが高くなり、その分コストは高くなります。

これだけ見ると、VPSの方が遙かにコストが高いっすね。

サーバが重くなると、地形の描画に時間がかかったり、ゲームが少し前の状態に巻き戻ってしまう、などの動作異常が頻発します。

特にエリトラで飛行する場合は注意。

たぶん推奨スペックでもエリトラで地図作成する場合はかなりサーバに負荷がかかります。

と言うことで、まとめ。

自宅ネットワークでプレイ→自前サーバ

遠隔地から少人数でプレイ(10人まで)→Realm

大人数でプレイ(11人以上)→VPS

マニアックで物好きな人→VPS

サーバの運用が分からない人→Realm

一人でプレイする人→ローカルで良いんじゃない?

【マインクラフト】森の洋館にたどり着けなかったけど収穫はあった。

森の洋館に向けてエリトラで飛行したんですが、

右上よりさらに上に行ったところで、エリトラの耐久値が無くなり、ロケット花火も無くなったので、到達断念。

拠点に死に戻りしました。

でも、収穫はあった。

まず、メサバイオームを見つけました。

そして、魔女の家(たぶん)

ネザートンネルで繋げたいけど、アップデートを控えているので、今はあまりネザーを拡張したくは無いです。

まぁ、後々ということで。

【マインクラフト】VPSに統合版マインクラフトサーバを立ててみた

お金を支払って使用するRealmsではない、自前のVPSでマインクラフト統合版のサーバを作成してしまいました。

別に、利用期限が切れて、お金払うのがもったいないわけではありませんが。

まずは、公式から統合版マイクラサーバをダウンロードします。(VPSなので、サーバのOSはubuntu使用しています。)

https://www.minecraft.net/ja-jp/download/server/bedrock/

これをVPSに設置して、プログラムを実行して、ファイアーウォール(iptable)を開放すれば完成。

展開する場所は実行できる場所であれば、どこでもOK。

適当なフォルダを作成して、そこにzipファイルを展開します。

展開したフォルダで以下のコマンドを実行。

LD_LIBRARY_PATH=. ./bedrock_server

ここまではマニュアルどおりですな。

$ LD_LIBRARY_PATH=. ./bedrock_server
NO LOG FILE! - setting up server logging...
[2019-12-19 19:14:12 INFO] Starting Server
[2019-12-19 19:14:12 INFO] Version 1.14.1.4
[2019-12-19 19:14:12 INFO] Session ID 33eced1a-7577-414d-b987-76524f997544
[2019-12-19 19:14:12 INFO] Level Name: Bedrock level
[2019-12-19 19:14:12 INFO] Game mode: 0 Survival
[2019-12-19 19:14:12 INFO] Difficulty: 2 NORMAL
[2019-12-19 19:14:15 INFO] IPv4 supported, port: 19132
[2019-12-19 19:14:15 INFO] IPv6 supported, port: 19133
[2019-12-19 19:14:15 INFO] IPv4 supported, port: 49148
[2019-12-19 19:14:15 INFO] IPv6 supported, port: 52245
[2019-12-19 19:14:17 INFO] Server started.

実行が確認できたら、ctrl+cで一旦終了します。

iptablesの設定

サーバ実行中に

$ netstat -ltup4

を実行すると、統合版マインクラフトサーバはUDPのポート番号19132を使用していることがわかります。

udp        0      0 0.0.0.0:19132           0.0.0.0:*                           15680/./bedrock_ser 

※もう一つポートを使用していますが、ランダムで決められている上に使用しなくても問題ないので、無視して構いません。

なので、UDPの19132を開放します。

$ sudo iptables -A INPUT -p udp -m udp --dport 19132 -j ACCEPT

この状態で、再び統合版マインクラフトサーバを起動し、クライアントのサーバー一覧からサーバーアドレスを指定してログインできること確認。

※ここで最初躓いたのは内緒。

ログインできることを確認したら一旦ログアウトします。

ホワイトリストの登録

このままでは、サーバのURLがわかってしまうと誰でもログインできる状態になっているので、ホワイトリストを作って、登録したメンバーだけしかログインできないようにします。

サーバを設置したフォルダにserver.propertiesというファイルがあるので、これを開いて、以下を変更します。

white-list=true
# If true then all connected players must be listed in the separate whitelist.json file.
# Allowed values: "true" or "false"

white-list=trueに書き換えて保存することで、ホワイトリストが有効になります。

続いて、ホワイトリストの登録。

whitelist.jsonを開いて、以下のように書き加えます。

[
    {
        "ignoresPlayerLimit": false,
        "name": "ユーザー名"
    }
]

ignoresPlayerLimitというのは接続ユーザー数のリミットに関係なくログインさせるか、という設定です。

通常では最大接続ユーザー数は30なので、これはどちらでも関係ないと思います。

nameの項にマインクラフトアカウントのユーザー名を記入します。

この画面の真ん中に出てるじゃないですか。このアカウント名ですよ。

記入したら保存して、サーバを起動し、クライアントからログインできることを確認します。

プレイヤーに権限を付与する

このままでもゲームはプレイできますが、現在地の座標を表示したり、他プレイヤーをキックしたり、やりたい人によっては、チートしたいとかあると思いますが、このままではそれを変更できる権限がありません。

なので、ユーザーに権限を設定します。

編集するファイルはpermissions.jsonです。

こんな感じに書き加えます。

[
    {
        "permission": "operator",
        "xuid": "権限を与えるユーザーのxuid"
    }
]

ここで、ユーザーのxuidというのは、もう一度、whitelist.jsonを開いてもらえれば書き足されるのがわかると思いますが、ユーザー個別に与えられたID番号のようなものです。

これは自力で探るのは困難なので、一度ホワイトリストに登録し、ログインしてもらって、ホワイトリストに書き足されたxuidを確認したほうが早いです。

permissionの値は、通常(デフォルト)は”member”になっていますが、これを”operator”にすることで、ゲーム全体に対していろいろな設定を行う権限が与えられます。

なので、このユーザーは座標を表示することも、他ユーザーをkickすることも、チートすることも可能になります。

一度”operator”になってしまえば、ゲーム内からでも「/」キーでさまざまな設定を変更することが可能です。

ちなみに統合版で、座標を表示するには、operatorが以下のコマンド入力すれば表示されます。

/gamerule showcoordinates true

まぁ、今は統合版プレイする予定はないから、サーバは停止させておきますけどね。

【マインクラフト】#3 廃坑を発見する!

ここでまず必要なのは、サトウキビ。

これは紙の材料となり、地図を作成するのに必要になります。

サトウキビは水の周りにしか生えないので、川をくまなく歩いて、ようやく発見することができました。

サトウキビを拠点に持ち帰り、近くの水辺に植えておきました。

成長すれば収穫できるはずです。

次は、鉄が欲しいので、近くの洞窟を探検することにしました。

なんと、そこには廃坑があったのです!

これはラッキー。

廃坑は資材の宝庫!

でも、まだ深く探索するのは危険なので、鉄だけ回収して帰りました。

いずれ、きちんと探索します。

鉄を使ってはさみを作成。

はさみがあれば、蜘蛛の巣を回収できます。

蜘蛛の糸があれば糸を取り出すこともできますので、とりあえず、廃坑探検はここまで。

拠点を整備したい。

↑よかったらクリックお願いします。

【マインクラフト】#2 畑を作る!

食料を安定的に獲得するために畑を作って栽培しようと思います。

まずは、草を刈って、種を採取します。

この種を育てると、小麦になります。

次にこれを植える場所。

まだ水を汲むことができないので、水の近くに畑を耕そうと思います。

なので、水野周りを整地します。

そして、クワで土を耕し、

種を植えます。

時間が経てば、麦になるはずです。

↑よかったらクリックおねがいします。

【マインクラフト】#1 新ワールドに入りました!

自前のマインクラフトサーバを立ち上げましたので、早速プレイします。

いでよ、マイワールド!

世界に入って最初にやることは、寝床の確保と、食料の確保です。

まずは適当に拠点を見つけて、木を殴ってアイテム化します。

そして、木から作業台を作成します。

作業台があれば、いろんなツールを作成することができます。

一通り揃えてしまいましょう。

次に羊さんをやっつけます。

羊毛と食料が確保できます。

羊毛はベッドを作るのに必要になります。

羊毛があれば作業台でベッドを作成できます。

次は、かまどを作成するために、石を採取します。

岩場が無ければ、地面を掘って石を確保するのも良いでしょう。

これで作業台でかまどが作れます。

食材は生のママでは効率が悪いですし、バッドステータス②鳴ることもあります。

なので、かまどで調理する必要があるのですが、

そのとき、木材を燃料にして食料を調理しても良いのですが、木材を燃やして木炭にすると、燃焼効率が良くなります。

それに木炭はたいまつの材料にもなりますし。

ここまで来れば、必要最低限の作業完了です。

↑よかったらクリックおねがいします。

マインクラフトサーバを立ち上げる

何を思ったのかJava版のマインクラフトを買ってしまいました。

単体でプレイしてもいいのですが、せっかくなので、サーバを立ち上げて、いろんな環境からプレイできるようにしたい、と思いました。

サーバの設置

まずは、サーバに、ダウンロードしたjarファイルを設置します。

実行するコマンドは、

$ java -Xmx1024M -Xms1024M -jar server.jar nogui

デスクトップ環境があれば、noguiオプションを取り除けば、GUIでいろいろ操作できるのですが、

こんな感じ。

ログも確認できる他、接続しているユーザーも確認できるし、ここからコマンドを入力して設定を変えることもできます。

しかし、VPS上で動かすならば、デスクトップ環境は無いので、このような画面は使用できません。

taki@taki-300-030jp:~/minecraft-server$ java -Xmx1024M -Xms1024M -jar server.jar nogui
 [20:01:20] [main/ERROR]: Failed to load properties from file: server.properties
 [20:01:20] [main/WARN]: Failed to load eula.txt
 [20:01:20] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

実行すると、こんなメッセージが表示されます。

どうやらEULAを承諾しないと動かすことができないみたいなので、同じディレクトリに生成されている、eula.txtの記述を変更しなければいけません。

eula.txtを開いて、

eula=true

と書き換えます。

Done (47.956s)! For help, type "help"

と表示されればサーバは稼働しています。

ポートの開放

iptableを使用している方は、マインクラフト用のポートを開放しなければ、外部からアクセスできません。

サーバの実行ログから、使用されているポート番号は25565であることがわかりますので、外部からこのポートへのアクセスを許可します。

$ sudo iptables -A INPUT -p tcp -m tcp --dport 25565 -j ACCEPT
$ sudo /etc/init.d/netfilter-persistent save

これでVPSを再起動しても、マイクラサーバにアクセスできます。(マイクラサーバプログラムは再起動させないといけませんが)

ホワイトリストの作成

このままでは、URL(またはIPアドレス)がわかってしまえば誰でもサーバにアクセスできる状態となってしまいます。

なので、管理者が許可したアカウントだけサーバにアクセスできるように、ホワイトリストを設定しなければなりません。

ホワイトリストを有効にするには、サーバプログラムと同じディレクトリに生成された、server.propertiesを開き、

white-list=true

に書き換えます。

これで、ホワイトリストが有効になります。

もしくは、サーバのコンソールに、

/whitelist on

と、入力してもOKです。

こちらのほうが簡単かもしれません。

次に、ホワイトリストの登録を行います。

サーバコンソールに以下のコマンドを入力します。

/whitelist add [アカウント名]

これで、ホワイトリストの登録が行なえます。

あとはクライアント側から登録アカウント名でログインし、サーバにアクセスすればワールドに入ることができます。

逆に登録されていないユーザーはワールドに入ることができません。

これで一通りの設定は完了です。

細かい設定は、サーバのコンソールから

/help

と入力すれば、コマンド一覧が表示されますよ。

↑よかったらクリックおねがいします。