LAX1DUDE_SIGNATURE.txt
を読んでください。ファイルが存在しない場合は、プロジェクトのこのコピーを使用しないでください。Eaglercraft は、通常の Web ブラウザでプレイできる本物の Minecraft 1.5.2 です。これには学校の Chromebook も含まれ、すべての Chromebook で動作します。シングルプレイヤーとマルチプレイヤーの両方をサポートしています。 |
現在 ayunami2000 によって管理されています
ご質問がある場合は、Discord サーバーに参加して、https://discord.gg/Ekzcgs3DKZ までお問い合わせください。
(リンクを右クリックし、[リンクを名前を付けて保存] を押してファイルをダウンロードします)
シングルプレイヤー | マルチプレイヤー | その他 |
---|---|---|
ワールドのインポートとエクスポート | パブリッククライアントとサーバー | プラグイン開発 |
LANワールド | サーバーの作成 - Bukkit | コンパイル中 |
公衆LAN中継器 | サーバーの作成 - EaglercraftBungee | リソースパックの作成 |
LANリレーの作成 | クライアントの作成 | 貢献する |
Eaglercraftバンジー構成 | ||
リバースプロキシの作成 - NGINX | ||
NGINX の構成 |
メイン メニューの [シングルプレイヤー] ボタンを押すだけで、通常のバニラ マインクラフトを作成し、いつでもプレイできます。
ワールドはブラウザのローカル ストレージに保存され、 EPK ファイルとしてエクスポートし、シングルプレイヤーをサポートする他のすべての Eaglercraft サイトに再度インポートできます。エクスポートしたワールドをまったく別のコンピューターにコピーしたり、友人に送信してインポートし、すべての進行状況を保存した状態でプレイを続けることもできます。
LAN ワールドは、インターネットに接続されている 2 台のデバイス間で機能します。Wi-Fi ネットワークに接続されているプレーヤーのみに限定されるわけではありません。
ワールドを LAN に開くには、一時停止メニューに移動し、「LAN に開く」をクリックします。ゲームモードとチートを設定したり、LAN ワールドを非表示にしたい場合は設定できます。 LAN ワールドを非表示にしないと、Wi-Fi ネットワーク上の他のユーザーに対して、メイン メニューのマルチプレイヤー画面に表示されます。学校などにいて、クラスの他のみんなも参加して悲しみ始めたくない場合は、世界を非表示に設定してください。
ワールドを LAN に開くと、「参加コード」が提供されます。コードを友達と共有するだけで、友達はメイン メニューからマルチプレイヤー画面にアクセスし、「直接接続」をクリックしてコードを入力すると、あなたの世界に参加できるようになります。
ゲームが LAN ワールドを開くリレー サーバーが、マルチプレイヤー画面からアクセスできる「ネットワーク設定」メニューに追加されていることを確認してください。ワールドが開いたら、一時停止メニューに示されている URL を送信するだけで、「リレーの追加」オプションを使用して URL をリストに追加できます。
wss://relay.deev.is/
wss://relay.lax1dude.net/
wss://relay.shhnowisnottheti.me/
java -jar sp-relay.jar
を実行します。 java -jar sp-relay.jar --debug
を実行して、受信接続のすべての IP などのデバッグ情報を表示します。すべての情報をログに記録すると、リレーが 1 秒間に何度も ping されるとパフォーマンスが低下するため、デフォルトでは表示されません。その人気について。
最初の起動時に生成されたrelayConfig.ini
ファイルを編集してポートを変更し、レート制限などを構成します。また、 relays.txt
編集して、リレーに接続しているクライアントに報告されるSTUNおよびTURNリレーのリストを変更します。これは、P2P LANを正しく確立するために必要です。ブラウザでの世界接続
origin-whitelist
構成変数は、リレーの使用を許可するサイトを制限するために使用される、セミコロン ( ;
) で区切られたドメインのリストです。空白のままにすると、すべてのサイトが許可されます。オフライン ダウンロード クライアントもリレーを使用できるようにするにはoffline
追加し、 Origin:
ヘッダーを指定しない接続を許可するにはnull
追加します。ワイルドカードとして*
使用します。例: *.deev.is
では、「deev.is」で終わるすべてのドメインがリレーを使用できます。
バニラの Minecraft と同様のマルチプレイヤー機能があり、通常のクライアントと同じように通常の Minecraft サーバーに参加できます。
サーバーには複数の部分があり、主に通常の 1.5.2 Bukkit サーバーと、 EaglecraftBungeeと呼ばれるBungeecord の修正バージョンで構成されます。これは、通常の Bungeecord の機能に加えて、WebSocket 接続を Bukkit が理解できる生の TCP 接続に変換します。
また、独自のクライアント をセットアップして、デフォルトのサーバー リスト、リソース パック、および負荷が少ないため全体的に高速な接続を制御できるようにすることもできます。
サーバーにドメインを使用する場合は、リバース プロキシを設定して、EaglecraftBungee 内の追加機能を有効にすることができます。 NGINXが推奨されており、ここにチュートリアルが含まれています。これはオプションであり、IP に接続するだけでスキップできます。
java/bukkit_command
フォルダーに移動します。run.bat
ダブルクリックします。新しいターミナルウィンドウが開くはずですcd
コマンドを使用してjava/bukkit_command
に移動する方法を Google で検索してください。chmod +x run_unix.sh
を実行し、次に./run_unix.sh
を実行します。同じサーバーを起動する必要がありますjava/bukkit_command/plugins
に配置します (サポートされているプラグインのダウンロードについては、https://github.com/lax1dude/eaglercraft-plugins/ を参照してください)。 java/bungee_command
フォルダーに移動します。run.bat
ダブルクリックします。 2 番目のターミナル ウィンドウが開くはずですjava/bungee_command
に移動します。java/bungee_command/plugins
に配置します。Bungeecord にはさらに多くの設定がありますが、これでセットアップできるはずです
これでサーバーの準備が整いました。任意のクライアントにアクセスし、メイン メニューから「マルチプレイヤー」に移動します。 「直接接続」を選択し、 127.0.0.1:25565
と入力して「サーバーに参加」を押します。接続できるはずです。接続できない場合は、2 つのターミナル ウィンドウでエラーを確認してください。
インストールするには、 stable-download/web
のコンテンツを Web サーバーにアップロードします。
/var/www/html
に移動し、そこでstable-download/web
のコンテンツをアップロードします。https://eaglercraft.example.com/server
のようなパスを使用してください。「web」フォルダをローカルのブラウザで開いても機能しません。 URL に「file:///」が含まれている場合は、間違っています。フォルダーを HTTP または HTTPS サーバーにアップロードし、http:// または https:// を介してインターネット経由でアクセスする必要があります。そうしないとゲームはロードされません。これはバグではありません
デフォルトのサーバーのリストを変更するには、 index.html
のwindow.eaglercraftOpts
変数を変更します。
eaglercraftOpts
設定方法に関する完全なガイドは間もなく公開されますが、stable-download を参照すると、デフォルト値に基づいて設定方法をかなり直感的に理解できるはずです。
サーバーに自動的に参加するサイトへのリンクを作成するには、 (例) https://g.deev.is/eaglercraft/?server=127.0.0.1:25565 のように、 ?server=
変数を URL に追加します。プレーヤーがユーザー名とスキンの設定を完了するとすぐに、自動的にws://127.0.0.1:25565/
に参加します
java/bungee_command/config.yml
内のリスナー構成のmotd1:
タグを編集し、構成ファイルがあるフォルダー内のserver-icon.png
置き換えます。 &
使用して色/書式コードを追加します。サーバーリストはアイコンを 64x64 ピクセルに縮小しますmotd2:
を追加して 2 行目を定義します。EaglercraftBungee で /login および /register コマンドを有効にするには、config.yml のこの部分を編集します。
authservice :
authfile : auths.db
register_enabled : true
ip_limit : 0
join_messages :
- ' &3Welcome to my &aEaglercraftBungee &3server! '
login_timeout : 30
enabled : false
authfile
AuthMe と互換性のある認証データベース ファイルを設定します。
register_enabled
登録コマンドのオンとオフを切り替えます
ip_limit
IP ごとの最大登録数を設定します。0 = 無制限
join_messages
プレーヤーが参加するときに表示されるメッセージのリスト
login_timeout
プレイヤーがキックされるまでにログインしなければならない秒数を設定します
ログイン コマンドをenable
または無効にします。
サーバーで /op を使用する場合は、「/op LAX1DUDE」とすると、「laX1DUDE」、「LaX1dUdE」、または「lax1dude」として参加しているプレーヤーもすべて /op を持つことになることに注意してください。この問題を解決するには、「BitchFilterPlugin.jar」を「java/bukkit_command/plugins」に移動し、すべての op ユーザー名を小文字で登録することで、すべてのオペレーターがユーザー名内のすべての小文字 (「lax1dude」) のみで結合できるように強制します。
ボイスチャットを無効にするには、bungeecord config.yml でvoice_enabled: false
を設定します。
eag-ban
を使用します。eag-ban-regex
正規表現とともに使用して、小文字のユーザー名と一致させます。IP 禁止を機能させるには、リバース プロキシが必要で、 forward_ip
設定する必要があります。そうしないと、ユーザーの IP を禁止できません。
eag-ban-ip
、またはeag-ban-ip
を使用してプレーヤーの IP を自動的に禁止しますeag-ban-ip 192.168.0.0/8
eag-ban-wildcard *
またはeag-ban-wildcard *
またはeag-ban-wildcard **
を使用します。 enable_web_origin_blacklist : false
origin_blacklist_block_replit_clients : true
origin_blacklist_block_offline_download : true
origin_blacklist_block_missing_origin_header : true
独自のブラックリストに登録されたドメインを追加するには、bungeecord ディレクトリにorigin_blacklist.txt
というファイルを作成し、その中に正規表現を 1 行に 1 つずつ記述します。コンソールにはプレイヤーのドメインを表示するためのdomain
コマンドもあり、バンジー コンソールからローカルのorigin_blacklist.txt
を管理するためのblock-domain
、 block-domain-name
、およびunblock-domain
コマンドもあります(知らない場合)ファイルを自分で編集する方法)。ファイルへの変更が検出されると、リストは自動的に再ロードされます。
origin_blacklist_use_simple_whitelist : true
次に、次のようにドメインをorigin_blacklist_simple_whitelist
に追加します。
origin_blacklist_simple_whitelist :
- type the name of your client's domain here
その後、プレーヤーのオプションとして必要でない限り、オフライン ダウンロードを無効にして、ハッカーがホワイトリストをバイパスするためにオフライン ダウンロードを使用しないようにします。これは、デフォルトではホワイトリスト モードでブロックされていないためです。
origin_blacklist_block_offline_download : true
サーバーには DoS 保護が組み込まれており、バンジー コンソールで「eag-ratelimit リセット」と入力してリセットします**
レート制限は可能ですが、リバース プロキシが必要であり、レート制限を使用するようにforward_ip
を構成する必要があります。そうでない場合、デフォルトで無効になります。
ratelimit :
ip :
enable : true
period : 90
limit : 60
limit_lockout : 80
lockout_duration : 1200
exceptions : []
enable
レート制限を有効にする
period
とlimit
セット ( period
) 秒間で実行できるリクエストの数 ( limit
)
limit_lockout
とlockout_duration
IP がlockout_duration
秒間ブロックされるまでの ( period
) 秒間に実行できるリクエストの数 ( limit_lockout
) を設定します。
exceptions
レート制限を受けてはいけない IP アドレスのリストです。 127.0.0.1 や 192.168.*.* などのローカル IP はデフォルトで例外として設定されます
Bungeecord から切断して別の Bungeecord に再接続するようにクライアントに信号を送りたい場合は、config.yml のservers
部分に次のようにエントリを構成します。
test :
redirect : wss://ServerHere/
restricted : false
この例では、ポータルに入るときや/server test
と入力するときなどにプレーヤーをサーバーtest
に送信すると、クライアントがバンジーコードから切断され、入力されたかのようにwss://ServerHere/
に自動的に再接続されます。 「ダイレクトコネクト」経由
ここでは、Linux、特に Debian ディストリビューション上で NGINX をセットアップするためのクイック クラッシュ コースを紹介します。
他のディストリビューションについての Google 検索は次のとおりです。
ターミナルを開いて実行しますsudo apt update
とsudo apt install nginx
任意の Web ブラウザを開き、検索バーでlocalhost
を検索します。次のようなものが表示されるはずです。
cd /etc/nginx/sites-enabled
を使用して NGINX の構成に移動します。
ドメイン名を使用して新しい構成ファイルを作成します (例: nano eaglercraft.example.com
。
次のコードをファイルに貼り付けます。 example.com
独自のドメインに置き換え、 app_server_address
URL の接続先となる EaglercraftBungee サーバーのip:port
に置き換えます。
server {
listen 80;
listen [::]:80;
server_name example.com eaglercraft.example.com;
location / {
proxy_pass app_server_address;
include proxy_params;
}
}
sudo service nginx restart
を使用して NGINX を再起動すれば、準備完了です。 proxy_pass
行の下に行を追加します。 add_header X-Frame-Options "SAMEORIGIN";
add_header Referrer-Policy "strict-origin";
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "default-src 'self' 'unsafe-inline'; img-src 'self' 'unsafe-inline' data: blob:; connect-src 'self' ws: wss:; upgrade-insecure-requests";
proxy_set_header X-Real-IP $remote_addr
を追加します。プラグインを開発するには、stable-download/java/bungee_command/bungee_dist.jar をダウンロードし、Java IDE のビルド パスに追加します。通常の BungeeCord プラグインと同じようにプラグインを開発します。例については、EagleMOTD を参照してください。
プラグインを jar としてエクスポートし、EaglecraftBungee の「/plugins」ディレクトリに置き、「run.bat」をクリックしてテストします。
net.md_5.bungee.api.event.WebsocketMOTDEvent : クライアントまたは Web サイトが MOTD をリクエストするとトリガーされます
net.md_5.bungee.api.event.WebsocketQueryEvent : クライアントまたは Web サイトがクエリをリクエストするとトリガーされます。これは、サイトがリスナーに対してテキスト WebSocket を開き、単一の文字列Accept:
パケットを送信するときに発生します。統合された WebSocket クエリをサポートするサーバー リスト サイトに追加のカスタム統計を提供するために使用できます。
Listener
クラスで標準の BungeeCord @EventHandler
アノテーションを使用してイベント ハンドラーを登録します。
Web 用にコンパイルするには、gradle 'teavm' コンパイル ターゲットを実行して、classes.js ファイルを生成します。
LWJGL ランタイムはサポートされなくなりました。参照用にのみ含まれています。
run.bat
ダブルクリックします。ウィンドウにPress any key to continue...
と表示されるまで待ち、ウィンドウを閉じます。次に、リポジトリの../javascript
に移動し、 javascript/assets.epk
Web サイトのassets.epk
にコピーします。cd
経由で epkcompiler フォルダーに移動し、 chmod +x run_unix.sh
を実行してから./run_unix.sh
を実行してこれを実行し、同じjavascript/assets.epk
をassets.epk
にコピーします。あなたのウェブサイト私が本当に言いたいのは、スペースではなくタブを使用し、工場出荷時の設定でEclipse自動フォーマットツールのようにコードをフォーマットするだけでなく、画面からはみ出すほど長いコード行を実行し、単一行のifステートメントなどを実行することです。ファイル内の重要度の低いコードと重要度の高いコードのコントラストを強調するのに役立つ場合、そのカテゴリの形式違反は歓迎されます。 javascript/classes.js
、 javascript/classes_server.js
、 javascript/assets.epk
などのstable-download/
内の何かへの変更をコミットしないでください。プル リクエストをマージするときに、それらを自分で再コンパイルします。
公開サーバーのリストは公式クライアントにすでに追加されています ↩
サーバーリストは現在再構築中です。現時点では公式クライアントを使用してください ↩