81 lines
2.1 KiB
Markdown
81 lines
2.1 KiB
Markdown
# Minecraft Launcher
|
|
|
|
Electron 기반 커스텀 마인크래프트 런처입니다. `MRSLauncher`를 최신 소스로 가져온 뒤, 설치 페이지 + 라이브러리 구조와 관리자 사이트를 붙였습니다.
|
|
|
|
## 현재 구조
|
|
|
|
- 프로필은 `맵`을 기본으로 두고 `모드`, `플러그인`, `서버` 기능을 조합합니다.
|
|
- 설치 페이지는 관리자 등록 프로필을 읽기 전용으로 보여줍니다.
|
|
- 라이브러리에서는 프로필 설치, 선택, 제거만 하고, 서버 프로필은 접속 주소를 직접 입력할 수 있습니다.
|
|
- `PLAY`를 누르면:
|
|
- 서버 기능이 없는 프로필은 맵을 싱글플레이로 실행
|
|
- 서버 기능이 있고 접속 주소가 있으면 해당 주소로 접속
|
|
- 서버 기능이 있고 접속 주소가 없으면 로컬 서버를 먼저 실행한 뒤 `localhost`로 접속
|
|
- 메인 화면 왼쪽 아래는 선택된 서버 프로필의 자동 포트 개방 상태를 표시합니다.
|
|
|
|
## 자동 포트 개방
|
|
|
|
- 현재 구현은 `UPnP + Windows 방화벽` 기준입니다.
|
|
- 성공하면 자동 개방 상태를 표시합니다.
|
|
- 이미 열려 있으면 기존 포트를 그대로 사용합니다.
|
|
- 실패하면 `직접 포트포워딩 해주세요` 안내를 표시합니다.
|
|
- 접속 주소를 직접 입력한 경우에는 자동 포트 개방을 건너뜁니다.
|
|
|
|
## 관리자 사이트
|
|
|
|
```bash
|
|
npm run admin
|
|
```
|
|
|
|
- 기본 주소: `http://127.0.0.1:8787`
|
|
- `distribution.json` 업로드 / 새로 만들기 / 직접 편집 가능
|
|
- 월드 ZIP 업로드 가능
|
|
- 서버용 버킷 JAR 업로드 가능
|
|
- 서버 메모리, 최대 인원수, 화이트리스트, 포트 설정 가능
|
|
|
|
문서:
|
|
|
|
- [docs/admin-site.md](docs/admin-site.md)
|
|
- [docs/launcher-catalog.md](docs/launcher-catalog.md)
|
|
|
|
## 개발
|
|
|
|
요구사항:
|
|
|
|
- Node.js 22
|
|
|
|
설치:
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
개발 실행:
|
|
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
윈도우 smoke 테스트:
|
|
|
|
```bash
|
|
npm run smoke:win
|
|
```
|
|
|
|
TypeScript 메인 프로세스만 빌드:
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
배포 빌드:
|
|
|
|
```bash
|
|
npm run dist:win
|
|
```
|
|
|
|
## 참고
|
|
|
|
- Upstream: `https://github.com/peunsu/MRSLauncher`
|
|
- Original base: `https://github.com/dscalzi/HeliosLauncher`
|