Skip to main content Link Search Menu Expand Document (external link)

시작하기

RustyDO를 이용해서 디지몬 온라인 v1.5 서버 구축하는 방법을 설명합니다.

목차

  1. 설치하기
    1. RustyDO 컴파일하기
    2. 설정 파일 옮기기
    3. RustyDO 실행하기
  2. 게임 플레이하기
  3. Q&A

설치하기

이 섹션에서는 RustyDO를 설치하고 실행하는 방법을 설명합니다.

RustyDO 컴파일하기

먼저, 프로젝트의 소스 코드를 다운받습니다 (link).

또는, Git (link)가 설치되어 있다면 Git를 이용해도 됩니다:

git clone https://github.com/jidoc01/RustyDO

압축되어 있다면 압축을 해제합니다. 그리고 소스 코드에서 최상위 디렉토리로 갑니다. 러스트 언어 컴파일러인 Cargo를 이용해서 소스 코드를 컴파일합니다:

cargo build --release

Cargo는 러스트 공식 사이트에서 다운받아 설치할 수 있습니다 (link).

끝입니다! 이제 RustyDO/target/release/server.*의 위치를 보면 실행 파일이 생성되어 있습니다.

설정 파일 옮기기

소스 코드의 최상위 디렉토리에서 config.toml 파일을 찾습니다. 찾았다면, 위에서 생성한 실행 파일과 같은 디렉토리로 복사합니다.

RustyDO 실행하기

생성된 실행 파일을 실행합니다. 이제 디지몬 온라인 v1.5 서버가 시작됩니다.

게임 플레이하기

서버 운영하는데 도움이 되는 내용은 다루지 않습니다. 이 프로젝트는 서버 로직을 개발하는데 중점을 둘 뿐, 서버를 운영하는 방법을 공유하지 않습니다. 국내법상 사설 서버 운영은 특수한 경우를 제외하고는 이유를 막론하고 엄격히 금지되어 있음을 이해해 주세요: 게임산업진흥에 관한 법률 제32조 (게임산업법)

Q&A

  1. ~는 어떻게 설치해요? / IP 주소는 어떻게 확인해요? / 명령은 어떻게 입력해요? / 레지스트리는 어떻게 수정해요?
    • 본 문서에서는 서버 관련한 설명만 합니다.
    • 이외의 사항은 게임산업법 상 설명할 수 없습니다.
  2. ~ 구현해주세요.
    • 깃헙 레포에는 issue 란이 있습니다.
    • 먼저 중복된 안건인지 확인한 뒤, 새로운 안건이라면 제안하셔도 좋습니다.
    • 한글도 괜찮습니다. 단, 한글과 영어를 혼용하지는 말아주세요.
    • 논의가 불필요한 안건으로 판단된다면 먼저 PR을 올려주셔도 좋습니다. 단, PR 작성 시에는 다음의 사항을 지켜 주세요:
      • 기본적인 PR 에티켓을 습득해 주세요.
      • 항상 어떤 기능을 도입하고자 할 때는 구체적인 이유나 근거를 함께 제시해 주세요.
      • 사적인 테스팅 용도의 코드는 커밋 시 필터링해 주세요.
      • 논의가 된 사항을 수정할 때는, 먼저 의논을 마친 뒤 커밋해 주세요. 또한 말없이 force push 하지 말아 주세요.
      • 다함께 작업하는 공간임을 잊지 말아 주세요.
  3. 동글몬 / 포탄 워프 / 아이템 드롭 구현 관련하여
    • 해당 구현을 위해 필요한 정보는 다음과 같습니다: ~의 드랍 위치, 드랍 빈도, 등.
    • 이 프로젝트 목표는 당장에 무언가를 만들어내는 게 아니라, 당시 2002년의 서버를 재현하는 것입니다.
    • 해당 사안들은 서로 간 충분한 논의가 진행된 뒤 정보가 구체화되면 구현에 들어갈 계획입니다.
    • 더불어 이와 관련해 의견이 있는 분들은 함께 의견 나눠주신다면, 프로젝트에 큰 도움이 될 것 같습니다.
  4. 서버 운영하고 있나요?
    • 이 프로젝트는 서버 구현이 목표입니다. 서버를 운영하지도, 앞으로 그럴 계획도 없습니다.
    • 커뮤니티나 유튜브 등지에서 사칭하는 경우가 있는데, 저는 그 누구도 직접적으로 도움을 준 적이 없습니다. 테스트 영상도 Jung Hyun Kim 계정으로 올린 게 전부입니다.
    • 국내법상 서버 운영은 중대한 범죄가 될 수 있습니다.
    • 서버 운영 시 발생할 문제에 대해 저는 책임지지 않습니다.