서버 코어 사이의 관계
이 문서에는 서버 코어 사이의 비교, 선택, 설정 이야기가 많이 나오므로, 서버 코어끼리 어떻게 다른지 먼저 정리해 두자.
여기서는 GitHub를 예로 든다. GitLab처럼 GitHub와 비슷한 사이트도 많다.
Fork란
섹션 제목: “Fork란”GitHub에서 Fork는 저장소를 복제하는 것이다. 저장소를 복제하면 원래 프로젝트에 영향을 주지 않고 마음껏 여러 변경을 시험해 볼 수 있다.
보통 Fork는 다른 사람의 프로젝트를 고치거나, 다른 사람의 프로젝트를 내 아이디어의 출발점으로 삼을 때 쓴다.
Minecraft 서버 코어에서 A가 B의 Fork라는 말은, A가 B의 여러 성질(호환성 등)을 유지하면서 어떤 부분(성능, 기능 등)에서 더 나은 모습을 보인다는 뜻이다.
플러그인 서버
섹션 제목: “플러그인 서버”Bukkit -> Spigot -> Paper가 대체로 서버 코어 발전의 흐름이다. Paper는 Bukkit과 Spigot용으로 만든 플러그인 대부분을 지원한다.
거의 모든 최신 서버 코어는 Paper를 기반으로 하며, 무엇에 중점을 두느냐에 따라 기능, 성능, 확장성 등 서로 다른 방향을 택한다.
Purfferfish: Paper 기반, 엔티티 성능 최적화에 집중한 Fork
Gale: Paper 기반, 여러 성능 최적화에 집중한 Fork
Leaves: Paper 기반, 바닐라 서버에서 망가진 특성을 되살리는 데 힘쓰는 Fork
Purpur: Paper 기반, 커스텀 설정과 기능에 집중한 Fork
Leaf: Paper 기반, 여러 성능 최적화에 집중한 Fork
모드 서버
섹션 제목: “모드 서버”Fabric과 Forge는 Minecraft에서 가장 많이 쓰이는 모드 로더 두 가지다. Fabric과 Forge 서버 양쪽에서 쓸 수 있다고 밝힌 모드도
보통은 .jar 파일을 로더별로 따로 배포하며, 서로 호환되지 않는다.
그러니 Forge용이라고 적힌 모드를 Fabric 서버에 넣어서 로드가 안 되는 일은 없도록 하자.
Forge / NeoForge
섹션 제목: “Forge / NeoForge”Forge는 비교적 오래된 모드 로더로, 설계상 역사적 짐이 좀 있지만 유명한 모드가 많이 Forge로 개발되었다.
NeoForge는 Forge의 Fork다. 원래 Forge 팀 내부의 오랜 갈등 끝에 새 팀이 꾸려지면서 생겼다.
LexManos를 제외한 기존 Forge 팀 전원이 NeoForge로 옮겼고, 그래서 Forge와 NeoForge는 완전히 같을 수 없게 되었다.
다만 Forge 개발자가 적은 비용으로 NeoForge로 옮겨 갈 수 있을 것으로 보인다.
Fabric
섹션 제목: “Fabric”Fabric은 비교적 새로운 모드 로더로, 더 가볍고 효율적으로 설계되었다. 성능은 대체로 더 좋지만, 콘텐츠 모드는 아직 Forge보다 적다.
Fabric에는 최적화 효과가 좋은 모드가 많으며, Sodium이 대표적이다.
하이브리드 서버
섹션 제목: “하이브리드 서버”초보자에게는 어려운 부분이다. 쉽게 말하면 다음과 같다.
Bukkit + Forge = Catserver
Paper(일부) + Forge = Mohist