こんにちは、ゆるりです!!
今回はフレンドからJavaサーバーへ参加する方法について紹介していきます。
この記事より簡単な方法が出来たのでこちらがオススメです。
従来のやり方(DNSの変更)
詳細
Switch/XBox/PS4のJavaサーバーへのアクセスとして、統合版に対応したサーバー+DNSの変更が必要でした。
この方法は正直、二つの手間であまり利用者からはしたくなかったと思います。筆者自身もそうです。
- DNSの変更する事によりプライバシーなどは大丈夫なのか。
- セキュリティーなどによりDNS変更等ができない。
やり方
詳細はこちらをご確認ください。
今後のやり方(フレンドから直接参加)
今後はこの方法により、フレンドから直接統合版に対応したJavaサーバーにアクセスすることができます。
今回はその方法について紹介していきたいと思います。
\購入に悩んでいる方や記事の質問・要望などあればDiscordに書いてね!(回答するかも)/
\サーバー作るのめんどくさい…できない…友達とすぐ遊びたい…こちらから!/
準備
今回使用する物はこちらです。
・FriendConnect
・VPS(1GB以上)
安くてお得なVPSを3社掲載しておきます。
開始
NPM・NodeJS のダウンロード/インストール
まずは、Node.jsを使うために「NPM(Node Package Manager)」と「NodeJS」をダウンロードしてインストールしていきたいと思います。
今回はUbuntu20.04向けに作りますが、Ubuntu以外でも可能です。
sudo apt install nodejs npm
NPM , NodeJS をダウンロード/インストールしていきます。
sudo npm install n -g
sudo n stable
NPMは、初期ダウンロード時バージョンが古い場合があるので、最新版にしていきます。
exec $SHELL -login
再ログインします。
FriendConnectのダウンロード/インストール
mkdir friend-connect
好きな場所に「friend-connect」というフォルダーを作ります。
cd friend-connect
friend-connectにディレクトリを移動します。
npm install friend-connect
FriendConnectをダウンロードしてインストールしていきます。
vi run.js
run.jsのテキストエディタを起動します。
import { Session } from "friend-connect";
new Session({
hostName: "Server Name", // The hostname of the server
worldName: "Message of the Day: Hello World", // Use as a MOTD
version: "1.19.50", // The version of the session, this can be any string.
protocol: 569, //The protocol of the server you are connecting to.
connectedPlayers: 0, // Used as a fallback if pinging the server fails.
maxConnectedPlayers: 40, // Used as a fallback if pinging the server fails.
ip: "Geyserの置いてあるIP", // The ip of the server you are using.
port: 19132, // The port of the server you are using.
connectionType: 6, // I don't recommend changing this.
log: true, // If you want to see the console output set to true.
joinability: "joinable_by_friends", // The joinability of the session, if this is changed only one account can be used to connect to the session.
autoFriending: true, // Set this to true if you want to automatically add people who follow the accounts.
pingServerForInfo: true, // If FriendConnect keeps erroring out due to a rakNet ping error you can set this to false.
tokenPath: "./auth", // The path to the directory that contains the authentication tokens.
accounts: ["Microsoftメール(フレンド申請元)例: [email protected]"], // A list of emails that correspond to accounts you want to use with FriendConnect.
//These are values retrieved from the server on when the server advertisement is fetched, if true it will use a value from above.
constants: {
//worldName: true,
//hostName: true,
maxConnectedPlayers: true,
connectedPlayers: true,
//protocol: true,
version: true,
},
});
以上の内容を貼り付けます。貼り付け方は右上のコピーボタンから、右クリックで貼り付けできます。
貼り付けが完了したら「GeyserのIP」と「Microsoftメール(フレンド申請元)」の部分を自分用に変更します。
変更が完了したら「Escキー」を2回ほど押し「:wq」と入力して「エンターキー」を選択して下さい。
vi package.json
Package.jsonのテキストエディタを起動します。
{ "type": "module" }
以上の内容を貼り付けます。
変更が完了したら「Escキー」を2回ほど押し「:wq」と入力して「エンターキー」を選択して下さい。
起動
pwd
フォルダーがどこにあるかわからないので、フォルダーを検索します。
結果をコピーしておいてください。(例: /home/ubuntu)
node --es-module-specifier-resolution=node pwdで出た結果/run.js
ファイルを起動します。
(コマンド例: node –es-module-specifier-resolution=node /home/ubuntu/run.js)
(node:1589418) ExperimentalWarning: The Node.js specifier resolution flag is experimental. It could change or be removed at any time.
(Use `node --trace-warnings ...` to show where the warning was created)
[FriendConnect [Microsoftメール(フレンド申請元)]] Initializing Account
[FriendConnect ] Server Advertisement Error
Error Name: TypeError
Error Message: Wrong arguments
Error Stack: TypeError: Wrong arguments
at new Client (/home/ubuntu/node_modules/raknet-native/lib/RakNet.js:8:19)
at new RakNativeClient (/home/ubuntu/node_modules/bedrock-protocol/src/rak.js:35:19)
at ping (/home/ubuntu/node_modules/bedrock-protocol/src/createClient.js:87:15)
at Session.getAdvertisement (file:///home/ubuntu/node_modules/friend-connect/dist/index.js:419:30)
at new Session (file:///home/ubuntu/node_modules/friend-connect/dist/index.js:76:14)
at file:///home/ubuntu/friend-connect/run.js:2:1
at ModuleJob.run (node:internal/modules/esm/module_job:194:25)
To sign in, use a web browser to open the page https://www.microsoft.com/link and enter the code [code] to authenticate.
Please login with this email: [Microsoftメール(フレンド申請元)]
この様な画面に行ったら成功です。いかなかった場合はコメント欄に書いて下さい。
エラーの内容として「本人確認したいからMicrosoftアカウントにログインしてコードを入力してね」的な感じです。
ですので、 https://www.microsoft.com/link にアクセスして[code]の部分を入力します。
入力が完了して成功すると、自動的に動きます。動いたら成功です。
フレンドを追加
統合版からアクセスするには、先ほど登録したMicrosoftメール(フレンド申請元)のゲーマータグを登録する必要があります。
今回は mcysjoin を例として登録していきます。
Minecraftを起動したら「遊ぶ」を選択し一番上にある「フレンド」→「フレンド追加」の順番で選択します。
ゲーマータグを mcysjoin を入力します。
先に登録しているため「フレンド」という文字になっていますが、ここに「フレンドを追加」と出るのでフレンドを追加します。
追加が成功すると、数秒ほどで自動的にフレンドが承認されました。などのメッセージが出ます。
フレンドが承認されたら一度マインクラフトを再起動し、再度「遊ぶ」→「フレンド」を見て、一番下に「参加できるフレンド」のところにサーバーがあれば成功です!
最後に
皆さんいかがだったでしょうか。
私自身この技術は、昔から欲しいなと思っていたのですが絶対無理だろう…って諦めた所にこのやり方ができて凄く嬉しく思います。
やり方で困っている人がいたら是非参考にやってみてください。
困ったことがあれば、助けれる範囲で助けますのでコメント欄にてお願いいたします。
では!