LAX1DUDE_SIGNATURE.txt
읽어보십시오. 파일이 없으면 프로젝트의 이 복사본을 사용하지 마십시오.Eaglercraft는 일반 웹 브라우저에서 플레이할 수 있는 실제 Minecraft 1.5.2입니다. 여기에는 학교 크롬북이 포함되며 모든 크롬북에서 작동합니다. 싱글플레이어와 멀티플레이어를 모두 지원합니다. |
현재 ayunami2000이 관리하고 있습니다.
질문이 있으시면 디스코드 서버에 가입하여 https://discord.gg/Ekzcgs3DKZ로 연락주세요.
(링크를 마우스 오른쪽 버튼으로 클릭한 후 '다른 이름으로 링크 저장...'을 눌러 파일을 다운로드하세요.)
싱글 플레이어 | 멀티플레이어 | 기타 |
---|---|---|
세계 가져오기 및 내보내기 | 공용 클라이언트 및 서버 | 플러그인 개발 |
LAN 세계 | 서버 생성 - Bukkit | 컴파일 중 |
공용 LAN 릴레이 | 서버 만들기 - EaglercraftBungee | 리소스 팩 만들기 |
LAN 릴레이 생성 | 클라이언트 생성 | 기여 |
Eaglercraft번지 구성 | ||
역방향 프록시 만들기 - NGINX | ||
NGINX 구성 |
메인 메뉴에서 '싱글플레이어' 버튼을 누르기만 하면 일반 바닐라 마인크래프트를 만들고 언제든지 플레이할 수 있습니다.
세계는 브라우저의 로컬 저장소에 저장되며, EPK 파일로 내보내고 싱글 플레이어를 지원하는 다른 모든 Eaglercraft 사이트에서 다시 가져올 수 있습니다. 내보낸 세계를 완전히 다른 컴퓨터에 복사하거나 친구에게 보낸 다음 가져오고 모든 진행 상황을 저장한 상태로 계속 플레이할 수도 있습니다.
LAN 세계는 인터넷에 연결된 두 장치 사이에서 작동하며 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와 같은 디버그 정보를 볼 수 있습니다. 기본적으로 표시되지 않습니다. 모든 정보를 기록하면 릴레이가 초당 여러 번 ping될 때 성능이 저하되기 때문입니다. 그 인기에.
처음 실행 시 생성된 relayConfig.ini
파일을 편집하여 포트를 변경하고 속도 제한 등을 구성하고, relays.txt
편집하여 P2P LAN을 올바르게 설정하는 데 필요한 릴레이에 연결하는 클라이언트에 보고되는 STUN 및 TURN 릴레이 목록을 변경합니다. 브라우저의 세계 연결
origin-whitelist
구성 변수는 릴레이를 사용할 수 있는 사이트를 제한하는 데 사용되는 세미콜론( ;
)으로 구분된 도메인 목록입니다. 비워두면 모든 사이트가 허용됩니다. 오프라인 다운로드 클라이언트가 릴레이를 사용할 수 있도록 하려면 offline
추가하고, Origin:
헤더를 지정하지 않는 연결을 허용하려면 null
추가하세요. *
와일드카드로 사용하세요. 예: *.deev.is
"deev.is"로 끝나는 모든 도메인이 릴레이를 사용하도록 허용합니다.
바닐라 Minecraft와 같은 멀티플레이어 기능을 통해 일반 클라이언트처럼 일반 Minecraft 서버에 참여할 수 있습니다.
서버에는 주로 일반 1.5.2 Bukkit 서버 와 일반 Bungeecord 기능 외에 WebSocket 연결을 Bukkit이 이해할 수 있는 원시 TCP 연결로 변환하는 EaglercraftBungee 라는 Bungeecord 수정 버전 으로 구성된 여러 부분이 있습니다.
또한 자신만 의 클라이언트를 설정하여 기본 서버 목록, 리소스 팩 및 더 적은 부하로 인한 전반적으로 빠른 연결을 제어할 수 있습니다.
서버에 도메인을 사용하려는 경우 역방향 프록시를 설정하여 EaglercraftBungee 내에서 추가 기능을 활성화할 수 있습니다. 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
두 번 클릭합니다. 두 번째 터미널 창이 열려야 합니다java/bungee_command
로 이동합니다.java/bungee_command/plugins
에 배치하세요.번지코드에는 더 많은 구성이 있지만 이것이 설정되어야 합니다.
이제 서버가 준비되었습니다. 클라이언트를 방문하고 메인 메뉴에서 '멀티플레이어'로 이동하세요. 'Direct Connect'를 선택하고 127.0.0.1:25565
입력한 다음 'Join Server'를 누르십시오 . 연결이 허용되어야 합니다. 그렇지 않은 경우 두 터미널 창에서 오류가 있는지 확인하십시오.
설치하려면 stable-download/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를 볼 때 이미 기본값이 무엇인지 기반으로 설정 방법을 파악하는 것은 상당히 직관적이어야 합니다.
서버에 자동으로 연결되는 사이트 링크를 만들려면 URL에 ?server=
변수를 추가하세요(예: https://g.deev.is/eaglercraft/?server=127.0.0.1:25565). 플레이어가 사용자 이름과 스킨 설정을 마치면 자동으로 ws://127.0.0.1:25565/
에 가입합니다.
java/bungee_command/config.yml
에서 리스너 구성의 motd1:
태그를 편집하고 구성 파일이 있는 폴더에서 server-icon.png
교체하세요. 색상/형식 코드를 추가하려면 &
사용하세요. 서버 목록은 아이콘을 64x64 픽셀로 축소합니다.motd2:
를 추가하여 두 번째 줄을 정의할 수 있습니다.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'로 이동하여 모든 운영자가 사용자 이름에 모두 소문자('lax1dude')로만 조인할 수 있도록 한 다음 모든 op 사용자 이름을 소문자로 등록하세요.
음성 채팅을 비활성화하려면 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
자신만의 블랙리스트에 등록된 도메인을 추가하려면 번지코드 디렉터리에 origin_blacklist.txt
라는 파일을 만들고 정규식을 각 줄에 하나씩 입력하세요. 플레이어의 도메인을 보기 위한 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 Reset'을 입력하여 재설정합니다**
속도 제한이 가능하지만 역방향 프록시가 필요하며 속도 제한을 사용하도록 forward_ip
구성해야 합니다. 그렇지 않으면 기본적으로 비활성화됩니다.
ratelimit :
ip :
enable : true
period : 90
limit : 60
limit_lockout : 80
lockout_duration : 1200
exceptions : []
활성화 속도 제한 enable
period
및 limit
설정 요청 수 ( limit
)는 ( period
) 초 내에 이루어질 수 있습니다.
limit_lockout
및 lockout_duration
IP가 lockout_duration
초 동안 차단되기 전 ( period
)초 내에 수행할 수 있는 요청 수( limit_lockout
)를 설정합니다.
exceptions
속도 제한을 받아서는 안 되는 IP 주소 목록입니다. 127.0.0.1 및 192.168.*.* 등과 같은 로컬 IP는 기본적으로 예외로 설정됩니다.
번지코드 연결을 끊고 다른 번지코드에 다시 연결하도록 클라이언트에 신호를 보내려면 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
웹 브라우저를 열고 검색창에 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 플러그인처럼 플러그인을 개발하세요. 예를 보려면 EaglerMOTD를 참조하세요.
플러그인을 jar로 내보내고 EaglercraftBungee의 '/plugins' 디렉토리에 넣은 다음 'run.bat'를 클릭하여 플러그인을 테스트하세요.
net.md_5.bungee.api.event.WebsocketMOTDEvent : 클라이언트 또는 웹사이트가 MOTD를 요청할 때 트리거됩니다.
net.md_5.bungee.api.event.WebsocketQueryEvent : 클라이언트 또는 웹사이트가 쿼리를 요청할 때 트리거됩니다. 이는 사이트가 청취자에게 텍스트 WebSocket을 열고 단일 문자열 Accept:
패킷을 보낼 때 발생합니다. 통합 WebSocket 쿼리를 지원하는 서버 목록 사이트에 추가 사용자 정의 통계를 제공하는 데 사용할 수 있습니다.
Listener
클래스 에서 표준 BungeeCord @EventHandler
주석을 사용하여 이벤트 핸들러를 등록합니다.
웹용으로 컴파일하려면 Gradle 'teavm' 컴파일 대상을 실행하여 class.js 파일을 생성하세요.
LWJGL 런타임은 더 이상 지원되지 않으며 참조용으로만 포함됩니다.
run.bat
두 번 클릭합니다. 창에 Press any key to continue...
라는 메시지가 나타날 때까지 기다린 다음 닫습니다. 그런 다음 저장소의 ../javascript
로 이동하여 javascript/assets.epk
웹 사이트의 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/
에 있는 모든 항목에 대한 변경 사항을 커밋하지 마세요. 끌어오기 요청을 병합할 때 직접 다시 컴파일하겠습니다.
공개 서버 목록은 이미 공식 클라이언트에 추가되어 있습니다 ↩
현재 서버 목록을 재구축 중입니다. 일단 공식 클라이언트를 사용하세요 ↩