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

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

devppaka 2024. 8. 21. 04:13
반응형

저번에는 MRS Launcher의 클라이언트 부분을 수정하기 위해 필요한 것들을 설치했고,

이번에는 서버에서 제공해야하는 데이터를 만든다고 생각하면 좋을 것 같다.

 

 

https://github.com/dscalzi/Nebula

 

GitHub - dscalzi/Nebula: 🌠 Utility package to generate a distribution.json for Helios.

🌠 Utility package to generate a distribution.json for Helios. - dscalzi/Nebula

github.com

 

Nebula는 Helios Launcher에게 제공해줘야하는 데이터를 자동으로 만들어주는 도구이다.

 

 

서버 주소, 아이콘, 모드 정보, 게임 정보 등을 전달해줘야하는데

손으로 모드 100개 있는걸 모두 타자치면서 한다고하면 바로 관둘것이다.

 

아무튼 위 도구를 다운받으면 된다.

 

 

1. Nebula 도구 내려받기

cmd를 열고 마찬가지로 원하는 폴더에 이동(cd 명령어)을 하고

 

git clone https://github.com/dscalzi/Nebula.git

cd Nebula

npm i

 

cmd에 입력

 

이제 나머지는 윈도우 파일탐색기로 열어서 한다.

 

그리고 메모장을 열고

(참고로 이 내용은 모두 다음 링크에 있다: https://github.com/dscalzi/Nebula?tab=readme-ov-file#setup)

 

JAVA_EXECUTABLE=java.exe 경로

ROOT=서버 데이터들을 보관해둘 폴더 경로

BASE_URL=클라이언트에게 서버 데이터를 보내줄 수 있는 주소

HELIOS_DATA_FOLDER=C:\Users\사용자이름\AppData\Roaming\Helios Launcher

 

(JAVA_EXECUTABLE는 java.exe 경로를 적어줘야한다고 했는데, 아무 버전이나 되는게 아니고 Java 8 이상만 된다,

그러니까 Java가 없었거나 Java 7만 가지고 있는 사람이라면 새로 자바를 다운받자...

그리고 JDK나 JRE를 구분하지는 않는것 같다.)

 

 

아무튼 자기 환경에 맞도록 내용을 채워주자

 

 

나는

JAVA_EXECUTABLE=D:\Nebula\jdk\bin\java.exe

ROOT=D:\TestRoot2

BASE_URL=http://localhost:8080/

HELIOS_DATA_FOLDER=C:\Users\user\AppData\Roaming\Helios Launcher

 

이렇게 적어줬다.

이름은 .env로 정하고 Nebula 폴더 안에 저장한다.

 

 

2. Nebula 사용하기

cmd 열고 Nebula 폴더로 이동한다.

(cd 명령어로)

 

 

이제 다음 명령어를 입력해보자.

npm run start -- init root

 

cmd에 입력

 

(cmd는 자주 사용할거니까 닫지말자)

 

이제 서버 데이터를 생성하면 되는건데,

요즘에는 curseforge를 많이 사용한다고 들었다.

그래서 모드 하나씩 넣는 것보다 자동으로 모드파일을 채워주는 걸 더 좋아할거같으니...

 

curseforge 모드 프로필을 받아서 사용하는 방법으로 진행하겠다.

(프로필에는 forge 또는 fabric 둘 중 하나의 모드로더를 지원하는 모드들로 이루어있는지 확인해야한다.

forge를 지원하는 모드와 fabric을 지원하는 모드를 같이 사용하는 것은 불가능하다는 이야기이다.)

 

curseforge 프로필

 

요런식으로 프로필이 zip 파일로 있을 것이다.

 

 

이 파일을 가지고

위에서 .env 파일을 만들때 선언했던 ROOT라는 경로를 따라 탐색기로 연다.

그리고 modpacks 폴더 안에 있는 curseforge 폴더를 열어보자

 

여기에 curseforge 프로필 zip 파일을 넣는다.

 

 

 

여기서 주의해야할 점이 있다.

위에 남긴 스크린샷에서 파일명이

Parasite S32.zip으로 중간에 공백이 있는데

 

공백을 지워주거나, 다른 문자(+)로 바꿔주자.

이름 바꾸기

 

이런식으로 바꿔주고, 이제 바꿔준 파일이름으로 명령어를 입력하면 된다.

 

 

npm run start -- generate server-curseforge <id> <zipFile>

여기에서 <id>에는 자기 서버의 고유한 이름을 만들어서 작성하고,

<zipFile>에는 방금 수정한 프로필 zip 파일 이름을 넣어준다.

 

 

나는 이렇게 적었다.

npm run start -- generate server-curseforge Parasite Parasite+S32.zip

 

진행 결과

 

이렇게 진행될 것이다.

 

그런데 진행하다보면 문제는 아니고 경고가 하나씩 나올 수 있다.

 

경고

 

해당 모드가 curseforge API를 통해서 서드파티 다운로드를 막았다라는 건데,

쉽게 설명하면 이 모드는 수동으로 다운받아줘야한다는 말이다.

 

 

일단 경고가 나왔다고 좌절하지말고 작업이 다 될때까지 기다려보자.

 

오류

 

작업이 다 끝나면 [에러] 여러줄이 쫙 뜬다.

 

아래 초록색 링크를 따라 들어가서 파일을 다운받고 직접 추가해달라는 이야기이다.

직접 구글링해서 모드파일 찾는것보다 이런식으로 링크를 찾아줘서 정말 다행이다.

 

 

나는 터미널 앱에서 cmd를 돌리는 중이라 컨트롤+마우스 좌클릭 하면 링크가 열리는데

윈도우10은 잘 몰?루

 

 

 

 

 

다 다운받았으면 좀 전에 만들었던 ROOT 폴더를 열고

servers -> 자신의 서버id-마크버전 -> forgemods -> required 폴더를 연다

여기에 직접 다운받은 모드를 넣자

 

이제 다음 명령어를 입력한다.

npm run start -- generate distro

 

명령어를 입력하고 나타난 포지 인스톨러

 

그러면 Forge 모드로더 설치화면이 뜨는데, cmd에 [ IMPORTANT ] 아래 적힌 내용을 같이 봐야한다.

"설치기가 나타나면 클라이언트 설치 경로를 다음과 같이 설정해주세요" 라는 말인데,

바로 밑에 경로가 나타난다.

 

나는 D:\TestRoot2\cache\forge\1.20.1-47.3.0 라고 뜬다.

 

... 버튼

 

설치화면을 보면 기본값으로 자신의 마인크래프트 경로가 적혀있는 칸이 있는데

... 버튼을 눌러서 위에 경로를 따라서 폴더를 찾아주고

Open 버튼을 눌러 열어준다.

 

경로 지정 완료

 

그러면 이렇게 설정이 되고 OK를 눌러서 설치한다.

 

 

 

설치기에서 다 되었다는 메세지가 나오면 확인버튼을 눌러 닫아준다.

그리고 cmd에서 나머지 작업을 계속 진행할 것이고,

 

 

다 되었다면 자기가 정한 ROOT 폴더로 가보자

거기에 distribution.json 파일이 있으면 성공이다.

 

 

이제 MRS Launcher를 수정하기만 하면 된다.

 

 

또 오류...

 

npm run start -- generate distro 를 입력하고 Forge 설치 후 cmd 창을 보면

 

Claritas failed to yield metadata for ForgeMod <모드이름>

Is this mod malformatted or does Claritas need an update?

라는 오류가 나타나는데, 일단은 무시해보자

 

Claritas는 Helios Launcher의 개발자가 만든 도구인데

모드의 메타데이터를 바이트코드에서 가져온다고 한다.

 

아마 오류가 나타나는 문제는 메타데이터를 추출하다가 문제가 생긴거 같은데...

무시해도 괜찮을 것 같으니 일단은 넘어가자!

에라 모르겠다

반응형