๐ Guide to Managing a Linux VPS (Ubuntu/Debian) and Setting Up a Minecraft Server
To connect to your Linux VPS (Ubuntu/Debian) via SSH:
ssh username@your_vps_ipReplace username with your VPS user and your_vps_ip with the server's IP address.
| ๐ฅ๏ธ Command | ๐ Description |
|---|---|
ls -la |
List files and directories (including hidden) |
pwd |
Display current working directory |
df -h |
Show disk usage in human-readable format |
free -m |
Display RAM usage in megabytes |
top or htop |
Monitor running processes |
adduser NAME |
Create a new user |
usermod -aG sudo NAME |
Grant sudo privileges to a user |
Minecraft requires Java. Recommended version: Java 17
sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-17-jre -y
java -versionThis updates the system and installs Java 17. Verify the installation with java -version.
sudo adduser mcserver
sudo su - mcserverThis creates a user mcserver for running the Minecraft server and switches to that user.
mkdir ~/minecraft && cd ~/minecraft
wget https://launcher.mojang.com/v1/objects/.../server.jar
java -Xmx2G -Xms1G -jar server.jar nogui- After running, a
eula.txtfile is created. Edit it to changeeula=falsetoeula=true:nano eula.txt
- Save and exit (
Ctrl + X, thenY, thenEnter).
Note: Replace the ... in the wget URL with the latest Minecraft server JAR link from Mojangโs official site.
sudo ufw allow 25565
sudo ufw reloadThis opens port 25565 (Minecraftโs default port) and reloads the firewall.
Use screen to run the server in a detachable session:
screen -S minecraft
java -Xmx2G -Xms1G -jar server.jar nogui- Detach from the session:
Ctrl + A, thenD. - Reattach later:
screen -r minecraft.
Create a systemd service for automatic server management:
# /etc/systemd/system/minecraft.service
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=mcserver
WorkingDirectory=/home/mcserver/minecraft
ExecStart=/usr/bin/java -Xmx2G -Xms1G -jar server.jar nogui
Restart=on-failure
[Install]
WantedBy=multi-user.targetActivate the service:
sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraftCheck status: sudo systemctl status minecraft.
| ๐ก Solution | |
|---|---|
| Port already in use | Find and terminate the process: lsof -i :25565 then kill -9 PID |
| Low RAM | Increase allocated RAM (e.g., -Xmx4G for 4GB) |
| Server crash | Check logs in ~/minecraft/logs/latest.log for errors |
- PuTTY (Windows): A lightweight SSH client for connecting to your VPS.
- Download: PuTTY Official Site
- Usage: Enter your VPS IP, username, and connect. Save sessions for quick access.
- MobaXterm (Windows): An all-in-one terminal with SSH, SFTP, and X11 forwarding.
- Download: MobaXterm
- Features: Tabbed sessions, file transfer, and built-in tools like
topviewer.
- Termius (Windows, macOS, Linux, iOS, Android): A modern SSH client with a sleek interface and cloud sync.
- Download: Termius
- Usage: Ideal for managing multiple VPS connections across devices.
- OpenSSH (Linux/macOS): Built-in SSH client for Linux and macOS. Use the
sshcommand directly in the terminal. - FileZilla (Cross-Platform): For transferring files to/from your VPS via SFTP.
- Download: FileZilla
- Usage: Connect using your VPS IP, username, and port 22 for secure file transfers.
- htop: Interactive process viewer for resource monitoring.
sudo apt install htop -y
- ncdu: Interactive disk usage analyzer.
sudo apt install ncdu -y
- tmux: Alternative to
screenfor persistent terminal sessions.sudo apt install tmux -y
- ufw: Simple firewall for Ubuntu/Debian.
sudo apt install ufw -y
- fail2ban: Protects against brute-force attacks on SSH.
sudo apt install fail2ban -y
- netdata: Real-time VPS resource monitoring in the browser.
- Website: Netdata
These are the go-to sites for finding Minecraft plugins, with filters for new releases, categories, and versions:
- Modrinth: A modern hub for Paper/Spigot/Fabric plugins. Lists thousands of plugins with filters for Minecraft version or category (e.g., Admin Tools, Fun). Great for new 2025 plugins like Simple Voice Chat or LuckPerms. Why use it? Clean interface, trusted downloads, and active updates.
- SpigotMC: The largest repository for Bukkit/Spigot plugins, with over 40,000 resources. Includes ratings, reviews, and new plugins like NoCheatPlus or WorldEdit. Why use it? Massive selection, active community, and reliable for most server types.
- Hangar (PaperMC): Focused on Paper plugins, which are optimized for performance. Lists plugins like GeyserMC (Bedrock-to-Java) or CoreProtect (anti-grief). Why use it? Perfect for Paper servers, with a focus on modern, high-quality plugins.
- BuiltByBit (McMarket): Offers both free and premium plugins. Features new 2025 plugins like AntiXray or MythicMobs. Why use it? Good for advanced or unique plugins, with a mix of free and paid options.
GitHub is more for source code, but some repos curate lists of plugins or host plugin projects. Here are the best:
- bs-community/awesome-minecraft: A curated list of Minecraft resources, including a plugin section. Links to over 100 top plugins, like ViaVersion (version compatibility). Why use it? Well-organized, with links to plugin downloads.
- maximjsx/awesome-plugins: A collection of modern plugins, including 2025 releases like PacketEvents (packet management). Why use it? Focuses on high-quality, performance-oriented plugins.
- ๐ Minecraft Wiki
- โก PaperMC (Performance)
- ๐ง SpigotMC