반갑다! 다이슨 스피어 프로그램을 Nebula 모드와 함께 친구들과 재밌게 즐기고 있는 사람이야

나 말고도 이 겜을 하면서 모드로 멀티를 즐기는 사람이 꽤 많을거라고 생각하는데


Nebula 모드로 서버를 열게되면 호스트를 잡고있는 사람이 계속 게임을 켜둬야하는 번거로움이 있잖아?


그래서 Nebula 데디케이티드 서버 구동 방법이 있나 해서 깃허브좀 뒤져봤는데 영문 가이드가 있더라


하지만 한글로된 가이드가 없기에 내가 작성할께


순서대로 하면 문제는 없을거야









▶ 유의 사항


1. 가이드의 가독성이 핸드폰에서도 좋을지 모르겠음

2. 정확히 말하면 데디케이티드가 아니라 헤드리스 서버임

3. 이 가이드는 '서버 어떻게 엶?' 이 아니라 '어떻게 데디서버를 엶?'을 서술함

4. Steam 과 R2Modman을 사용하는 유저에게만 해당되는 가이드임

5. 가이드에서 설명하는 방식대로 서버를 여는 컴퓨터에서는 게임을 플레이 못함 (같이하고 싶으면 원래 방식대로 호스트 잡고 게임시작)

6. 가이드의 내용은 여기에서 알려주는 대로 설명했음






기본적인 스팀 설정


아마 이 부분은 다들 신경 안 써도 될텐데 해당될 수도 있으니 읽어봐


서버를 켤 컴퓨터게임을 할 컴퓨터 2개의 컴퓨터에서 하나의 스팀 계정을 사용할 것이기 때문에


서버를 구동시킬 컴퓨터의 스팀이 오프라인 모드를 사용할 수 있어야만 해


헤드리스 서버라고 하더라도 다이슨 스피어 프로그램(이하 DSP)이 자체적으로 멀티를 지원하는게 아니고


게임 자체를 실행시킨 다음 Nebula 모드를 통해 헤드리스 서버를 여는 거라 게임을 소유하고 있는 스팀 계정이 필요하거든


어떤 방법이던 DSP가 있는 스팀 계정만 있으면 돼. DSP를 하나 사던 가족공유로 받던 뭐든지 간 상관없는데


이 파트에서 서술할건 게임을 추가 구매하지 않고 서버 컴퓨터와 게임 컴퓨터에서 DSP를 같이 실행시킬 수 있는 제일 쉬운 방법이야



스팀 좌상단의 스팀 메뉴를 클릭했을 때 '오프라인으로 전환...' 버튼이 활성화 돼있으면 지금 이 항목은 신경 안 써도 된다.


만약 저게 없거나 안되는 경우는


서버측 컴퓨터의 스팀을 로그아웃 한 다음에 다시 로그인을 하면서 '로그인 정보 저장' << 이거 활성화한 상태로 로그인 하고



스팀 설정에서 사진에 시뻘건 색으로 강조한 부분이 체크 해제돼 있는지 확인해봐


그래도 오프라인으로 전환하는 버튼이 없다면 여기 사이트를 참조하길 바란다.






▶ 스팀 App ID 파일 만들기


먼저 스팀의 다이스 스피어 프로그램을 우클릭해 '로컬 파일 보기'로 DSP가 위치한 폴더를 열어보자


폴더가 열리면 'DSPGAME.exe' 가 보일텐데 저게 위치한 폴더에 'steam_appid.txt' 라는 텍스트 파일을 하나 만들고


텍스트 파일 안에 '1366540' 엔터누르지 말고 따옴표 빼고 딱 저 숫자만 적고 저장해



이렇게 넣었으면 이 단계도 끝






BepInEx 설정


BeplnEx는 유니티 기반 게임에 사용자가 원하는 코드를 삽입해서 게임이랑 같이 돌아가게 해주는 프레임워크야


그래서 어지간한 모드를 사용하게 된다면 BeplnEx 모드가 종속으로 같이 설치됐을텐데


Nebula 멀티 모드를 사용했다면 무조건 설치돼 있을꺼임


우리는 서버를 헤드리스 즉, 게임화면(GUI)이 없이 최소한으로 구동할 것이기 때문에 BeplnEx 콘솔창을 켜줘야해


기본값은 꺼져있는 상태거든


R2Modman이 기본 경로로 설치됐다는 가정하에


'C:\Users\컴퓨터ID\AppData\Roaming\r2modmanPlus-local\DysonSphereProgram\profiles\Default\BepInEx\config'


위의 경로로 들어가보면



이렇게 많은 파일들이 있을텐데 여기서 'BepInEx.cfg' 파일을 찾아서 열어


그리고선 48번째 줄의 'Enabled = false' 를 'Enabled = true'로 바꿔주고 저장해주자






모드 매니저 설정 (R2Modman)


서버측 컴퓨터의 R2Modman 을 키고 게임 DSP를 선택, 너가 플레이했던 모드 프로필을 들어가서


아래 사진과 같이 SettingsDebugging Set launch parameters 버튼을 클릭해


그럼 아래와 같은 창이 표출됨



저기서 아래의 Enter parameters 라고 돼있는 입력칸에 아래 글상자 속 내용을 입력해


-batchmode -nographics -server -load <세이브파일이름>


당연히 세이브파일이름 에는 너가 플레이하던 세이브파일 이름을 넣어줘야겠지?


예를들어 세이브 파일 이름이 'Test Multiplay' 면


-batchmode -nographics -server -load "Test Multiplay"


세이브 파일 이름이 'DSPMultiplay' 면


-batchmode -nographics -server -load DSPMultiplay


이런식으로 말이지


여기에서 입력하는 파라메터 값들을 통해서 서버의 구동 방식을 설정해 줄 수 있는데


파라메터의 종류는 아래 표와 같음


-batchmode

유니티 헤드리스 모드에서 실행시킴

-nographics

유니티가 그래픽카드를 안쓰게 함

-logFile <폴더경로>

유니티 로그를 남길 폴더를 지정함

-server

Nebula 전용 헤드리스 서버 모드로 실행함

-load <세이브이름>

로드할 세이브파일을 지정함

-load-latest

마지막으로 한 게임의 자동저장 내용을 로드함

-newgame <시드> <별갯수> <자원배율>

새로운 게임을 시작함


입력 다 했으면 아래의 Update launch parameters 를 누르고 나가서


R2Modman의 Start Moded 버튼 누르면 DSP가 켜지지 않고 DSP Nebula 서버를 구동하기 시작한 BeplnEx 콘솔창이 보일꺼야



이런 창이 켜지면 정상적으로 열리고 있다는거고


좀 기다리다가



이런식으로 게임 로드가 완료됐다고 나오면 서버가 정상적으로 열린거임


나중에 서버를 종료하고 싶다면 저 BeplnEx 콘솔에 대고 Ctrl + C 키를 눌러서 종료하면 돼







이렇게까지 서버를 열어서 할 사람이 있는가 싶지만 적어도 나한테는 이 방법으로 서버를 열어야 했고


나같은 사람이 또 있을까봐서 적어봤다


이해안되거나 병신같이 설명된 부분 있음 얘기해줘 수정하거나 답변해드림




+ 추가로 인게임에서 사용할 수 있는 명령어를 활성화할 수 있다고 하는데

https://github.com/NebulaModTeam/nebula/wiki/Setup-Headless-Server#config-options


방법이 적힌 링크만 올려둠 ㅎㅎ..

나중에 시간나면 업데이트 하던가 할께