스티브코딩

전용 서버

교사 없이 열린 학급 월드: 포털 등록, 월드·애드온 올리기, 외부 접속 점검

도구·명령어2026-10-20 갱신

전용 서버: 교사가 없어도 열려 있는 학급 월드

지금까지의 방식: P2P 멀티플레이 교사 PC가 월드를 열고 있을 때만 접속 / 호스트가 나가면 모두 종료 / 월드는 호스트 기기에 저장 / 참여 코드(그림 4개)로 입장

2025년부터: 전용 서버 서버 PC가 켜져 있으면 언제든 접속 / 교사가 없어도 학생끼리 이어서 활동 / 여러 차시에 이어지는 영구 월드 / 서버 목록에서 골라 입장

서버 PC 최소 사양

항목 최소 요구
운영 체제 Windows 10(1703+)·11, Windows Server 2016+, Ubuntu 18.04+
CPU · RAM 64비트 Intel·AMD 2코어 이상 · 1GB 이상 (인원이 늘면 더 높게)
- **꼭 확인할 점**: 접속하는 모든 사람에게 교육용 라이선스 / 기능 켜기는 Global Admin만 / VM·클라우드에서도 운영 가능
교사용 메모 · 전용 서버란 (노트)
  • 전용 서버(Dedicated Server)는 2025년에 교육용 에디션에 추가된 기능입니다. 일반 베드락 전용 서버와 비슷하게, 클라이언트(플레이어)가 없어도 월드를 따로 호스팅합니다.
  • 서버 PC가 켜져 있는 동안 언제든 접속 가능: 방과 후 프로그램, 몇 주에 걸친 프로젝트, 교내 e스포츠에 알맞음
  • 서버를 돌리는 PC에서 다른 작업을 하면 성능이 떨어집니다. 가능하면 서버 전용 PC, 가상 머신(VM, 권장), Azure·AWS 같은 클라우드를 씁니다.
  • 기능을 켜는 것은 테넌트의 Global Admin(전체 관리자)만 할 수 있습니다. 학교 M365 관리자와 미리 협의하세요.
  • 전용 서버는 항상 최고 권한으로 작동하고, 교사는 역할일 뿐 권한이 아닙니다(교사는 일시 정지 메뉴에서 자기 권한을 낮출 수 있음).

Admin Portal로 서버 만들기

  1. Allow Servers 켜기: Admin Portal → Settings에서 토글 ON
  2. Add a Server: 서버를 돌릴 PC의 IP 입력 (IPv6 미지원)
  3. 이름·패스코드·Broadcast: 학생에게 보일 이름, 입장 패스코드 설정
  4. 서버 ZIP 받기: Configured Windows(또는 Linux) server
  5. 첫 실행 → Pending: 압축 해제 후 BedrockServer.exe 실행
  6. 기기 로그인으로 등록: microsoft.com/devicelogin에 콘솔 코드 입력 학생은 이렇게 들어갑니다
  • Broadcast ON: 플레이 → 서버 목록에 자동으로 표시 → 골라서 입장. 학급 전체가 같은 서버를 쓸 때 추천
  • Broadcast OFF: 서버 → 서버 추가 → 12자리 서버 ID 직접 입력. 일부 학생만 들어오게 할 때
교사용 메모 · Admin Portal 운영 메모
  • Admin Portal에 들어가려면 Entra 테넌트의 Global Admin 역할 또는 교직원(faculty) 라이선스가 필요합니다. Settings의 Faculty Only 토글을 켜면 교직원 라이선스 사용자도 서버를 관리할 수 있습니다.
  • Allow Servers를 끄면 학생 클라이언트에 서버 메뉴가 아예 보이지 않습니다(포털에서 서버를 만들고 관리하는 것은 가능).
  • 다운로드 유형: Configuration file only(스크립팅용), Configured Windows server, Configured Linux server.
  • 서버 폴더의 BedrockServer.exe를 실행하면 콘솔에 로그인 주소와 코드가 나옵니다. microsoft.com/devicelogin에서 교육용을 쓰는 계정으로 로그인해야 포털에 등록됩니다. 방화벽 허용 팝업이 뜨면 허용.
  • Broadcast를 켜는 것은 테넌트 관리자만 할 수 있습니다. 교사가 서버를 추가해도 관리자가 Broadcast를 켜 줘야 목록에 보입니다.
  • 포털 Settings의 토글은 영상(2026-05) 기준 세 가지: 서버 허용, 크로스 테넌트 서버 허용(다른 학교 학생과 함께), 교사의 서버 관리 권한. 기본값은 모두 꺼짐입니다.
  • 영상 당시 FAQ는 크로스 테넌트 플레이를 포털에서 켤 수 없고 서버 파일을 직접 고쳐야(스크립팅) 한다고 안내했습니다. 2026-08 업데이트(v1.26)부터는 전역 관리자가 Admin Portal Settings의 ‘Allow Cross Tenant Servers’를 켜서 다른 학교와 함께 쓸 수 있고, 관리하는 기기의 게임을 먼저 최신 버전으로 올려야 합니다(2026-10 공식 안내 기준). 다른 학교 서버에 들어가려면 그 학교 테넌트도 크로스 테넌트를 허용해야 합니다.
  • 서버별로 채팅 기록을 켤 수 있고, 전용 서버 파트너에게 권한을 주면 파트너가 설정을 대신할 수 있습니다.
  • 서버 ID·테넌트 ID·공인 IP·포트는 화면 녹화·캡처를 공개할 때 반드시 가립니다.

서버 파일 받기와 첫 실행

  • 공식 ‘전용 서버 툴링·스크립팅 가이드’에서 Windows 서버 빌드를 받아 압축 해제(교육용 에디션이 설치된 PC)
  • 폴더 구성은 일반 베드락 전용 서버와 거의 같음: bedrock_server.exe, server.properties, allowlist.json, permissions.json, behavior_packs, resource_packs, bedrock_server_how_to.html
  • server.properties 기본값: server-public-ip=localhost, server-port=20202 (IPv6 미지원). 19132 기본 포트는 쓰지 않기를 권장
  • 실행 파일: Windows bedrock_server.exe / Linux bedrock_server_edu → 방화벽 허용 → 창의 링크에 코드 입력해 로그인
① 공식 가이드: server-public-ip·server-port 설정 (05:56)
① 공식 가이드: server-public-ip·server-port 설정 (05:56)
② 서버 폴더와 server.properties 기본값 (06:39)
② 서버 폴더와 server.properties 기본값 (06:39)

우리 반 월드를 서버에 올리기

  1. 서버 폴더에 worlds 폴더를 만들고, 교육용 에디션 월드 폴더에서 쓸 월드를 복사해 넣기
  2. 월드 폴더 이름을 알아보기 쉽게 바꾸기(예: 파쿠르 튜토리얼)
  3. server.properties 의 level-name= 에 그 폴더 이름을 그대로 적기(기본값 Bedrock level). 월드에 적용된 리소스·행동팩도 함께 들어옴
  4. 서버를 실행하고 포털에서 이름·패스코드·Enable(필요하면 Broadcast)을 정하면 게임의 서버 목록에 뜸
  • level-seed= 는 새로 만들 때만 쓰임(비우면 무작위). 서버를 끄면 접속한 학생도 모두 나감
① level-name·level-seed 줄 (07:11)
① level-name·level-seed 줄 (07:11)
② 게임의 서버 목록에 뜬 ‘파쿠르 튜토리얼 월드’ 0/100 (09:31)
② 게임의 서버 목록에 뜬 ‘파쿠르 튜토리얼 월드’ 0/100 (09:31)

서버 월드에 애드온(행동팩) 넣기

  • 월드는 게임에서 먼저 만들며 실험 기능(베타 API)과 쓸 행동팩·리소스팩을 켜 둔 뒤 서버로 옮기기
  • 행동팩 폴더도 서버의 행동팩 폴더에 복사 → 행동팩 manifest.json header의 uuid = 월드의 world_behavior_packs.json 의 pack_id
  • 팩을 하나 더 넣을 때: 항목 { } 를 복사해 하나 더 만들고 새 팩의 uuid로 바꿈 → 콘솔에 Pack Stack 두 개가 뜨면 성공
  • 고치기 전에 콘솔에 stop 으로 서버를 멈춤. 명령어가 막히면 allow-cheats=false → true
  • 영상은 일반 베드락 전용 서버(2024) 화면. 교육용 서버도 구조는 거의 같음
[
    {
        "pack_id" : "37ecd9df-cd63-4bdd-ba49-fd4def5ca511",
        "version" : [ 1, 0, 0 ]
    }
]
① 월드의 world_behavior_packs.json (04:05)
① 월드의 world_behavior_packs.json (04:05)
② server.properties 의 allow-cheats=false (04:51)
② server.properties 의 allow-cheats=false (04:51)

수업용 서버 설정과 외부 접속 점검

server.properties 수업용 추천값

server-public-ip=192.168.0.10
server-port=20202
allow-list=true
default-player-permission-level=member
allow-commands=true
allow-code-builder=true
gamemode=creative
difficulty=peaceful
max-players=30
view-distance=16
player-idle-timeout=10
disable-custom-skins=true
level-name=우리반월드

밖에서 접속이 안 될 때 점검 순서

  1. 모바일 데이터 허용: 앱 설정에서 셀룰러 데이터 ON
  2. 공인 IP 확인: curl ip.me → server-public-ip에 입력
  3. 공유기 포트포워딩: 내부 IP의 20202 포트, UDP
  4. 방화벽 인바운드 규칙: UDP 20202 연결 허용
  5. 서버 실행 확인: netstat -an | findstr 20202
  6. 외부에서 확인: canyouseeme.org에 공인 IP·포트 입력
교사용 메모 · 서버 설정 메모
  • server.properties는 서버 폴더에 있고 메모장이나 VS Code로 고칩니다(# 줄은 설명). 월드는 서버 폴더의 worlds\<level-name> 폴더에 통째로 복사하면 리소스팩·행동팩도 함께 적용됩니다.
  • 기본 포트는 20202입니다. 베드락 기본 포트 19132는 쓰지 않습니다.
  • server-public-ip: 같은 학교 와이파이면 로컬 IP(예: 192.168.0.10, ipconfig로 확인), 집 등 밖에서 들어오면 공인 IP(cmd에서 curl ip.me로 확인). 공유기를 다시 켜면 공인 IP가 바뀔 수 있습니다.
  • 포트 번호는 server.properties·포트포워딩·방화벽 세 곳 모두 같게 맞춥니다. 프로토콜은 UDP(TCP는 안 됨).
  • 점검 1: 모바일 데이터로 접속하는 기기는 앱의 셀룰러(모바일) 데이터 허용을 먼저 켭니다. 꺼져 있으면 나머지가 다 맞아도 접속이 안 됩니다.
  • netstat 결과에 UDP 0.0.0.0:20202가 보이면 서버가 정상 실행 중입니다. canyouseeme.org에서 Success가 나오지 않으면 포트포워딩·방화벽을 다시 확인합니다.
  • chat-restriction(None·Dropped·Disabled), disable-player-interaction(학생끼리 통과) 같은 키도 수업에 따라 조절합니다.
  • 방화벽 인바운드 규칙 만드는 순서: Windows 방화벽 → 고급 설정 → 인바운드 규칙 → 새 규칙 → 포트 → UDP, 특정 포트(20202) → 연결 허용 → 프로필 모두 선택 → 이름 → 마침. 접속이 안 되면 먼저 서버 창이 실행 중인지 확인합니다.
  • 전용 서버에서는 교사라도 서버 설정값대로 권한이 정해집니다. 서버 창 로그에서 접속한 이름과 권한을 확인할 수 있습니다.
  • 일반 베드락 전용 서버(무료)에서는 permissions.json 에 [{"permission": "operator", "xuid": "<xuid>"}] 처럼 넣어 운영자를 정합니다(xuid는 게이머태그로 찾는 웹 페이지에서 확인). 교육용 서버용 공식 안내에는 permissions.json 사용법이 따로 나와 있지 않습니다(2026-10 기준). 영상에서도 교사 계정은 서버 창 로그에 운영자로 표시되었으니(12:04), 학생 권한은 로그에서 직접 확인합니다.
  • 파일 문법이 틀리면 서버를 켤 때 에러가 납니다. 고친 뒤 서버를 끄고 다시 켭니다. 월드에 이미 저장된 설정(게임 모드 등)은 server.properties 값과 다르게 보일 수 있습니다.
  • 일반 베드락 서버는 기본 포트 19132를 쓰고, 같은 네트워크에서는 친구 탭의 LAN 게임으로 바로 보입니다. 마인크래프트가 업데이트되면 서버도 새로 받아야 합니다.

관련 영상

관련 공식 자료

함께 보기

출처

  • 기존 노션 자료: Minecraft-education-dedicated-server
  • 스티브코딩 유튜브 「10년 만에 이게 되네요! 서버 운영 가능!」
  • 유튜브 「10년 만에 이게 되네요! 서버 운영 가능!(다른 테넌트 사용자도 함께 플레이)」(2026-05-03)