서버 네트워크와 자체 프록시
Millida에서 여러 Minecraft 서버로 네트워크를 구축하는 방법: 클릭 한 번으로 Velocity 또는 BungeeCord, 메모리 할당, 그리고 다른 사람의 프록시에 연결하기를 다뤄요.
업데이트 2026년 8월 13일
네트워크는 플레이어가 하나의 주소로 접속해 재접속 없이 여러 서버(로비, 서바이벌, 미니게임)를 이동하는 구조예요. 바깥에서는 하나의 주소지만, 안쪽에서는 프록시 뒤에 여러 서버가 있어요.
네트워크 설정하기
"주소 및 네트워크" 섹션 → 네트워크를 활성화하세요. 제어판이 프록시를 띄우고 서버들을 자동으로 연결해요: 포워딩 시크릿, 백엔드의 online-mode, 닫힌 포트까지 모두 올바르게 설정돼 있어요. 이 파일들을 직접 편집할 필요는 없어요.
직접 선택하는 항목:
- 구성 — 네트워크에 포함할 서버를 고릅니다.
- 프록시 코어 — Velocity(기본, 현대적이고 빠름) 또는 BungeeCord(그 아래에서만 작동하는 오래된 플러그인이 필요할 때).
- 메모리 — 네트워크의 서버들에 분배합니다. 네트워크 진입점 자체는 약간의 예비분을 유지하며 요금제에 포함되지 않아요.
프록시 코어를 바꾸면 포워딩 형식이 바뀌어요 — 예전 설정을 가진 서버는 플레이어를 받지 못하므로, 제어판이 프록시와 함께 서버들도 다시 구성해요.
구성을 만드는 두 가지 방법
요금제 안에서 월드 생성하기. 네트워크 섹션의 "생성" 버튼을 누르세요. 이런 월드는 별도로 결제되지 않아요: 생성된 서버의 메모리와 코어에서 동작하며, 메모리 한도는 직접 지정해요.
이미 구매한 서버 연결하기. 요금제가 여러 개라면 각각 그대로 네트워크에 연결돼요: "이미 구매한 서버를 네트워크에 연결" → "연결". 서버는 자체 요금제, 자체 메모리, 자체 월드, 자체 구독을 유지해요 — 바뀌는 건 진입점뿐이에요: 플레이어는 네트워크 주소로 접속하고, 서버 자체 주소는 더 이상 직접 연결을 받지 않아요(포워딩이 이렇게 동작해요. 그렇지 않으면 프록시를 우회해 아무 닉네임으로나 접속할 수 있으니까요).
여기서 메모리는 각 유료 요금제별로 따로 계산돼요: 옆 서버의 기가바이트를 이 서버에서 쓸 수 없고, 아무도 그것들을 합치지 않아요. 네트워크 섹션에서 각 요금제는 자체 막대를 가져요.
연결과 연결 해제는 서버를 재시작해요 — 그렇지 않으면 새 진입 설정이 서버에 전달되지 않아요. 언제든 "네트워크에서 연결 해제" 버튼으로 서버를 네트워크에서 분리할 수 있어요: 서버는 자체 주소로 돌아가요. 해당 요금제 안에서 생성한 월드도 함께 따라가요.
서버들이 서로 다른 리전에 있다면 연결은 가능하지만, 플레이어가 월드 사이를 이동할 때 나라 반대편을 가로지르게 돼요 — 제어판이 미리 경고해 줘요.
왜 이것이 "세트로만" 안전한가
고전적인 구성에서는 백엔드를 online-mode=false로 전환하고 프록시를 신뢰하게 해요. 이때 백엔드 포트가 외부에 열려 있으면 누구나 관리자 닉네임을 포함한 아무 닉네임으로 접속할 수 있어요 — 이게 직접 만든 네트워크에서 가장 흔한 구멍이에요. 저희 쪽에서는 백엔드가 닫힌 상태로 유지되어 프록시만 받고, 계정 인증은 네트워크 진입점에서 검증돼요.
네트워크로 이전할 때 고려할 점
- 프록시의 플러그인은 다릅니다. Velocity에서는 Velocity 전용 버전을 설치해요: LuckPerms, LibertyBans, ViaVersion — 모두 별도의 빌드가 있어요.
- 권한과 밴은 공용 MySQL 데이터베이스에 두는 게 좋아요. 그렇지 않으면 서버마다 따로 관리하게 돼요: 데이터베이스.
- 서버 간 채팅과 텔레포트는 프록시의 플러그인으로 처리해요. 일반 Essentials로는 안 돼요.
- 버전은 프록시에 설치한 Via가 처리해요: 다른 버전으로 접속하기.
자체 프록시에 연결하기
이미 프록시가 있다면(다른 호스팅 업체에 있는 것 포함), "주소 및 네트워크" 섹션에 자체 프록시용 주소가 따로 있어요 — 네트워크 설정에서 백엔드 주소로 지정하세요. 게임 주소는 계속 작동해요.
이 시나리오에서는 설정 책임이 본인에게 있어요: Velocity에서 모던 포워딩을 활성화하고 백엔드에 동일한 시크릿을 설정하고, BungeeCord라면 spigot.yml에 bungeecord: true를 넣으세요. 실제 플레이어 IP가 서버에 도달하고, IP 밴도 계속 작동해요.
네트워크 내 자체 프록시
프록시는 직접 운영할 수도 있어요. 예를 들어, 현대적인 포워딩을 사용하는 BungeeCord 포크(NullCordX 등)를 여러분의 서버 중 하나에서 실행하는 경우죠. 그런 다음 “네트워크” 섹션에서 **“포워딩을 직접 구성합니다”**를 활성화하세요.
토글이 켜져 있는 동안 제어판은 네트워크 설정을 건드리지 않아요: velocity.toml, config.yml, config/paper-global.yml의 proxies 섹션, 그리고 spigot.yml의 bungeecord는 작성한 그대로 유지되고 서버 재시작 후에도 남아 있어요. 토글이 꺼져 있으면 시작할 때마다 저희 진입 설정을 거기에 작성하기 때문에 여러분의 설정은 유지되지 않아요.
이 모드에서 여러분이 책임질 부분은 다음과 같아요:
- 프록시와 네트워크의 모든 서버에서 포워딩 시크릿과 그 일치 여부
- 프록시 설정에 있는 서버 목록
- 백엔드의
online-mode: 프록시 뒤에서는 비활성화되어야 해요 (“설정” 섹션).
주소는 제어판에서 가져오세요. “네트워크” 섹션의 토글 아래에 velocity.toml용으로 바로 사용할 수 있는 블록이 있어요. “복사” 버튼이 있고, 서버 이름과 주소가 들어 있죠. 각 서버에는 정확히 하나의 주소, 즉 일반적인 <name>.millida.host가 있어요. 그리고 서버가 저희 머신 중 어디에 있든 동일하게 작동해요. 머신 간 연결은 저희가 자체 사설 네트워크 내에서 관리하니까요. 프록시 설정에는 포트가 나타나지 않아요.
서버 옆에 “서버를 재시작하세요 — 주소를 발급해 드릴게요”라고 표시되면, 네트워크에 연결한 이후로 서버가 다시 생성되지 않았다는 뜻이에요. “재시작”을 클릭하면 주소가 나타나요.
Millida 외부에 있는 자체 프록시(다른 호스팅 제공자, 자신의 머신)에 대한 참고 사항: 주소는 동일하지만, 추가로 “내 프록시” 필드에 프록시 자체 주소를 입력하세요. 그렇게 해야 저희 진입점이 여러분의 연결을 인식할 수 있어요.
그 옆에는 **“프록시의 진입 주소”**가 있어요. 이는 네트워크의 도메인이나 SRV 레코드의 대상, 즉 플레이어가 클라이언트에 입력하는 주소예요. 다른 사람과 공유하는 머신(저렴한 VPS, 다른 사람의 호스팅 제어판)에 프록시가 있다면 입력하세요. 그런 연결은 단일 IP로 구분할 수 없어요. 같은 주소에서 저희에게 들어오니까요. 하지만 “진입 주소 + IP” 쌍은 이를 정확히 구분해요. 이웃이 IP를 가져갔다면 제어판에서 알려줄 거예요. 진입 주소를 추가하면 이웃에게서 빼앗지 않고도 진입이 작동해요.
프록시도 Millida에서 호스팅되는 경우
그런 경우에는 “내 프록시” 필드가 필요 없어요. 거기에는 저희 주소를 입력할 수 없어요. 프록시와 그 월드들을 하나의 네트워크로 연결하세요 (“네트워크” → “서버 연결”). Velocity나 BungeeCord 코어를 사용하는 프록시는 일반 서버와 똑같이 연결돼요. 제어판은 그 설정을 건드리지 않고, 백엔드 목록에도 추가되지 않아요. 그리고 네트워크의 서버 이름(<name>.millida.host)은 내부에서 컨테이너 자체로 해석되기 시작해요. 다른 머신에서 실행 중인 컨테이너도 포함해서요.
이렇게 하지 않으면 저희 프록시에서 여러분의 월드에 접근할 수 없어요. 외부에서는 이름이 공유 진입점으로 연결되고, 플레이어가 여러분의 프록시에 연결할 때 사용한 주소로 연결을 분석해요. 그러면 연결이 다시 그쪽으로 돌아가죠 (“이미 이 프록시에 연결되어 있습니다!”). 이를 위해 server.properties의 포트 25565를 변경할 필요도 없고, 변경할 수도 없어요. 서버가 저희 진입점을 찾는 방식이 그렇거든요.
서버 옆에 “서버를 재시작하세요 — 주소를 발급해 드릴게요”라고 표시되면, 아직 포트가 발급되지 않은 거예요. 이 서버를 재시작하면 주소가 나타나요.
토글을 끄면 저희 설정을 즉시 복원해요. 재시작을 기다릴 필요 없어요.
네트워크가 필요 없는 경우
월드 하나와 친구 열두 명 정도라면 네트워크가 필요 없어요. 한 서버에서 여러 월드를 만드는 건 플러그인으로 할 수 있고, 더 저렴하고 간단하죠. 여러 월드를 참고하세요.
