소스 코드
1. Helios Launcher : https://github.com/dscalzi/HeliosLauncher
GitHub - dscalzi/HeliosLauncher: ☀ Custom launcher for modded minecraft written in Electron and Node.js
☀ Custom launcher for modded minecraft written in Electron and Node.js - dscalzi/HeliosLauncher
github.com
2. Nebula : 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
1. 필요한 프로그램 및 툴 설치
1. Node.JS
Node.js는 간단하게 말해 자바스크립트 런타임입니다
강좌에 사용한 버전은 v20.16.0 입니다
2. VSC
VSC는 오픈소스로 공개된 편집 프로그램입니다
3. GIT
git은 버전관리 도구입니다, 소스코드를 가져오거나 코드를 github에 올릴떄 사용할 예정입니다
1. Nebula 설정 및 배포
시작하기에 앞서서 github 계정이 이번 강좌에서 필요하니, https://github.com/signup에 접속하여 계정을 생성하시고 강좌를 듣는것을 강력 권장합니다
Nebula 소스코드를 Clone을 할겁니다. 소스코드 파일이 생겼으면 하는 위치에서 우클릭을 하고 'open git Bash here'을 눌러 줍니다. 그리고 아래 명령어를 입력해주세요
git clone https://github.com/dscalzi/Nebula.git

위 사진과 같이 메세지가 떴으면 해당 위치에 Nebula라는 파일이 떴으면 성공한겁니다!
그러면 이제 VSC로 파일을 열어줄겁니다. VSC를 실행후, File -> Open Folder를 눌러 Nebula 폴더를 열어줍니다
성공적으로 열렸다면 설정을 해줄 차례입니다. 아래의 명령어를 터미널에서 입력할겁니다
상단에 Terminal -> New Terminal를 누르면 하단에 터미널이 하나 뜰겁니다. 그러면 아래와 같이 입력해줍니다
npm i
기다려 주면 완료가 됩니다. 그다음 .env라는 파일을 하나 생성해줍니다

그리고 .env 파일의 내용을 아래와 같이 입력해줍니다
JAVA_EXECUTABLE=C:\Program Files\Java\jdk-17\bin\java.exe
ROOT=루트 파일 위치
BASE_URL=FTP서버 링크
HELIOS_DATA_FOLDER=C:\Users\user\AppData\Roaming\Helios Launcher
(JDK 17 설치되있으면 구지 안바꿔도 됩니다)
1. 루트 파일 위치
이번에는 폴더를 하나 생성할겁니다, 저는 workspace라는 폴더를 생성했습니다
그다음 콘솔에서 두 명령어를 입력했습니다
cd workspace
pwd
이렇게하면 이 폴더에 경로가 뜹니다. 해당 경로를 '루트 파일 위치'에 적으면 됩니다

2. FTP 서버 설정
아마 대부분의 사람들이 FTP 서버를 가지고 있는 경우는 드물죠?
이번에 github에서 제공하는 gitbook이라는 서비스를 활용하여 배포할 예정입니다. 잘 따라와주세요
이미 회원가입 및 로그인이 완료된 상황이라는 설정하에 진행하도록 하겠습니다
새 Repositry 생성 해당 링크에 들어가면 아래와 같은 모습일 겁니다.

그냥 아무것도 신경쓰지말고, Repositary name에 FTP나 원하는 이름을 적고 아래에 Add a REDADME file을 눌렂주세요
저는 테스트 이므로 test라고 이름을 적었습니다
성공적으로 생성이 됐으면 아래와 같은 환경이 보일겁니다

이렇게 됐으면 배포를 위해서 Add file를 눌르고 Create New File를 눌릅니다
그리고 Name your file이라고 적힌곳에 index.html이라고 적고 내용은 원하는대로 적어주시면 됩니다
마지막으로 아래와 같은 버튼을 눌러주세요

성공적으로 파일이 생성이 됐다면 아래와 같이 파일 두개가 생겼을 겁니다

완벽합니다, 마지막으로 배포만 해주면 됩니다
Settings -> Pages에 들어가 줍니다

이러한 화면이 보일텐데 당황하지 말고 아래와 같이 설정하고 Save를 눌러줍니다

조금 기다리면 아래와 같은 창이 뜰겁니다(안뜨면 기다렸다가 새로고침하세요)

Your site is live at '주소' 가 나올텐데 주소를 복사하여 다시 개발환경에 돌아와서 FTP 서버 링크에 적어줍니다
이제 아래와 같은 명령어를 입력하여 root 세팅을 해줍니다
npm start -- init root
그러면 Root 파일안에 파일이 생겼을 겁니다

그러면 성공적으로 생성이 된겁니다
마지막으로 서버를 생성해야합니다, 아래와 같은 명령어를 입력해주세요
npm start -- generate server <서버 이름> <버전> --<forge or fabric> <모드 로더 버전>
예를 들어 이렇게 설정하시면 됩니다
npm start -- generate server 세찐찐서버 1.19.2 --fabric 0.14.19
실행하고 기다리면 서버 파일 안에 서버 파일이 생겼을겁니다

이제 로더에서 필요한 모드를 제외한 파일은 files에 넣어주시고(폴더 전체를 넣어줘야함, 예를 들어서 resourepack 폴더를 files안에 집어넣으면 되는거임)
포지로 했으면 forgemods이고 패브릭이면 사진과 같이 fabricmods일겁니다 그러면 그 폴더를 열면 required, optionalon, optionaloff
그 폴더들 안에 넣으면 되는데 required는 필수모드(유저가 모드를 끌수 없음),
optionalon은 끄거나 킬수있고 기본적으로 켜져있음, optionaloff는 이와 반대로 꺼져있습니다
폴더안에 넣을때 모드 확장자는 항상 .jar입니다
마지막으로 서버 내용 설정을 할겁니다
{
"$schema": "file:///C:/Users/Administrator/Documents/Project/develop-class/Nebula/workspace/schemas/ServerMetaSchema.schema.json",
"meta": {
"version": "1.0.0",
"name": "세찐찐서버",
"description": "세찐찐서버 설명~~",
"icon": "아이콘 url",
"address": "survive.sejinjin.me",
"discord": {
"shortId": "<FILL IN OR REMOVE DISCORD OBJECT>",
"largeImageText": "<FILL IN OR REMOVE DISCORD OBJECT>",
"largeImageKey": "<FILL IN OR REMOVE DISCORD OBJECT>"
},
"mainServer": true
"autoconnect": true
},
"fabric": {
"version": "0.14.19"
},
"untrackedFiles": []
}
참고해서 하시면 될것 같습니다, 구지 자세한 설명은 하지 않겠습니다
모든 설정이 완료됐다면, 터미널에서 아래와 같은 명령어를 입력해줍니다
npm start -- generate distro
이제 다 완료됐습니다. 이제 root 폴더로 지정한 위치에 있는 모든 파일을 아까전에 만든 서버에 올려줄겁니다
다시 세팅에서 나와 Code 탭으로 이동해주고, 아래 사진과 같은 탭을 열어 +버튼을 누릅니다

그러면 익숙한 VSC 환경이 보일겁니다
그러면 Root 폴더안에 있는 모든 파일을 아래와 같이 옮겨줍니다

모든 파일이 추가됐으면 아래사진과 같은 아이콘을 클릭해줍니다

그러면 아래와 같은것이 있을겁니다

그러면 Message에 아무 말이나 적고 Commit을 눌러줍니다. 그리고 Yes를 눌러줍니다

위와 같은 버튼을 누르면 성공!!