전용 서버: 교사가 없어도 열려 있는 학급 월드
지금까지의 방식: P2P 멀티플레이 교사 PC가 월드를 열고 있을 때만 접속 / 호스트가 나가면 모두 종료 / 월드는 호스트 기기에 저장 / 참여 코드(그림 4개)로 입장
2025년부터: 전용 서버 서버 PC가 켜져 있으면 언제든 접속 / 교사가 없어도 학생끼리 이어서 활동 / 여러 차시에 이어지는 영구 월드 / 서버 목록에서 골라 입장
서버 PC 최소 사양
| 항목 | 최소 요구 |
| 운영 체제 | Windows 10(1703+)·11, Windows Server 2016+, Ubuntu 18.04+ |
| CPU · RAM | 64비트 Intel·AMD 2코어 이상 · 1GB 이상 (인원이 늘면 더 높게) |
교사용 메모 · 전용 서버란 (노트)
- 전용 서버(Dedicated Server)는 2025년에 교육용 에디션에 추가된 기능입니다. 일반 베드락 전용 서버와 비슷하게, 클라이언트(플레이어)가 없어도 월드를 따로 호스팅합니다.
- 서버 PC가 켜져 있는 동안 언제든 접속 가능: 방과 후 프로그램, 몇 주에 걸친 프로젝트, 교내 e스포츠에 알맞음
- 서버를 돌리는 PC에서 다른 작업을 하면 성능이 떨어집니다. 가능하면 서버 전용 PC, 가상 머신(VM, 권장), Azure·AWS 같은 클라우드를 씁니다.
- 기능을 켜는 것은 테넌트의 Global Admin(전체 관리자)만 할 수 있습니다. 학교 M365 관리자와 미리 협의하세요.
- 전용 서버는 항상 최고 권한으로 작동하고, 교사는 역할일 뿐 권한이 아닙니다(교사는 일시 정지 메뉴에서 자기 권한을 낮출 수 있음).
Admin Portal로 서버 만들기
- Allow Servers 켜기: Admin Portal → Settings에서 토글 ON
- Add a Server: 서버를 돌릴 PC의 IP 입력 (IPv6 미지원)
- 이름·패스코드·Broadcast: 학생에게 보일 이름, 입장 패스코드 설정
- 서버 ZIP 받기: Configured Windows(또는 Linux) server
- 첫 실행 → Pending: 압축 해제 후 BedrockServer.exe 실행
- 기기 로그인으로 등록: 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/ Linuxbedrock_server_edu→ 방화벽 허용 → 창의 링크에 코드 입력해 로그인


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


서버 월드에 애드온(행동팩) 넣기
- 월드는 게임에서 먼저 만들며 실험 기능(베타 API)과 쓸 행동팩·리소스팩을 켜 둔 뒤 서버로 옮기기
- 행동팩 폴더도 서버의 행동팩 폴더에 복사 → 행동팩
manifest.jsonheader의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 ]
}
]


수업용 서버 설정과 외부 접속 점검
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=우리반월드
밖에서 접속이 안 될 때 점검 순서
- 모바일 데이터 허용: 앱 설정에서 셀룰러 데이터 ON
- 공인 IP 확인:
curl ip.me→ server-public-ip에 입력 - 공유기 포트포워딩: 내부 IP의 20202 포트, UDP
- 방화벽 인바운드 규칙: UDP 20202 연결 허용
- 서버 실행 확인:
netstat -an | findstr 20202 - 외부에서 확인: 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 게임으로 바로 보입니다. 마인크래프트가 업데이트되면 서버도 새로 받아야 합니다.