
A teacher or youth leader wants to run a Minecraft server for their group. They need it safe, controlled, and aligned with educational goals. The default server setup is designed for the general public. A school server needs a different approach.
If your school uses Minecraft Education, you have two options: host a world for your class with a join code, or run a Minecraft Education Dedicated Server that stays online between lessons. Clubs and youth groups without Minecraft Education licenses can run a Java Edition server instead. This guide covers both.
Why Minecraft in Education Works
Minecraft teaches spatial reasoning, collaboration, resource management, and basic programming through command blocks and redstone logic. Students build together, solve problems, and learn project planning. It is engaging in a way that worksheets are not.
Minecraft Education is the version built for schools. It needs a Microsoft 365 account with a Minecraft Education license. Schools are not the only buyers: camps, clubs, homeschools and other organizations can buy commercial licenses. At Minecraft Live on September 26, 2026, the official recap on Minecraft.net wished Minecraft Education a happy 10th birthday. Many clubs and youth groups run regular Java Edition servers instead because they are more flexible and cheaper.
How to Make a Minecraft Education Server
Minecraft Education has two ways to play together. You can host a world from inside the game and share a join code, or your school can run Dedicated Servers. Every player needs a Minecraft Education license and the Minecraft Education app either way.
Option 1: Host a World With a Join Code (One Class)
This is the quickest way to get one class into a shared world. The teacher or a student hosts from their own device, and the others join with a join code made of four pictures.
- Click Play on the home screen.
- Pick a world from View My Worlds and click Host. For a new world, click Create New, then New, choose your settings and click Host.
- Pause the game and open the Friends tab. Share the four pictures of the Join Code with your class.
- Students click Play, then Join World, and click the four pictures in the same order.
To host a world you are already playing, pause the game, open the Friends tab, click Start Hosting and then Confirm.
What to know before class:
- Same organization, same version. Hosting only works for players in the same Microsoft 365 organization. For most schools, that means everyone's email address ends in the same domain. All players also need the same version of Minecraft Education.
- Player count depends on the host device. One world can hold up to 40 players, but Minecraft says most consumer devices handle around 8 to 10. On devices close to the minimum requirements, Minecraft recommends groups of 3 to 4.
- The host has to stay. If the host leaves the world, everyone else is removed. If the host device loses its connection, the host has to start hosting again and everyone rejoins with the new join code.
- Control who gets in. In World Settings, choose whether new players join as Visitor, Member or Operator. Teachers who join always get Operator. To stop new players from joining, refresh the join code; players already in the world stay. You can also cap the number of players with the
/setmaxplayerscommand. - Guessing codes does not work. A student who enters wrong join codes gets a warning after 3 tries and has to wait a few minutes after 5.
Minecraft's multiplayer setup guide shows each step with screenshots.
Option 2: Minecraft Education Dedicated Servers (Whole School)
A Dedicated Server runs the world without a player hosting it. The world stays online, keeps its progress between sessions and is always at the same place, so classes and after-school clubs can come back to it. For larger sessions, Minecraft recommends Dedicated Servers over hosting from a device.
Who turns them on. Dedicated Servers are off by default. A user with the Global Admin role in your school's Microsoft 365 tenant has to enable them in the Dedicated Server Admin Portal with the Allow Servers toggle. That admin can also:
- Turn on Allow Teachers to Manage Servers (Teacher View), so teachers can create and manage their own servers. Teachers need a faculty license, such as Microsoft A1, A3 or A5 for Faculty or Minecraft Education for Faculty. Accounts with student licenses cannot sign in to the portal.
- Set up cross-tenant play, so players from another school can join your approved servers, for example for an esports match between schools. The IT admins of both schools have to work together on this.
What you can set per server.
- Passcode: everyone who joins has to enter it. It is one code for the whole server, not a personal password.
- Allow list: only listed players can join.
- Broadcast: the server shows up in the Servers list for everyone in your tenant. Without it, students add the server by its 12-character server ID.
- Chat: turn chat on or off. From Dedicated Server version 1.21.133 you can also turn on chat logging, which saves players' messages to a log file on the server.
How to set one up.
- Check the host machine against the Dedicated Server System Requirements. The minimum is a 64-bit Intel or AMD CPU with 2 cores and 1 GB of RAM, running Windows 10 (1703 or later), Windows 11, Windows Server 2016 or later, or Ubuntu 18.04 or later. It can be school hardware or a cloud VPS.
- Sign in to the Admin Portal, click Add a Server and enter the IP address and port the server will use. IPv6 is not supported.
- Optionally set a world seed and game mode, then download the configured Windows or Linux server package.
- Click Continue, enter the server name and passcode, set Enabled and Broadcast, and click Save.
- Extract the download on the host and run
bedrock_server.exeon Windows orbedrock_server_eduon Ubuntu. On the first run, sign in with the Global Admin or a faculty account if the server asks for it. - Open the port in the host's firewall. If players connect from outside the school network, forward it on the router as well.
Minecraft's Dedicated Server FAQ and the setup guides for IT admins and teachers have the full details.
Which Option Should You Use?
| Situation | Best option |
|---|---|
| One lesson with a small group, no server to set up | Host with a join code |
| Larger group, or a world that stays online between lessons | Dedicated Server |
| Events or esports with another school | Dedicated Server with cross-tenant play |
| Club or youth group without Minecraft Education licenses | Java Edition server (steps below) |
Minecraft Education licenses cannot be used to sign in to Java or Bedrock Edition, so a Java server is a separate setup for players with their own Java accounts. The rest of this guide covers that route: a Java Edition server for clubs, youth groups and after-school programs.
Step 1: Choose the Right Platform
| Option | Pros | Cons |
|---|---|---|
| Minecraft Education | Built-in classroom tools, join codes, optional Dedicated Servers | Requires Minecraft Education licenses, limited modding |
| Java Edition + Paper server | Full plugin support, cheaper, more flexible | Requires manual safety setup |
| Bedrock Edition + Geyser | Students on tablets can join | Slightly more complex setup |
For clubs and youth groups outside Minecraft Education, a Java Edition server on Paper with Geyser for tablet students is the best balance of flexibility and safety.
Step 2: Lock Down Access
Whitelist
Enable the whitelist in server.properties:
white-list=true
Add only students and teachers:
/whitelist add StudentName
/whitelist add TeacherName
Nobody else can join. This is the single most important safety setting.
Online Mode
Keep online-mode=true in server.properties. This ensures every player has a legitimate Minecraft account. It prevents unauthorized access.
Disable PVP (Optional)
If the group is young or PVP causes conflicts:
pvp=false
Step 3: Set Up Permission Groups
Use LuckPerms to create two groups: student and teacher.
/lp creategroup student
/lp creategroup teacher
Give students limited permissions:
/lp group student permission set essentials.home true
/lp group student permission set essentials.spawn true
/lp group student permission set essentials.msg true
Give teachers moderation tools:
/lp group teacher permission set essentials.kick true
/lp group teacher permission set essentials.mute true
/lp group teacher permission set essentials.teleport true
/lp group teacher permission set essentials.gamemode true
/lp group teacher permission set worldguard.region.define true
/lp group teacher permission set coreprotect.inspect true
/lp group teacher permission set coreprotect.rollback true
Teachers can manage the world. Students can play safely.
Step 4: Protect Important Areas
Use WorldGuard to protect the spawn area and any educational builds:
- Select the area with a wooden axe (left-click corner 1, right-click corner 2)
- Define the region:
/rg define school-spawn - Set flags:
/rg flag school-spawn block-break deny
/rg flag school-spawn block-place deny
/rg flag school-spawn pvp deny
Add students as members of specific build areas where they should be able to build:
/rg define student-area
/rg addmember student-area StudentName
Step 5: Monitor Activity
Install CoreProtect for block logging. Teachers can check who placed or broke any block:
/co inspect
Click any block to see its history. If a student griefed another student's build:
/co rollback u:GriefingStudent t:1h
This undoes everything that student did in the last hour.
Step 6: Chat Safety
Chat Filter
Install a chat filter plugin to block inappropriate language. Options:
- ChatControl: Configurable word filter with regex support
- AdvancedBan: Automatic mutes for banned words
Disable Private Messages (Optional)
For younger groups, disable DMs so all communication is visible:
Remove the essentials.msg permission from the student group:
/lp group student permission set essentials.msg false
Step 7: Educational Goals
Building Projects
Assign building challenges:
- Recreate a historical building or period-accurate village
- Build a model of the solar system (scale challenge)
- Design a sustainable city with farms, water, and energy (redstone)
- Create a functional calculator using redstone logic
Redstone as Programming
Redstone teaches logic gates (AND, OR, NOT), sequential circuits, and basic computing concepts. Start with:
- A door that opens when a lever is pulled (basic circuit)
- A light that turns on at night (daylight sensor)
- A combination lock (AND gates)
- A basic calculator (full adder circuits)
Command Blocks as Scripting
Command blocks introduce programming concepts:
- Variables (scoreboards)
- Conditionals (conditional command blocks)
- Loops (repeating command blocks)
- Functions (data packs)
Step 8: Scheduling
Most school servers do not need to run 24/7. Start the server before sessions and stop it after. This saves money if you pay per hour.
On Space-Node, you can start and stop the server from the panel at any time. The world data persists between sessions.
Recommended Server Specs for Schools
| Group Size | Recommended Plan |
|---|---|
| 5-10 students | 2 GB |
| 10-20 students | 4 GB |
| 20-30 students | 6 GB |
| 30+ students | 8 GB |
Add 1-2 GB if using Geyser for tablet students.
Privacy and Compliance
If your school is in the EU, GDPR applies. Minecraft servers log IP addresses and usernames. Make sure:
- Parents consent to their child playing on the server
- The hosting provider stores data in the EU (at Space-Node, pick the Netherlands, Germany or Poland)
- You have a data retention policy (delete logs after the school year ends)
- The server is whitelisted so only authorized students can access it
Space-Node's Netherlands, Germany and Poland regions are inside the EU. Our other regions, Canada, the USA, Singapore, India and Australia, are not, so pick one of the three EU regions when you order. Check the plans here.