마인크래프트/커스텀 모드 런처

마인크래프트 커스텀 런처 Helios Launcher (MRS Launcher) - 4

devppaka 2024. 8. 25. 22:59
반응형

이번에는 이미지와 기타 런처 코드들을 수정해보자.

 

 

1. 아이콘

간단하게 파일만 교체하면 된다.

 

MRSLauncher -> app -> assets -> images 폴더를 들어가면 두가지의 Icon 파일이 있고,

ico와 png 파일 확장자로 되어있는데

 

ico는 256x256으로 되어있고,

png는 1359x1359로 되어있다.

 

 

 

그렇다면

ico파일은 256x256으로 만들고,

png파일은 1:1 비율로 크기는 자유롭게 만들면 될 것 같다.

 

 

Figma로 뚝딱

 

대충만들고 치우자...

 

 

아무튼 그렇게 만든 아이콘을 ico 파일과 png 파일 두가지로 내보내고,

 

 

MRSLauncher -> app -> assets -> images 의 Icon 파일 두개와

MRSLauncher -> build 의 icon.png 파일을 바꿔주면 된다.

 

 

 

2. 배경 이미지

아이콘을 바꿔주는 것과 비슷하다.

MRSLauncher -> app -> assets -> images -> backgrounds 폴더로 들어가면

 

배경 사진들

 

이미지파일이 0.png 부터 7.png 까지 있는데

처음 이미지 이름은 무조건 0이어야하고,

다른 이미지 이름은 1씩 증가해야한다.

 

 

즉, 배경 이미지 3장이 있다고하면

0.png, 1.png, 2.png 이런식으로 만들어야한다.

 

만약에 1.png, 2.png, 3.png 또는

0.png, 4.png, 5.png 이런식으로

0이 시작이 아니거나, 중간 번호를 건너뛰어버리면 안된다는 이야기이다.

 

(직접해봤다)

 

 

 

나는 단일 이미지로 적용할 것이기 때문에

나머지 이미지는 지워주고 0.png만 추가해주겠다.

 

대충찍은 배경 사진

 

 

3. 테스트

Visual Studio Code로 MRS Launcher 폴더를 열고, 실행 및 디버그 메뉴에 들어가서

실행하기

 

실행 버튼을 눌러보자

 

 

 

내가 설정한 배경사진!

 

이렇게 좌측 상단에 자신이 설정한 아이콘하고, 배경이미지가 잘 적용이 되어있으면 된다.

 

배경이미지를 0만 넣은게 아니라 나머지 1.png 2.png 3.png를 넣었다면 실행할 때마다 랜덤하게 보여지니

계속 껏다켜보면서 잘 보이는지 테스트하면 된다.

 

 

4. 코드 수정

<package.json>

package.json 수정

 

name과 productName은 런처 이름을 직접 만들어서 넣어주고

version은 1.0.0으로 수정해주었다.

 

나머지 칸들은 비워놨는데 딱히 문제는 없어보인다...

package.json 수정 2

 

repository의 url도 비워놨다.

 

 

이렇게 적고

터미널이나 cmd열고

(cd 명령어 쳐서 MRSLauncher 경로로 들어간다음)

 

npm i를 치면

package-lock.json 도 자동으로 고쳐진다.

 

 

 

<electron-builder.yml>

electron-builder.yml 수정

 

appId, productName, artifactName, copyright를 수정하고

 

publish:

  provider: 'generic'

  url: 'http://127.0.0.1:9090/'

 

라고 따로 줄을 추가해서 적어준다.

 

위 publish의 url은 는 런처를 만들고 자동 업데이트를 확인할 주소를 작성하면 되는데,

나는 로컬호스트의 포트 9090으로 적어주었다.

 

만약에 따로 서버를 사용하고 있다면 그 서버 주소와 포트로 정해서 입력해주자.

 

electron-builder.yml 수정 2

 

artifactName, maintainer, vendor도 수정한다.

 

 

 

<dev-app-update.yml>

 

필요없을 것 같아서 지웠다.

 

 

 

<index.js>

index.js 수정

 

dev-app-update.yml을 지웠기 때문에,

해당 코드 줄 앞에 //를 붙여서 주석으로 만들어준다.

 

 

 

<app -> assets -> js -> scripts -> uicore.js>

uicore.js 수정

 

electron-builder.yml에 수정했던 정보를 토대로 업데이트 받을 주소를 수정한다.

 

 

 

<app -> assets -> js -> scripts -> settings.js>

settings.js 수정

 

업데이트의 릴리즈 노트를 가져오는 주소를 설정하는 곳인데,

나는 Github Releases를 사용하지 않기 때문에, url칸을 비워놓았다.

 

 

 

<app -> assets -> js -> configmanager.js>

configmanager.js 수정

 

런처의 데이터를 저장할 폴더를 지정하는 것인데,

.minecraft, .mrslauncher, .helioslauncher 처럼 경로를 정해주었다.

 

 

 

<app -> assets -> js -> processbuilder.js>

processbuilder.js 수정
processbuilder.js 수정 2
processbuilder.js 수정 3

 

MRSLauncher로 되어있는 것들을 그냥 내 런처 이름으로 바꿔놨다.

 

 

 

<app -> assets -> lang -> _custom.toml>

_custom.toml 수정

 

링크가 있으면 편하게 추가해주고

(나는 없어서 #으로 넣었다)

 

welcome은 런처를 처음 실행했을 때 나타나는 화면인데,

어떤 문구를 보여줄지 잘 생각해보고 적어보자

 

 

 

<app -> assets -> lang -> ko_KR.toml>

ko_KR.toml 수정

 

joined는 마인크래프트를 켰을 때 상태에 따라서

디스코드에 표시해주는 문구를 작성해주면 된다.

 

그리고 launchWrapperNotDownloaded는 다음과 같이 수정했다.

 

launchWrapperNotDownloaded = "게임 실행을 위한 메인 파일(LaunchWrapper)을 다운로드할 수 없습니다.<br><br>문제 해결을 위해 임시로 안티바이러스 프로그램을 비활성화한 뒤 게임을 다시 실행해 보세요.<br><br>만약 이 문제가 계속된다면, 런처 개발자에게 사용 중인 안티바이러스 프로그램과 함께 문제를 제보해 주세요."

 

 

5. 마지막 테스트

다 했으면 

VSCode에서 F5 눌러서 테스트해보자.

 

런처의 데이터 폴더 경로를 수정했기 때문에 초기상태로 되돌아갔을 것이다.

 

만약 실행시켰는데 오류가 발생하면 distribution.json을 올려둔 서버가 잘 열려있는지 확인해보자.

초기에 서버 데이터를 불러오지 못하면 오류가 발생하도록 되어있는것 같다.

 

버전 1.0.0!

 

버전하고 런처 이름이 잘 보이면 성공이다!

 

 

다음에는 서버의 메타데이터를 정의하고 디스코드 관련 설정과 RSS 경로를 지정해보자.

반응형