Choose a server type: Vanilla, Forge, Fabric, Spigot/Paper
Choose a hosting option: local (your PC), dedicated machine, or third-party hosting
Pick a server version matching your client
Install Java (if required by your server type/version)
Create a server folder
Download the server software for your chosen type
Put the downloaded server file in the server folder
Run the server once to generate config files and the EULA
Open `eula.txt` and set `eula=true`
Edit `server.properties` (optional): `server-port`, `online-mode`, `max-players`, `gamemode`, `difficulty`, `view-distance`
Accept the server license if prompted (where applicable)
Start the server
Confirm it runs successfully by checking the console output
Set up firewall rules to allow the server port (TCP/UDP if applicable)
If hosting locally, configure router port forwarding to the server PC
Ensure your router forwards the chosen port to the server PC’s internal IP
Set up a DNS/hostname if you want a stable address (optional)
Share the server IP/hostname and port with players
For online play, ensure players use `IP:port`
If using mods/plugins, install the same mods/plugins on the server and (if required) clients
For modded servers, verify mod versions match and update `mods` folder contents
For plugin servers, place plugins in the `plugins` folder and restart
Use a process manager/screen/tmux to keep the server running (optional)
Back up the `world`/`saves` folder regularly
Test with at least one external friend on a different network (optional)
Adjust performance settings if needed (view distance, simulation settings, RAM allocation)
