LAX1DUDE_SIGNATURE.txt
para obter instruções para verificar se esta é uma cópia original. Se o arquivo não estiver presente, não use esta cópia do projetoEaglercraft é o verdadeiro Minecraft 1.5.2 que você pode jogar em qualquer navegador normal. Isso inclui Chromebooks escolares e funciona em todos os Chromebooks. Suporta singleplayer e multiplayer. |
Atualmente mantido por ayunami2000
Para qualquer dúvida você pode entrar no servidor do discord e entrar em contato conosco lá https://discord.gg/Ekzcgs3DKZ
(clique com o botão direito no link e pressione 'Salvar link como...' para baixar o arquivo)
Único jogador | Multijogador | Outros |
---|---|---|
Importando e exportando mundos | Clientes e servidores públicos | Desenvolvimento de plug-ins |
Mundos LAN | Criando um Servidor - Bukkit | Compilando |
Relés de LAN pública | Criando um Servidor - EaglercraftBungee | Criando um pacote de recursos |
Criando um relé LAN | Criando um cliente | Contribuindo |
Configuração EaglercraftBungee | ||
Criando um proxy reverso - NGINX | ||
Configuração NGINX |
Basta pressionar o botão 'Singleplayer' no menu principal e você poderá criar um minecraft vanilla normal e jogá-lo a qualquer momento.
Os mundos são armazenados no armazenamento local do seu navegador, você pode exportá-los como arquivos EPK e importá-los novamente em todos os outros sites da Eaglercraft que também suportam singleplayer. Você pode até copiar um mundo exportado para um computador totalmente diferente, ou enviá-lo para um amigo, importá-lo e continuar jogando com todo o seu progresso salvo.
Os mundos LAN funcionarão entre quaisquer dois dispositivos conectados à internet, você não está limitado apenas a jogadores conectados à sua rede Wi-Fi
Para abrir seu mundo para LAN, vá ao menu de pausa e clique em ‘Abrir para LAN’. Você pode configurar o modo de jogo e os cheats e se quiser ocultar seu mundo LAN. Quando você não oculta o seu mundo LAN, ele aparecerá na tela Multiplayer do menu principal para qualquer outra pessoa que também esteja na sua rede Wi-Fi. Deixe o mundo oculto se você estiver na escola ou algo assim e não quiser que todos os outros da sua turma participem também e comecem a sofrer.
Quando você abre o mundo para LAN, você receberá um 'código de adesão'. Basta compartilhar o código com seus amigos e eles poderão visitar a tela Multiplayer no menu principal e clicar em 'Conexão Direta' e inserir o código e eles poderão entrar no seu mundo.
Certifique-se de que eles adicionem o servidor de retransmissão, seu jogo abre o mundo LAN no menu "Configurações de rede", acessível na tela Multiplayer. Você simplesmente deve enviar a eles a URL indicada no menu de pausa assim que o mundo for aberto e eles poderão usar a opção "Adicionar Relay" para adicionar a URL à sua lista.
wss://relay.deev.is/
wss://relay.lax1dude.net/
wss://relay.shhnowisnottheti.me/
java -jar sp-relay.jar
Execute java -jar sp-relay.jar --debug
para visualizar informações de depuração como todos os IPs de conexões de entrada, pois não é mostrado por padrão porque registrar todas essas informações reduzirá o desempenho quando o ping do relé estiver sendo executado muitas vezes por segundo, dependendo em sua popularidade.
Edite o arquivo relayConfig.ini
gerado na primeira inicialização para alterar a porta e configurar o ratelimiting e tal, e relays.txt
para alterar a lista de relés STUN e TURN relatados aos clientes que se conectam ao relé, que são necessários para estabelecer corretamente uma LAN P2P conexão mundial em navegadores
A variável de configuração origin-whitelist
é uma lista separada por ponto e vírgula ( ;
) de domínios usados para restringir quais sites podem usar seu relé. Quando deixado em branco permite todos os sites. Adicione offline
para permitir que clientes de download offline também usem seu relé e null
para permitir conexões que não especificam um cabeçalho Origin:
Use *
como curinga, por exemplo: *.deev.is
permite que todos os domínios que terminam com "deev.is" usem o relé.
Funções multijogador como o vanilla Minecraft, permitindo que você entre em servidores normais do Minecraft como um cliente normal.
Existem várias partes em um servidor , consistindo principalmente em um servidor Bukkit 1.5.2 regular e uma versão modificada do Bungeecord chamada EaglercraftBungee , que além da funcionalidade normal do Bungeecord, traduz conexões WebSocket em conexões TCP brutas que o Bukkit pode entender.
Você também pode querer configurar seu próprio cliente , permitindo controlar listagens de servidores padrão, pacotes de recursos e uma conexão geral mais rápida devido a menos carga.
Se você quiser usar um domínio para o seu servidor, um proxy reverso pode ser configurado para habilitar funcionalidades extras no EaglercraftBungee. O NGINX é recomendado e um tutorial está incluído aqui . Isso é opcional e pode ser ignorado apenas conectando-se ao IP.
java/bukkit_command
run.bat
. Deve abrir uma nova janela de terminalcd
para navegar até java/bukkit_command
chmod +x run_unix.sh
e depois execute ./run_unix.sh
. Deve iniciar o mesmo servidorjava/bukkit_command/plugins
(Veja https://github.com/lax1dude/eaglercraft-plugins/ para baixar alguns plugins suportados) java/bungee_command
run.bat
. Deve abrir uma segunda janela de terminaljava/bungee_command
java/bungee_command/plugins
Existem muito mais configurações no bungeecord, mas isso deve configurar você
Seu servidor agora está pronto. Visite qualquer cliente e vá em ‘Multiplayer’ no menu principal. Selecione 'Direct Connect', digite 127.0.0.1:25565
e pressione 'Join Server'. Deve permitir que você se conecte, caso contrário, verifique se há erros nas duas janelas do terminal
Para instalar, carregue o conteúdo de stable-download/web
para um servidor web.
/var/www/html
e carregue o conteúdo de stable-download/web
lá.https://eaglercraft.example.com/server
A pasta 'web' não funcionará se você abri-la localmente no seu navegador! Se você vir 'file:///' no URL, você está fazendo isso errado. Você precisa fazer upload da pasta para um servidor HTTP ou HTTPS e acessá-la pela Internet via http:// ou https://. Caso contrário, o jogo não carregará, isso não é um bug
Para modificar a lista de servidores padrão, modifique a variável window.eaglercraftOpts
em index.html
.
Um guia completo sobre como configurar eaglercraftOpts
será lançado em breve, mas deve ser bastante intuitivo descobrir como configurá-lo com base em quais já são os valores padrão quando você olha no download estável
Para criar um link para o seu site que se conecte automaticamente ao servidor, adicione uma variável ?server=
à URL, como (por exemplo): https://g.deev.is/eaglercraft/?server=127.0.0.1:25565 will junte-se automaticamente ws://127.0.0.1:25565/
assim que o jogador terminar de definir seu nome de usuário e skin
motd1:
da configuração do ouvinte em java/bungee_command/config.yml
e substitua server-icon.png
na pasta onde está o arquivo de configuração. Use &
para adicionar códigos de cor/formatação. A lista de servidores reduzirá seu ícone para 64x64 pixelsmotd2:
para definir uma segunda linhaPara habilitar os comandos /login e /register no EaglercraftBungee, você pode editar esta parte do 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
Define o arquivo do banco de dados de autenticação, que é compatível com AuthMe
register_enabled
Ativa e desativa o comando de registro
ip_limit
Define o número máximo de registros por IP, 0 = ilimitado
join_messages
Lista de mensagens para mostrar ao jogador quando ele entrar
login_timeout
Define quantos segundos os jogadores têm para fazer login antes de serem expulsos
enable
Ativa e desativa comandos de login
Se você usar /op em seu servidor, tenha em mente que se você usar "/op LAX1DUDE", um jogador entrando como 'laX1DUDE' ou 'LaX1dUdE' ou 'lax1dude' também terá /op. Para resolver esse problema, force todos os operadores a só poderem juntar todas as letras minúsculas ('lax1dude') em seus nomes de usuário, movendo 'BitchFilterPlugin.jar" para "java/bukkit_command/plugins" e, em seguida, registre cada nome de usuário de operação em minúsculas
Para desativar o bate-papo por voz, defina voice_enabled: false
no bungeecord config.yml
eag-ban
eag-ban-regex
com uma expressão regular que corresponda ao nome de usuário em letras minúsculas Para que os Banimentos de IP funcionem, é necessário um proxy reverso e forward_ip
precisa ser configurado, caso contrário, não poderá banir o IP do usuário
eag-ban-ip
, ou eag-ban-ip
para banir o IP de um jogador automaticamenteeag-ban-ip 192.168.0.0/8
eag-ban-wildcard *
ou eag-ban-wildcard *
ou 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 adicionar seus próprios domínios na lista negra , crie um arquivo chamado origin_blacklist.txt
em seu diretório bungeecord e coloque as expressões regulares dentro dele, uma em cada linha. Há também um comando domain
no console para visualizar o domínio de um jogador, e um comando block-domain
e block-domain-name
e unblock-domain
para gerenciar o origin_blacklist.txt
local do console bungee (se você não sabe como editar um arquivo por conta própria). A lista é recarregada automaticamente quando são detectadas alterações no arquivo.
origin_blacklist_use_simple_whitelist : true
Em seguida, adicione seu domínio a origin_blacklist_simple_whitelist
assim:
origin_blacklist_simple_whitelist :
- type the name of your client's domain here
Então, a menos que você ainda queira isso como uma opção para seus jogadores, desative o download offline para que os hackers não o utilizem para contornar a lista de permissões, já que ele não é bloqueado no modo de lista de permissões por padrão:
origin_blacklist_block_offline_download : true
O servidor possui proteção DoS integrada, redefina-a digitando 'eag-ratelimit reset' no console bungee**
A limitação de taxa é possível, mas um proxy reverso é necessário e forward_ip
precisa ser configurado para usar a limitação de taxa, caso contrário, será desabilitado por padrão
ratelimit :
ip :
enable : true
period : 90
limit : 60
limit_lockout : 80
lockout_duration : 1200
exceptions : []
enable
ativar limitação de taxa
period
e limit
definem o número de solicitações ( limit
) que podem ser feitas em ( period
) número de segundos
limit_lockout
e lockout_duration
definem o número de solicitações ( limit_lockout
) que podem ser feitas em ( period
) segundos antes que o IP seja bloqueado por lockout_duration
número de segundos
exceptions
uma lista de endereços IP que nunca devem ter taxa limitada. IPs locais como 127.0.0.1 e 192.168.*.* e outros são definidos como exceções por padrão
Se você quiser sinalizar ao cliente para se desconectar do seu bungeecord e reconectar-se a um bungeecord diferente, configure uma entrada na parte de servers
do config.yml assim:
test :
redirect : wss://ServerHere/
restricted : false
Neste exemplo, enviar um jogador para o servidor test
, como quando ele entra em um portal ou digita /server test
, fará com que seu cliente se desconecte de seu bungeecord e então se reconecte automaticamente a wss://ServerHere/
como se tivesse sido inserido através de "Conexão Direta"
Aqui está um curso rápido sobre como configurar o NGINX no Linux, especificamente em distribuições Debian.
Aqui estão algumas pesquisas no Google para outras distribuições:
Abra seu terminal e execute
sudo apt update
e sudo apt install nginx
Abra qualquer navegador da web e pesquise localhost
na barra de pesquisa. Você deverá ver algo assim:
Navegue até a configuração do NGINX com cd /etc/nginx/sites-enabled
.
Crie um novo arquivo de configuração com seu nome de domínio, por exemplo nano eaglercraft.example.com
Cole o código a seguir no arquivo. Substitua example.com
pelo seu próprio domínio e app_server_address
como o ip:port
do servidor EaglercraftBungee ao qual você deseja que o URL se conecte.
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
e você estará pronto para prosseguir! 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
à sua configuração de proxyPara desenvolver um plugin, baixe stable-download/java/bungee_command/bungee_dist.jar e adicione-o ao Build Path do seu Java IDE. Desenvolva o plugin como um plugin BungeeCord normal, veja EaglerMOTD para ver um exemplo.
Teste seu plugin exportando-o como um jar e colocando-o no diretório '/plugins' do EaglercraftBungee e clicando em 'run.bat'
net.md_5.bungee.api.event.WebsocketMOTDEvent : acionado quando um cliente ou site solicita o MOTD
net.md_5.bungee.api.event.WebsocketQueryEvent : acionado quando um cliente ou site solicita uma consulta. Isso acontece quando um site abre um WebSocket de texto para um ouvinte e envia uma única string Accept:
pacote. Pode ser usado para fornecer estatísticas personalizadas adicionais para sites de lista de servidores que suportam consultas WebSocket integradas
Registre manipuladores de eventos usando a anotação BungeeCord @EventHandler
padrão em sua classe Listener
Para compilar para a web, execute o destino de compilação gradle 'teavm' para gerar o arquivo classes.js.
O tempo de execução LWJGL não é mais suportado; ele é incluído apenas para referência
run.bat
. Espere a janela dizer Press any key to continue...
e feche-a. Em seguida, vá para ../javascript
no repositório e copie javascript/assets.epk
para assets.epk
em seu sitecd
e execute chmod +x run_unix.sh
e depois ./run_unix.sh
para fazer isso e copie o mesmo javascript/assets.epk
para assets.epk
em seu site Tudo o que realmente tenho a dizer é: tabulações, não espaços, e formate o código para ser como a ferramenta de formatação automática do Eclipse nas configurações de fábrica, mas também execute linhas de código longas o suficiente para sair da tela e instruções if de linha única e outras violações de formato nessa categoria são bem-vindas se ajudarem a aumentar o contraste entre o código menos importante e o código mais importante em um arquivo. Não confirme alterações em javascript/classes.js
ou javascript/classes_server.js
ou javascript/assets.epk
ou qualquer coisa em stable-download/
. Eu mesmo os recompilarei quando mesclar a solicitação pull.
Uma lista de servidores públicos já foi adicionada ao cliente oficial ↩
A lista de servidores está sendo reconstruída, use o cliente oficial por enquanto ↩