LAX1DUDE_SIGNATURE.txt
para obtener instrucciones para verificar que se trata de una copia original. Si el archivo no está presente, no utilice esta copia del proyecto.Eaglercraft es un Minecraft 1.5.2 real que puedes jugar en cualquier navegador web normal. Eso incluye los Chromebook escolares, funciona en todos los Chromebook. Es compatible tanto con un jugador como con multijugador. |
Actualmente mantenido por ayunami2000
Si tiene alguna pregunta, puede unirse al servidor de Discord y contactarnos allí https://discord.gg/Ekzcgs3DKZ
(haga clic derecho en el enlace y presione 'Guardar enlace como...' para descargar el archivo)
Un jugador | Multijugador | Otros |
---|---|---|
Importación y exportación de mundos | Clientes y servidores públicos | Desarrollo de complementos |
Mundos LAN | Creando un servidor - Bukkit | Compilando |
Relés de LAN pública | Creando un servidor - EaglercraftBungee | Creando un paquete de recursos |
Crear una retransmisión LAN | Creando un cliente | Contribuyendo |
Configuración EaglercraftBungee | ||
Crear un proxy inverso - NGINX | ||
Configuración NGINX |
Simplemente presiona el botón "Un jugador" en el menú principal y podrás crear un Minecraft normal y jugarlo en cualquier momento.
Los mundos se almacenan en el almacenamiento local de tu navegador, puedes exportarlos como archivos EPK e importarlos nuevamente en todos los demás sitios de Eaglercraft que también admiten el modo para un jugador. Incluso puedes copiar un mundo exportado a una computadora completamente diferente, o enviárselo a un amigo, importarlo y continuar jugando con todo tu progreso guardado.
Los mundos LAN funcionarán entre dos dispositivos conectados a Internet, no estás limitado a solo jugadores conectados a tu red Wi-Fi.
Para abrir su mundo a LAN, vaya al menú de pausa y haga clic en "Abrir a LAN". Puedes configurar el modo de juego y los trucos y si quieres ocultar tu mundo LAN. Cuando no ocultas tu mundo LAN, aparecerá en la pantalla Multijugador desde el menú principal para cualquier otra persona que también esté en tu red Wi-Fi. Oculta el mundo si estás en la escuela o algo así y no quieres que todos los demás en tu clase se unan también y comiencen a lamentarse.
Cuando abras el mundo a LAN, te dará un 'código de unión'. Simplemente comparte el código con tus amigos y ellos podrán visitar la pantalla Multijugador desde el menú principal y hacer clic en "Conexión directa" e ingresar el código y podrán unirse a tu mundo.
Asegúrate de que agreguen el servidor de retransmisión en el que tu juego abre el mundo LAN en su menú "Configuración de red" al que se puede acceder desde la pantalla multijugador. Simplemente debes enviarles la URL indicada en el menú de pausa una vez que se abre el mundo y ellos pueden usar la opción "Agregar retransmisión" para agregar la URL a su lista.
wss://relay.deev.is/
wss://relay.lax1dude.net/
wss://relay.shhnowisnottheti.me/
java -jar sp-relay.jar
Ejecute java -jar sp-relay.jar --debug
para ver información de depuración como todas las IP de las conexiones entrantes, ya que no se muestra de forma predeterminada porque registrar toda esa información reducirá el rendimiento cuando se haga ping al relé muchas veces por segundo, dependiendo en su popularidad.
Edite el archivo relayConfig.ini
generado en el primer inicio para cambiar el puerto y configurar la limitación de velocidad y demás, y relays.txt
para cambiar la lista de relés STUN y TURN informados a los clientes que se conectan al relé, que son necesarios para establecer correctamente una LAN P2P. conexión mundial en navegadores
La variable de configuración origin-whitelist
es una lista separada por punto y coma ( ;
) de dominios que se utiliza para restringir qué sitios pueden usar su retransmisión. Cuando se deja en blanco, permite todos los sitios. Agregue offline
para permitir que los clientes de descargas offline también utilicen su retransmisión, y null
para permitir conexiones que no especifiquen un encabezado Origin:
:. Utilice *
como comodín, por ejemplo: *.deev.is
permite que todos los dominios que terminan en "deev.is" utilicen el relé.
El modo multijugador funciona como Minecraft básico, lo que te permite unirte a servidores normales de Minecraft como un cliente normal.
Un servidor consta de varias partes , que consisten principalmente en un servidor Bukkit 1.5.2 normal y una versión modificada de Bungeecord llamada EaglercraftBungee , que además de la funcionalidad normal de Bungeecord, traduce conexiones WebSocket en conexiones TCP sin formato que Bukkit puede entender.
Es posible que también desee configurar su propio cliente , lo que le permitirá controlar las listas de servidores predeterminados, los paquetes de recursos y una conexión general más rápida debido a una menor carga.
Si desea utilizar un dominio para su servidor, se puede configurar un proxy inverso para habilitar funciones adicionales dentro de EaglercraftBungee. Se recomienda NGINX y aquí se incluye un tutorial. Esto es opcional y se puede omitir simplemente conectándose con la IP.
java/bukkit_command
run.bat
. Debería abrir una nueva ventana de terminal.cd
para navegar a java/bukkit_command
chmod +x run_unix.sh
y luego ejecute ./run_unix.sh
. Debería iniciar el mismo servidor.java/bukkit_command/plugins
(consulte https://github.com/lax1dude/eaglercraft-plugins/ para descargar algunos complementos compatibles) java/bungee_command
run.bat
. Debería abrir una segunda ventana de terminal.java/bungee_command
java/bungee_command/plugins
Hay muchas más configuraciones en bungeecord, pero esto debería configurarte
Su servidor ya está listo. Visita cualquier cliente y ve a 'Multijugador' en el menú principal. Seleccione 'Conexión directa', escriba 127.0.0.1:25565
y presione 'Unirse al servidor'. Debería permitirle conectarse; si no, verifique las dos ventanas del terminal en busca de errores.
Para instalar, cargue el contenido de stable-download/web
en un servidor web.
/var/www/html
y cargue el contenido de stable-download/web
allí.https://eaglercraft.example.com/server
¡La carpeta 'web' no funcionará si la abre en su navegador localmente! Si ve 'file:///' en la URL, lo está haciendo mal. Debe cargar la carpeta en un servidor HTTP o HTTPS y acceder a ella a través de Internet a través de http:// o https://. De lo contrario, el juego no se cargará, esto no es un error.
Para modificar la lista de servidores predeterminados, modifique la variable window.eaglercraftOpts
en index.html
.
Próximamente habrá una guía completa sobre cómo configurar eaglercraftOpts
, pero debería ser bastante intuitivo descubrir cómo configurarlo en función de los valores predeterminados que ya existen cuando miras en la descarga estable.
Para crear un enlace a su sitio que se una automáticamente al servidor, agregue una variable ?server=
a la URL, como (por ejemplo): https://g.deev.is/eaglercraft/?server=127.0.0.1:25565 Únase automáticamente ws://127.0.0.1:25565/
tan pronto como el jugador termine de configurar su nombre de usuario y máscara
motd1:
de la configuración del oyente en java/bungee_command/config.yml
y reemplace server-icon.png
en la carpeta donde está el archivo de configuración. Utilice &
para agregar códigos de color/formato. La lista de servidores reducirá la escala de su ícono a 64x64 píxelesmotd2:
para definir una segunda líneaPara habilitar los comandos /login y /register en EaglercraftBungee, puede editar esta parte de 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
Establece el archivo de base de datos de autenticación, que es compatible con AuthMe
register_enabled
Activa y desactiva el comando de registro
ip_limit
Establece el número máximo de registros por IP, 0 = ilimitado
join_messages
Lista de mensajes para mostrar al jugador cuando se une
login_timeout
Establece cuántos segundos tienen los jugadores para iniciar sesión antes de ser expulsados.
enable
Activa y desactiva los comandos de inicio de sesión
Si usas /op en tu servidor, ten en cuenta que si "/op LAX1DUDE", un jugador que se una como 'laX1DUDE' o 'LaX1dUdE' o 'lax1dude' también tendrá /op. Para resolver este problema, fuerce a todos los operadores a que solo puedan unirse con todas las letras minúsculas ('lax1dude') en sus nombres de usuario moviendo 'BitchFilterPlugin.jar" a "java/bukkit_command/plugins" y luego registre cada nombre de usuario en minúsculas.
Para deshabilitar el chat de voz, configure voice_enabled: false
en bungeecord config.yml
eag-ban
eag-ban-regex
con una expresión regular que coincida con el nombre de usuario en minúsculas Para que las prohibiciones de IP funcionen, se requiere un proxy inverso y se debe configurar forward_ip
; de lo contrario, no puede prohibir la IP del usuario.
eag-ban-ip
o eag-ban-ip
para prohibir la IP de un jugador automáticamenteeag-ban-ip 192.168.0.0/8
eag-ban-wildcard *
o eag-ban-wildcard *
o 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
Para agregar sus propios dominios a la lista negra , cree un archivo llamado origin_blacklist.txt
en su directorio bungeecord y coloque las expresiones regulares dentro, una en cada línea. También hay un comando domain
en la consola para ver el dominio de un jugador, y un comando block-domain
, block-domain-name
y unblock-domain
para administrar el origin_blacklist.txt
local desde la consola bungee (si no lo sabes). cómo editar un archivo por su cuenta). La lista se recarga automáticamente cuando se detectan cambios en el archivo.
origin_blacklist_use_simple_whitelist : true
Luego, agrega tu dominio a origin_blacklist_simple_whitelist
así:
origin_blacklist_simple_whitelist :
- type the name of your client's domain here
Luego, a menos que aún lo desees como una opción para tus reproductores, desactiva la descarga sin conexión para que los piratas informáticos no la utilicen para eludir la lista blanca, ya que no está bloqueada en el modo de lista blanca de forma predeterminada:
origin_blacklist_block_offline_download : true
El servidor tiene protección DoS incorporada, reinícielo escribiendo 'eag-ratelimit reset' en la consola elástica**
La limitación de velocidad es posible, pero se requiere un proxy inverso y forward_ip
debe configurarse para usar la limitación de velocidad; de lo contrario, se desactivará de forma predeterminada.
ratelimit :
ip :
enable : true
period : 90
limit : 60
limit_lockout : 80
lockout_duration : 1200
exceptions : []
enable
habilitar limitación de velocidad
period
y limit
establecen el número de solicitudes ( limit
) que se pueden realizar en ( period
) número de segundos
limit_lockout
y lockout_duration
establecen el número de solicitudes ( limit_lockout
) que se pueden realizar en ( period
) segundos antes de que se bloquee la IP para lockout_duration
número de segundos
exceptions
una lista de direcciones IP que nunca deberían tener una velocidad limitada. Las IP locales como 127.0.0.1 y 192.168.*.* y similares se configuran como excepciones de forma predeterminada
Si desea indicarle al cliente que se desconecte de su bungeecord y se vuelva a conectar a un bungeecord diferente, configure una entrada en la parte de servers
de config.yml como esta:
test :
redirect : wss://ServerHere/
restricted : false
En este ejemplo, enviar un jugador al servidor test
, como cuando ingresa a un portal o escribe /server test
, hará que su cliente se desconecte de su bungeecord y luego se reconecte automáticamente a wss://ServerHere/
como si estuviera ingresado. a través de "Conexión directa"
Aquí hay un curso intensivo rápido sobre cómo configurar NGINX en Linux, específicamente en distribuciones Debian.
Aquí hay algunas búsquedas en Google para otras distribuciones:
Abre tu terminal y ejecuta
sudo apt update
y sudo apt install nginx
Abra cualquier navegador web y busque localhost
en su barra de búsqueda. Deberías ver algo como esto:
Navegue a la configuración de NGINX con cd /etc/nginx/sites-enabled
.
Cree un nuevo archivo de configuración con su nombre de dominio, por ejemplo nano eaglercraft.example.com
Pegue el siguiente código en el archivo. Reemplace example.com
con su propio dominio y app_server_address
como el ip:port
de su servidor EaglercraftBungee al que desea que se conecte la URL.
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
y ¡debería estar listo! 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
a su configuración de proxyPara desarrollar un complemento, descargue stable-download/java/bungee_command/bungee_dist.jar y agréguelo a la ruta de compilación de su IDE de Java. Desarrolle el complemento como un complemento normal de BungeeCord; consulte EaglerMOTD para ver un ejemplo.
Pruebe su complemento exportándolo como un archivo jar y colocándolo en el directorio '/plugins' de EaglercraftBungee y luego haciendo clic en 'run.bat'
net.md_5.bungee.api.event.WebsocketMOTDEvent : se activa cuando un cliente o sitio web solicita el MOTD
net.md_5.bungee.api.event.WebsocketQueryEvent : se activa cuando un cliente o sitio web solicita una consulta. Esto sucede cuando un sitio abre un WebSocket de texto a un oyente y envía una sola cadena Accept:
. Se puede utilizar para proporcionar estadísticas personalizadas adicionales a los sitios de listas de servidores que admiten consultas WebSocket integradas.
Registre controladores de eventos utilizando la anotación estándar BungeeCord @EventHandler
en su clase Listener
Para compilar para la web, ejecute el objetivo de compilación gradle 'teavm' para generar el archivo Classes.js.
El tiempo de ejecución LWJGL ya no es compatible; solo se incluye como referencia
run.bat
. Espere a que la ventana diga Press any key to continue...
y ciérrela. Luego, vaya a ../javascript
en el repositorio y copie javascript/assets.epk
en el assets.epk
de su sitio web.cd
y ejecute chmod +x run_unix.sh
y luego ./run_unix.sh
para hacer esto, luego copie el mismo javascript/assets.epk
en el archivo assets.epk
en tu sitio web Todo lo que realmente tengo que decir es usar pestañas, no espacios, y formatear el código para que sea como la herramienta de formato automático de eclipse en la configuración de fábrica, pero también ejecutar líneas de código lo suficientemente largas como para salir de la pantalla y declaraciones if de una sola línea y otras Las violaciones de formato en esa categoría son bienvenidas si ayudan a mejorar el contraste entre el código menos importante y el código más importante en un archivo. No realice cambios en javascript/classes.js
o javascript/classes_server.js
o javascript/assets.epk
ni nada en stable-download/
. Los recompilaré yo mismo cuando combine la solicitud de extracción.
Ya se agregó una lista de servidores públicos al cliente oficial ↩
La lista de servidores se está reconstruyendo actualmente, use el cliente oficial por ahora ↩