LAX1DUDE_SIGNATURE.txt
um Anweisungen zu erhalten, um zu überprüfen, ob es sich um eine Originalkopie handelt. Wenn die Datei nicht vorhanden ist, verwenden Sie diese Kopie des Projekts nichtEaglercraft ist echtes Minecraft 1.5.2, das Sie in jedem normalen Webbrowser spielen können. Das gilt auch für Schul-Chromebooks, es funktioniert auf allen Chromebooks. Es unterstützt sowohl Einzelspieler als auch Mehrspieler. |
Wird derzeit von ayunami2000 verwaltet
Bei Fragen können Sie sich dem Discord-Server anschließen und uns dort erreichen: https://discord.gg/Ekzcgs3DKZ
(Klicken Sie mit der rechten Maustaste auf den Link und klicken Sie auf „Link speichern unter...“, um die Datei herunterzuladen.)
Einzelspieler | Mehrspieler | Andere |
---|---|---|
Welten importieren und exportieren | Öffentliche Clients und Server | Plugin-Entwicklung |
LAN-Welten | Erstellen eines Servers – Bukkit | Kompilieren |
Öffentliche LAN-Relays | Erstellen eines Servers – EaglercraftBungee | Erstellen eines Ressourcenpakets |
Erstellen eines LAN-Relays | Erstellen eines Clients | Mitwirken |
EaglercraftBungee-Konfiguration | ||
Erstellen eines Reverse-Proxys – NGINX | ||
NGINX-Konfiguration |
Drücken Sie einfach die Schaltfläche „Einzelspieler“ im Hauptmenü und Sie können ein normales Vanilla-Minecraft erstellen und es jederzeit spielen.
Die Welten werden im lokalen Speicher Ihres Browsers gespeichert, Sie können sie als EPK-Dateien exportieren und auf allen anderen Eaglercraft-Sites, die auch Singleplayer unterstützen, wieder importieren. Sie können sogar eine exportierte Welt auf einen völlig anderen Computer kopieren oder an einen Freund senden, sie importieren und mit allen gespeicherten Fortschritten weiterspielen.
LAN-Welten funktionieren zwischen zwei beliebigen Geräten, die mit dem Internet verbunden sind. Sie sind nicht nur auf Spieler beschränkt, die mit Ihrem Wi-Fi-Netzwerk verbunden sind
Um Ihre Welt für LAN zu öffnen, gehen Sie zum Pausenmenü und klicken Sie auf „Für LAN öffnen“. Sie können den Spielmodus und die Cheats konfigurieren und Ihre LAN-Welt ausblenden, wenn Sie möchten. Wenn Sie Ihre LAN-Welt nicht ausblenden, wird sie auf dem Multiplayer-Bildschirm im Hauptmenü für alle anderen Personen in Ihrem Wi-Fi-Netzwerk angezeigt. Verbergen Sie die Welt, wenn Sie in der Schule oder so sind, und möchten Sie nicht, dass auch alle anderen in Ihrer Klasse mitmachen und anfangen zu trauern.
Wenn Sie die Welt für LAN öffnen, erhalten Sie einen „Beitrittscode“. Teilen Sie einfach den Code mit Ihren Freunden und sie können vom Hauptmenü aus den Multiplayer-Bildschirm aufrufen, auf „Direkt verbinden“ klicken und den Code eingeben, und schon können sie Ihrer Welt beitreten.
Stellen Sie sicher, dass sie den Relay-Server, auf dem Ihr Spiel die LAN-Welt öffnet, zu ihrem Menü „Netzwerkeinstellungen“ hinzufügen, auf das Sie über den Mehrspielerbildschirm zugreifen können. Sie müssen ihnen einfach die im Pausenmenü angegebene URL senden, sobald die Welt geöffnet ist, und sie können die URL mit der Option „Relay hinzufügen“ zu ihrer Liste hinzufügen.
wss://relay.deev.is/
wss://relay.lax1dude.net/
wss://relay.shhnowisnottheti.me/
java -jar sp-relay.jar
aus Führen Sie java -jar sp-relay.jar --debug
aus, um Debug-Informationen wie alle IPs eingehender Verbindungen anzuzeigen, da diese standardmäßig nicht angezeigt werden, da die Protokollierung aller dieser Informationen die Leistung verringert, wenn das Relay mehrmals pro Sekunde gepingt wird auf seine Beliebtheit.
Bearbeiten Sie die Datei relayConfig.ini
, die beim ersten Start generiert wurde, um den Port zu ändern und die Geschwindigkeitsbegrenzung usw. zu konfigurieren, und relays.txt
, um die Liste der STUN- und TURN-Relays zu ändern, die Clients gemeldet werden, die eine Verbindung zum Relay herstellen und die für die korrekte Einrichtung eines P2P-LAN erforderlich sind Weltverbindung in Browsern
Die Konfigurationsvariable „ origin-whitelist
ist eine durch Semikolon ( ;
) getrennte Liste von Domänen, die dazu dient, einzuschränken, welche Websites Ihr Relay verwenden dürfen. Wenn es leer bleibt, werden alle Websites zugelassen. Fügen Sie offline
hinzu, damit auch Offline-Download-Clients Ihr Relay verwenden können, und null
um Verbindungen zuzulassen, die keinen Origin:
-Header angeben. Verwenden Sie *
als Platzhalter, zum Beispiel: *.deev.is
ermöglicht allen Domänen, die mit „deev.is“ enden, die Verwendung des Relays.
Multiplayer-Funktionen wie Vanilla Minecraft, sodass Sie wie ein normaler Client normalen Minecraft-Servern beitreten können.
Ein Server besteht aus mehreren Teilen , die hauptsächlich aus einem regulären 1.5.2 Bukkit-Server und einer modifizierten Version von Bungeecord namens EaglercraftBungee bestehen, die zusätzlich zur regulären Bungeecord-Funktionalität WebSocket-Verbindungen in unformatierte TCP-Verbindungen übersetzt, die Bukkit verstehen kann.
Möglicherweise möchten Sie auch Ihren eigenen Client einrichten, mit dem Sie Standardserverlisten, Ressourcenpakete und eine insgesamt schnellere Verbindung aufgrund geringerer Auslastung steuern können.
Wenn Sie eine Domain für Ihren Server verwenden möchten, kann ein Reverse-Proxy eingerichtet werden, um zusätzliche Funktionen innerhalb von EaglercraftBungee zu ermöglichen. NGINX wird empfohlen und ein Tutorial ist hier enthalten. Dies ist optional und kann übersprungen werden, indem einfach eine Verbindung mit der IP hergestellt wird.
java/bukkit_command
run.bat
. Es sollte ein neues Terminalfenster öffnencd
zu java/bukkit_command
navigierenchmod +x run_unix.sh
und dann ./run_unix.sh
aus. Es sollte den gleichen Server startenjava/bukkit_command/plugins
(siehe https://github.com/lax1dude/eaglercraft-plugins/, um einige unterstützte Plugins herunterzuladen) java/bungee_command
run.bat
. Es sollte sich ein zweites Terminalfenster öffnenjava/bungee_command
java/bungee_command/plugins
Es gibt viel mehr Konfigurationen in Bungeecord, aber das hier sollte Ihnen den Einstieg erleichtern
Ihr Server ist jetzt bereit. Besuchen Sie einen beliebigen Client und gehen Sie im Hauptmenü auf „Mehrspieler“. Wählen Sie „Direct Connect“, geben Sie 127.0.0.1:25565
ein und klicken Sie auf „Server beitreten“ . Sie sollten nun eine Verbindung herstellen können. Wenn nicht, überprüfen Sie die beiden Terminalfenster auf Fehler
Laden Sie zur Installation den Inhalt von stable-download/web
auf einen Webserver hoch.
/var/www/html
und laden Sie dort den Inhalt von stable-download/web
hoch.https://eaglercraft.example.com/server
Der Ordner „web“ funktioniert nicht, wenn Sie ihn lokal in Ihrem Browser öffnen! Wenn Sie „file:///“ in der URL sehen, machen Sie es falsch. Sie müssen den Ordner auf einen HTTP- oder HTTPS-Server hochladen und über das Internet über http:// oder https:// darauf zugreifen. Das Spiel wird sonst nicht geladen, das ist kein Fehler
Um die Liste der Standardserver zu ändern, ändern Sie die Variable window.eaglercraftOpts
in index.html
.
Eine vollständige Anleitung zur Konfiguration eaglercraftOpts
wird in Kürze verfügbar sein, aber es sollte ziemlich intuitiv sein, herauszufinden, wie man es einrichtet, basierend auf den Standardwerten, die bereits vorhanden sind, wenn man in Stable-Download nachschaut
Um einen Link zu Ihrer Website zu erstellen, der sich automatisch dem Server anschließt, fügen Sie der URL eine ?server=
-Variable hinzu, wie zum Beispiel: https://g.deev.is/eaglercraft/?server=127.0.0.1:25565 Treten Sie automatisch ws://127.0.0.1:25565/
bei, sobald der Spieler seinen Benutzernamen und Skin festgelegt hat
motd1:
der Listener-Konfiguration in java/bungee_command/config.yml
und ersetzen Sie server-icon.png
in dem Ordner, in dem sich die Konfigurationsdatei befindet. Verwenden Sie &
um Farb-/Formatierungscodes hinzuzufügen. Die Serverliste verkleinert Ihr Symbol auf 64 x 64 Pixelmotd2:
hinzufügen, um eine zweite Zeile zu definierenUm die Befehle /login und /register in EaglercraftBungee zu aktivieren, können Sie diesen Teil von config.yml bearbeiten
authservice :
authfile : auths.db
register_enabled : true
ip_limit : 0
join_messages :
- ' &3Welcome to my &aEaglercraftBungee &3server! '
login_timeout : 30
enabled : false
authfile
Legt die Authentifizierungsdatenbankdatei fest, die mit AuthMe kompatibel ist
register_enabled
Schaltet den Registerbefehl ein und aus
ip_limit
Legt die maximale Anzahl von Registrierungen pro IP fest, 0 = unbegrenzt
join_messages
Liste der Nachrichten, die dem Spieler angezeigt werden, wenn er beitritt
login_timeout
Legt fest, wie viele Sekunden sich Spieler anmelden müssen, bevor sie rausgeschmissen werden
enable
Aktiviert und deaktiviert Anmeldebefehle
Wenn Sie /op auf Ihrem Server verwenden, denken Sie daran, dass alle Spieler, die als „laX1DUDE“, „LaX1dUdE“ oder „lax1dude“ beitreten, auch „/op“ haben, wenn Sie „/op LAX1DUDE“ verwenden. Um dieses Problem zu lösen, erzwingen Sie, dass alle Operatoren nur mit Kleinbuchstaben ('lax1dude') in ihren Benutzernamen verknüpfen können, indem Sie 'BitchFilterPlugin.jar' nach 'java/bukkit_command/plugins' verschieben und dann jeden Op-Benutzernamen in Kleinbuchstaben registrieren
Um den Voice-Chat zu deaktivieren, legen Sie voice_enabled: false
in der Bungeecord-config.yml fest
eag-ban
eag-ban-regex
mit einem regulären Ausdruck, der dem Benutzernamen in Kleinbuchstaben entspricht Damit IP-Sperren funktionieren, ist ein Reverse-Proxy erforderlich und forward_ip
muss konfiguriert sein, andernfalls kann die IP des Benutzers nicht gesperrt werden
eag-ban-ip
oder eag-ban-ip
um die IP eines Spielers automatisch zu sperreneag-ban-ip 192.168.0.0/8
eag-ban-wildcard *
oder eag-ban-wildcard *
oder 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
Um Ihre eigenen Domänen auf der schwarzen Liste hinzuzufügen , erstellen Sie eine Datei mit dem Namen origin_blacklist.txt
in Ihrem Bungeecord-Verzeichnis und fügen Sie die regulären Ausdrücke darin ein, einen in jeder Zeile. Es gibt auch einen domain
in der Konsole, um die Domäne eines Spielers anzuzeigen, sowie einen block-domain
, block-domain-name
und unblock-domain
Befehl, um die lokale origin_blacklist.txt
von der Bungee-Konsole aus zu verwalten (falls Sie es nicht wissen). wie man eine Datei selbst bearbeitet). Die Liste wird automatisch neu geladen, wenn Änderungen an der Datei erkannt werden.
origin_blacklist_use_simple_whitelist : true
Fügen Sie dann Ihre Domain wie folgt zu origin_blacklist_simple_whitelist
hinzu:
origin_blacklist_simple_whitelist :
- type the name of your client's domain here
Deaktivieren Sie dann den Offline-Download, es sei denn, Sie möchten dies weiterhin als Option für Ihre Spieler, damit Hacker ihn nicht zur Umgehung der Whitelist verwenden, da er im Whitelist-Modus standardmäßig nicht blockiert ist:
origin_blacklist_block_offline_download : true
Der Server verfügt über einen integrierten DoS-Schutz. Setzen Sie ihn zurück, indem Sie in der Bungee-Konsole „eag-ratelimit reset“ eingeben**
Eine Ratenbegrenzung ist möglich, es ist jedoch ein Reverse-Proxy erforderlich, und forward_ip
muss für die Verwendung der Ratenbegrenzung konfiguriert sein, andernfalls ist sie standardmäßig deaktiviert
ratelimit :
ip :
enable : true
period : 90
limit : 60
limit_lockout : 80
lockout_duration : 1200
exceptions : []
enable
die Geschwindigkeitsbegrenzung
period
und limit
legen die Anzahl der Anfragen ( limit
) fest, die in ( period
) Sekunden erfolgen können
limit_lockout
und lockout_duration
legen die Anzahl der Anfragen ( limit_lockout
) fest, die in ( period
) Sekunden gestellt werden können, bevor die IP für die Anzahl der Sekunden von lockout_duration
blockiert wird
exceptions
Eine Liste von IP-Adressen, deren Rate niemals begrenzt werden sollte. Lokale IPs wie 127.0.0.1 und 192.168.*.* und dergleichen sind standardmäßig als Ausnahmen festgelegt
Wenn Sie dem Client signalisieren möchten, die Verbindung zu Ihrem Bungeecord zu trennen und sich erneut mit einem anderen Bungeecord zu verbinden, konfigurieren Sie einen Eintrag im servers
von config.yml wie folgt:
test :
redirect : wss://ServerHere/
restricted : false
In diesem Beispiel führt das Senden eines Spielers zum Server test
, etwa wenn er ein Portal betritt oder /server test
eingibt, dazu, dass sein Client die Verbindung zu Ihrem Bungeecord trennt und sich dann automatisch wieder mit wss://ServerHere/
verbindet, als ob es eingegeben worden wäre über „Direct Connect“
Hier ist ein kurzer Crashkurs zum Einrichten von NGINX unter Linux, insbesondere auf Debian-Distributionen.
Hier sind einige Google-Suchen nach anderen Distributionen:
Öffnen Sie Ihr Terminal und führen Sie es aus
sudo apt update
und sudo apt install nginx
Öffnen Sie einen beliebigen Webbrowser und suchen Sie in Ihrer Suchleiste nach localhost
. Sie sollten etwa Folgendes sehen:
Navigieren Sie mit cd /etc/nginx/sites-enabled
zur NGINX-Konfiguration.
Erstellen Sie eine neue Konfigurationsdatei mit Ihrem Domänennamen, zum Beispiel nano eaglercraft.example.com
Fügen Sie den folgenden Code in die Datei ein. Ersetzen Sie example.com
durch Ihre eigene Domain und app_server_address
als den ip:port
Ihres EaglercraftBungee-Servers, zu dem die URL eine Verbindung herstellen soll.
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
und schon kann es losgehen! proxy_pass
hinzu. 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
zu Ihrer Proxy-Konfiguration hinzuUm ein Plugin zu entwickeln, laden Sie „stable-download/java/bungee_command/bungee_dist.jar“ herunter und fügen Sie es dem Build Path Ihrer Java-IDE hinzu. Entwickeln Sie das Plugin wie ein normales BungeeCord-Plugin. Ein Beispiel finden Sie in EaglerMOTD.
Testen Sie Ihr Plugin, indem Sie es als JAR exportieren, es im Verzeichnis „/plugins“ von EaglercraftBungee ablegen und dann auf „run.bat“ klicken.
net.md_5.bungee.api.event.WebsocketMOTDEvent : Wird ausgelöst, wenn ein Client oder eine Website den MOTD anfordert
net.md_5.bungee.api.event.WebsocketQueryEvent : Wird ausgelöst, wenn ein Client oder eine Website eine Abfrage anfordert. Dies geschieht, wenn eine Site einen Text-WebSocket für einen Listener öffnet und ein einzelnes String-Paket Accept:
sendet. Kann verwendet werden, um zusätzliche benutzerdefinierte Statistiken für Serverlisten-Sites bereitzustellen, die integrierte WebSocket-Abfragen unterstützen
Registrieren Sie Ereignishandler mithilfe der standardmäßigen BungeeCord- Annotation @EventHandler
in Ihrer Listener
-Klasse
Um für das Web zu kompilieren, führen Sie das Gradle-Kompilierungsziel „teavm“ aus, um die Datei „classes.js“ zu generieren.
Die LWJGL-Laufzeit wird nicht mehr unterstützt und dient nur noch als Referenz
run.bat
. Warten Sie, bis das Fenster sagt: Press any key to continue...
und schließen Sie es. Gehen Sie dann zu ../javascript
im Repository und kopieren Sie javascript/assets.epk
in die assets.epk
auf Ihrer Websitecd
zum Ordner epkcompiler und führen Sie dazu chmod +x run_unix.sh
und dann ./run_unix.sh
aus. Kopieren Sie dann dasselbe javascript/assets.epk
in die assets.epk
Ihre Website Alles, was ich wirklich zu sagen habe, ist, Tabulatoren und keine Leerzeichen zu verwenden und den Code so zu formatieren, dass er in den Werkseinstellungen dem automatischen Eclipse-Formatierungstool ähnelt, aber auch fortlaufende Codezeilen enthält, die lang genug sind, um den Bildschirm zu verlassen, und einzeilige if-Anweisungen und andere Formatverstöße in dieser Kategorie sind willkommen, wenn sie dazu beitragen, den Kontrast zwischen dem weniger wichtigen Code und dem wichtigeren Code in einer Datei zu verbessern. Übernehmen Sie keine Änderungen an javascript/classes.js
oder javascript/classes_server.js
oder javascript/assets.epk
oder irgendetwas in stable-download/
. Ich werde diese selbst neu kompilieren, wenn ich die Pull-Anfrage zusammenführe.
Eine Liste öffentlicher Server ist bereits dem offiziellen Client hinzugefügt ↩
Die Serverliste wird derzeit neu erstellt. Verwenden Sie vorerst den offiziellen Client ↩