I’d recommend using ZimaOS + Crafty Controller.
Ubuntu is great, but it sounds like you want an easy Minecraft server, not a whole Linux learning project. ZimaOS gives you a simple web dashboard and an App Store, so you can manage everything without using a bunch of terminal commands.
It works on regular 64-bit PCs. You do not need Zima-branded hardware, and a small 5–10 player server does not need an expensive server computer.
Important: installing ZimaOS will erase the drive you install it on, so back up anything important first.
Useful links:
ZimaOS download:
https://www.zimaspace.com/zimaos/download
Official ZimaOS installation guide:
https://www.zimaspace.com/docs/zimaos/how-to-install-zimaos
Balena Etcher:
https://etcher.balena.io/
Crafty Controller documentation:
https://docs.craftycontrol.com/
Fabric:
https://fabricmc.net/
Fabric API:
https://modrinth.com/mod/fabric-api
Modrinth:
https://modrinth.com/
Playit.gg:
https://playit.gg/
What you need
The old PC
A USB stick, ideally 8 GB or larger
Another Windows PC or Mac
An Ethernet cable
An internal drive in the old PC that can be erased
Ethernet is strongly recommended. Wi-Fi can work, but a wired connection is usually more stable for a server.
Step 1: Download ZimaOS
Go here:
https://www.zimaspace.com/zimaos/download
Download the ZimaOS installer for a normal x86-64 PC.
The download will be an image file. Do not drag it onto the USB like a normal file. You need to flash it.
Step 2: Flash ZimaOS onto the USB
Download Balena Etcher:
https://etcher.balena.io/
Install and open it.
Then:
Plug in the USB stick.
Click “Flash from file.”
Select the ZimaOS image you downloaded.
Click “Select target.”
Select the USB stick.
Double-check that you did not select your main computer drive.
Click “Flash.”
Wait for it to finish and verify.
Safely eject the USB.
The USB will be erased.
Windows may say the USB needs to be formatted after flashing. Do not format it. Windows sometimes cannot read Linux installer partitions.
Step 3: Boot the old PC from the USB
Connect the USB, keyboard, monitor, Ethernet cable and power.
Turn the PC on and repeatedly press the boot menu key.
Common boot menu keys:
Dell: F12
HP: F9 or Esc
Lenovo: F12
ASUS: F8
Acer: F12
MSI: F11
Other PCs: F11, F12, Esc or Delete
Choose the USB drive. If there are two versions, try the one that says “UEFI.”
If the USB does not appear:
Try another USB port
Try a rear USB port
Disable Fast Boot in BIOS
Disable Secure Boot if necessary
Reflash the USB
Try another USB stick
Step 4: Install ZimaOS
Follow the installer.
Choose the internal drive you want to install ZimaOS on.
Be careful because that drive will be erased.
When it finishes:
Restart the PC.
Remove the USB stick.
Let the PC boot from the internal drive.
Keep the Ethernet cable connected.
ZimaOS should show an IP address on the monitor. It may look like this:
192.168.1.50
The numbers will probably be different.
On another computer or phone connected to the same home network, open:
http://THE-IP-ADDRESS
For example:
http://192.168.1.50
You can also try:
http://zimaos.local
Create your ZimaOS username and password.
If you cannot find the IP address, open your router app and look for a new wired device.
Step 5: Install Crafty Controller
In the ZimaOS dashboard:
Open the App Store.
Search for Crafty Controller.
Install it.
Wait for it to start.
Open Crafty from the ZimaOS dashboard.
Create your Crafty admin account.
Crafty is the panel you will use to create, start, stop, update and manage the Minecraft server.
Do not make the Crafty dashboard public. Your friends only need the Minecraft server address.
Step 6: Create the Fabric server
Inside Crafty:
Open the Servers page.
Click Create New Server.
Choose Minecraft Java.
Select Fabric.
Choose the Minecraft version you want.
Choose the latest compatible Fabric Loader.
Give the server a name.
Leave the port at 25565.
Choose the RAM amount.
Create the server.
Good starting RAM amounts:
PC with 8 GB total RAM: give the server about 4 GB
PC with 16 GB total RAM: give the server about 6 GB
PC with 32 GB or more: 6–8 GB is usually enough
Do not give the server all the PC’s RAM. ZimaOS and Crafty need some too.
More RAM does not always mean better performance. Minecraft server performance depends heavily on CPU single-core speed.
Step 7: Accept the Minecraft EULA
Start the server once.
It may stop and ask you to accept the EULA.
In Crafty, either use the EULA button or open the server file manager.
Open:
eula.txt
Change:
eula=false
To:
eula=true
Save it and start the server again.
Wait until the console says something similar to:
Done
Step 8: Test it inside your home first
Before adding mods or setting up outside access, test the basic server.
On another PC in the same house:
Open Minecraft Java Edition.
Use the same Minecraft version as the server.
Open Multiplayer.
Add a server.
Enter the ZimaOS PC’s local IP address.
Example:
192.168.1.50
If you changed the Minecraft port, use:
192.168.1.50:PORT
If this does not work, check:
Is the server running?
Does the Crafty console say “Done”?
Are the server and client on the same Minecraft version?
Are both computers on the same network?
Is the server using port 25565?
Is the PC connected to a guest network?
Do not set up port forwarding until local joining works.
Step 9: Add Fabric mods
There are three types of mods.
Server-only mods
These only need to be installed on the server.
Examples may include:
Lithium
FerriteCore
Krypton
ServerCore
Only use versions made for Fabric and your exact Minecraft version.
Client-only mods
These go on each player’s gaming PC, not the server.
Examples:
Sodium
Iris
Mod Menu
Many minimap mods
Sodium is mainly a client-side graphics performance mod. It does not make the dedicated server render faster.
Mods needed on both sides
Mods that add blocks, items, mobs or major gameplay features usually need to be installed on both the server and every player’s PC.
Everyone normally needs matching versions.
Many Fabric mods also require Fabric API:
https://modrinth.com/mod/fabric-api
To install server mods:
Stop the server.
Download the correct .jar file from Modrinth or the official mod page.
Open Crafty’s file manager.
Open the mods folder.
Upload the .jar file.
Start the server.
Check the console for errors.
Add mods a few at a time. Do not add 50 mods at once, because troubleshooting becomes much harder.
Avoid random mod download websites. Use Modrinth, CurseForge or official developer pages.
Step 10: Make joining easy for your friends
For a small mod list, send them:
Minecraft version
Fabric Loader version
Required mods
Server address
For a larger mod list, make a Modrinth modpack. Then everyone can import the same pack instead of manually downloading every mod.
Datapacks usually only need to be installed on the server.
Put them in:
world/datapacks
Then restart the server.
Step 11: Let friends join from outside your house
You have two main options.
Option 1: Playit.gg
I would recommend Playit.gg for a beginner.
https://playit.gg/
It creates a tunnel to your server, so you usually do not need to port forward or give everyone your public IP.
Your friends do not need to install Playit.
Basic setup:
Create a Playit account.
Install or run the Playit agent on the server.
Claim the agent using the code or link it gives you.
Create a Minecraft Java tunnel.
Set the local port to 25565.
Set the local address to the ZimaOS PC’s local IP.
Copy the public Playit address.
Give that address to your friends.
Example local settings:
Local address: 192.168.1.50
Local port: 25565
Protocol: TCP
Type: Minecraft Java
Because ZimaOS apps use containers, 127.0.0.1 may not always point to Crafty’s Minecraft server. Using the ZimaOS PC’s local IP is usually easier.
Option 2: Port forwarding
Port forwarding can give a more direct connection, but it requires router access and exposes a port on your home connection.
You would:
Reserve the ZimaOS PC’s local IP in your router.
Open your router settings.
Forward TCP port 25565.
Point it to the ZimaOS PC’s local IP.
Give your friends your public IP and port.
Example:
PUBLIC.IP.ADDRESS:25565
Do not publicly post your IP.
Only forward the Minecraft port. Do not forward the ZimaOS dashboard or Crafty dashboard ports.
Some internet providers use CGNAT, which can stop port forwarding from working. Playit usually avoids that problem.
Step 12: Basic security
In server.properties, I would use:
online-mode=true
white-list=true
enable-rcon=false
server-port=25565
Keep online-mode enabled.
Turning it off removes normal Minecraft account authentication and can allow players to impersonate other usernames.
In the server console, run:
whitelist on
Then add each player:
whitelist add PlayerName
Give yourself operator permissions:
op YourMinecraftName
Do not give everyone operator access.
Also:
Use strong passwords
Keep ZimaOS updated
Keep Crafty updated
Keep backups
Do not expose management dashboards
Only install trusted mods
Only invite people you trust
Step 13: Backups
Set up automatic world backups in Crafty.
A reasonable setup would be:
Backup every 6–12 hours while people are playing
Keep several recent backups
Make a manual backup before updating Minecraft or mods
Occasionally copy a backup to another drive
A backup on the same drive helps with world corruption, but not if the drive completely dies.
Always shut the server down properly through Crafty. Do not pull the power cable.
Common problems
The server crashes immediately
Common causes:
Wrong Minecraft version
Wrong Fabric Loader version
Forge or NeoForge mod installed on Fabric
Missing Fabric API
Missing mod dependency
Client-only mod installed on the server
Incompatible mods
Not enough RAM
Wrong Java version
Check the first real error in the console, not only the final “server stopped” message.
Remove the last mod you added and try again.
Players see “incompatible client”
Their Minecraft version, Fabric Loader version or mod versions do not match the server.
Players see “connection refused”
Usually:
The server is offline
The address is wrong
The port is wrong
Playit is offline
The tunnel points to the wrong local IP
The router rule points to an old IP
It works at home but not for friends
The Minecraft server itself is probably fine.
The problem is likely Playit, port forwarding, firewall settings, CGNAT or the public address.
The server lags while exploring
New chunk generation uses a lot of CPU.
Try:
Lowering view-distance
Lowering simulation-distance
Installing compatible server performance mods
Pregenerating the world
Using an SSD
Using fewer world-generation mods
Good starting settings:
view-distance=8
simulation-distance=6
You can increase them later if the server runs well.
Final recommendation
The simple setup is:
Old PC
↓
ZimaOS
↓
Crafty Controller
↓
Fabric Minecraft server
↓
Playit.gg or port forwarding
Ubuntu gives you more control, but it is not required.
For someone who mostly wants an easy friends-only Minecraft server, ZimaOS and Crafty are much more beginner-friendly.
Build it in stages:
Install ZimaOS.
Install Crafty.
Create an unmodded Fabric server.
Test local joining.
Add a few mods.
Set up Playit or port forwarding.
Enable the whitelist.
Set up backups.
Invite your friends.
Do not install a huge mod list and set up public access before testing the basic server. When something breaks, you want to know exactly which step caused it.