mcserver-installer is a Bash-based CLI tool for installing, configuring, and managing Minecraft servers on Linux systems, with the smoothest path on Debian and Ubuntu.
It is designed for server owners and administrators who want one terminal interface for installation, updates, backups, runtime control, plugin management, and operational checks.
| Area | Details |
|---|---|
| Server installation | Installs Vanilla, Paper, Folia, Purpur, Fabric, Forge, NeoForge, Velocity, Waterfall, and BungeeCord. |
| Java management | Detects the required Java version for the selected Minecraft version and installs OpenJDK when needed. |
| Runtime control | Starts servers in detached GNU screen sessions and supports graceful stop/restart flows. |
| Backups | Creates manual backups and schedules daily or weekly automated backups through cron. |
| Configuration | Provides an interactive server.properties editor and RAM allocation controls. |
| Monitoring | Shows live CPU, RAM, and disk usage for running servers. |
| Notifications | Sends asynchronous Discord webhook alerts for server start, stop, force-stop, backups, and plugin changes. |
| Boot startup | Generates systemd services so registered servers can start after host reboot. |
| Plugins | Searches and installs compatible Modrinth plugins, removes plugin jars, and can install Geyser/Floodgate. |
| Proxy networks | Can deploy backend Paper servers behind supported proxy software. |
Production server software:
- Vanilla
- Paper
- Folia
- Purpur
- Fabric
- Forge
- NeoForge
Proxy software:
- Velocity
- Waterfall
- BungeeCord
The script automatically checks for the required tools and can install missing packages on Debian/Ubuntu:
bashcurljqscreentargzip- Java/OpenJDK version required by the selected Minecraft version
Velocity builds require Java 21. The installer selects Java 21 for Velocity automatically and refreshes generated start.sh launchers before starting registered servers.
Non-Debian Linux distributions and macOS may work in compatibility mode, but Debian/Ubuntu is the intended production target.
git clone https://github.com/devRaikou/mcserver-installer.git
cd mcserver-installer
chmod +x mcserver-installer
./mcserver-installerCreate a backup for a registered server without opening the interactive UI:
./mcserver-installer --backup <server_name>This is useful for cron, remote automation, and external dashboards.
Developer: devRaikou | Version: 1.75
GitHub: https://github.com/devRaikou/mcserver-installer
================================================================
MAIN DIRECTORY MENU
================================================================
1. Install Minecraft Server
2. Manage Existing Server
3. Update Server Jar
4. Backup Server
5. Restore Backup
6. Remove Server / Registration
7. Settings & System checks
8. About
9. Exit
================================================================
Select option (1-9):
After a server is installed and registered, the management menu can:
- Start, stop, and restart the server.
- Open a managed console overlay or attach directly to GNU
screen. - View
logs/latest.log. - Edit
server.properties. - Create and restore backups.
- Configure automated backup schedules.
- Change RAM allocation in
start.sh. - Optimize common Paper/Spigot configuration values.
- Monitor live resource usage.
- Install or remove plugins.
- Enable or disable boot auto-start with
systemd.
Each server is launched through a generated start.sh file. The script starts that file inside a detached screen session named with the pattern:
mc-<server-name>-<path-hash>
The generated launcher includes a crash restart loop. Manual stops create a .stop_restart lock file so intentional shutdowns do not immediately restart.
Manual and scheduled backups are stored in each server directory:
<server>/backups/backup_YYYYMMDD_HHMMSS.tar.gz
Backups exclude the backups and logs directories to avoid recursive archives and unnecessary log growth.
The installer stores its local settings and registry under:
~/.mcserver-installer/
Important files:
registry.txt: registered server name, path, software type, and version.settings.conf: language and Discord webhook settings..public_ip: cached public IP used in UI and notifications.
Run the verification script before publishing or after editing:
./verify.shIt checks Bash syntax, executable permissions, and Mojang version manifest parsing through curl and jq.
Developed by devRaikou and released under the MIT License.
This project is licensed under the MIT License. See LICENSE for details.
mcserver-installer, Linux sistemlerinde Minecraft sunucusu kurmak, yapılandırmak ve yönetmek için hazırlanmış Bash tabanlı bir CLI aracıdır. En sorunsuz kullanım hedefi Debian ve Ubuntu sistemleridir.
Sunucu sahipleri ve yöneticileri için kurulum, güncelleme, yedekleme, çalışma kontrolü, eklenti yönetimi ve sistem kontrollerini tek terminal arayüzünde toplar.
| Alan | Detay |
|---|---|
| Sunucu kurulumu | Vanilla, Paper, Folia, Purpur, Fabric, Forge, NeoForge, Velocity, Waterfall ve BungeeCord kurabilir. |
| Java yonetimi | Secilen Minecraft surumu icin gereken Java surumunu algilar ve gerekirse OpenJDK kurar. |
| Calisma kontrolu | Sunuculari bagimsiz GNU screen oturumlarinda baslatir; guvenli durdurma ve yeniden baslatma akislari sunar. |
| Yedekleme | Manuel yedek olusturur, cron ile gunluk veya haftalik otomatik yedek planlar. |
| Yapilandirma | Etkilesimli server.properties editoru ve RAM ayarlari sunar. |
| Izleme | Calisan sunucular icin canli CPU, RAM ve disk kullanimini gosterir. |
| Bildirimler | Baslatma, durdurma, zorla kapatma, yedekleme ve eklenti islemleri icin Discord webhook bildirimi gonderir. |
| Sistem acilisi | Kayitli sunucularin makine acilisinda baslamasi icin systemd servisi olusturur. |
| Eklentiler | Modrinth uzerinden uyumlu eklenti arar, kurar, siler ve Geyser/Floodgate kurulumu yapabilir. |
| Proxy aglari | Desteklenen proxy yazilimlarinin arkasina Paper backend sunuculari kurabilir. |
Sunucu yazilimlari:
- Vanilla
- Paper
- Folia
- Purpur
- Fabric
- Forge
- NeoForge
Proxy yazilimlari:
- Velocity
- Waterfall
- BungeeCord
Script gerekli araclari otomatik kontrol eder ve Debian/Ubuntu uzerinde eksik paketleri kurabilir:
bashcurljqscreentargzip- Secilen Minecraft surumunun gerektirdigi Java/OpenJDK surumu
Velocity derlemeleri Java 21 gerektirir. Installer, Velocity icin Java 21'i otomatik secer ve kayitli sunucular baslatilmadan once olusturulan start.sh dosyasindaki Java yolunu yeniler.
Debian disi Linux dagitimlari ve macOS uyumluluk modunda calisabilir, ancak asil hedef uretim ortami Debian/Ubuntu sistemleridir.
git clone https://github.com/devRaikou/mcserver-installer.git
cd mcserver-installer
chmod +x mcserver-installer
./mcserver-installerKayitli bir sunucunun yedegini arayuzu acmadan almak icin:
./mcserver-installer --backup <sunucu_adi>Bu ozellik cron, uzak otomasyonlar ve harici paneller icin kullanislidir.
Geliştirici: devRaikou | Sürüm: 1.73
GitHub: https://github.com/devRaikou/mcserver-installer
================================================================
ANA MENÜ
================================================================
1. Minecraft Sunucusu Kur
2. Mevcut Sunucuyu Yönet
3. Sunucu Jar Dosyasını Güncelle
4. Sunucuyu Yedekle
5. Yedeği Geri Yükle
6. Sunucuyu Kaldır / Kaydı Sil
7. Ayarlar ve Sistem Kontrolleri
8. Hakkında
9. Çıkış
================================================================
Seçim yapın (1-9):
Bir sunucu kurulduktan ve kaydedildikten sonra yonetim menusu ile sunlari yapabilirsiniz:
- Sunucuyu baslatma, durdurma ve yeniden baslatma.
- Yonetimli konsol arayuzu acma veya dogrudan GNU
screenoturumuna baglanma. logs/latest.logdosyasini goruntuleme.server.propertiesdosyasini duzenleme.- Yedek olusturma ve yedekten geri yukleme.
- Otomatik yedekleme zamanlamasi ayarlama.
start.shicindeki RAM miktarlarini degistirme.- Yaygin Paper/Spigot performans ayarlarini optimize etme.
- Canli kaynak kullanimini izleme.
- Eklenti kurma veya silme.
systemdile sistem acilisinda otomatik baslatmayi acma veya kapatma.
Her sunucu, kurulum sirasinda olusturulan start.sh dosyasi ile baslatilir. Bu dosya su formattaki bagimsiz bir screen oturumunda calisir:
mc-<sunucu-adi>-<dizin-hash>
Olusturulan baslatici dosyada cokme sonrasi otomatik yeniden baslatma dongusu bulunur. Manuel durdurmalarda .stop_restart kilit dosyasi olusturularak sunucunun hemen yeniden baslamasi engellenir.
Manuel ve otomatik yedekler her sunucunun kendi dizininde tutulur:
<sunucu>/backups/backup_YYYYMMDD_HHMMSS.tar.gz
Yedekler olusturulurken backups ve logs dizinleri haric tutulur. Boylece tekrar eden arsivler ve gereksiz log buyumesi engellenir.
Installer yerel ayarlarini ve sunucu kayitlarini su dizinde tutar:
~/.mcserver-installer/
Onemli dosyalar:
registry.txt: kayitli sunucu adi, dizini, yazilim tipi ve surumu.settings.conf: dil ve Discord webhook ayarlari..public_ip: arayuz ve bildirimlerde kullanilan onbellege alinmis genel IP.
Duzenleme yaptiktan veya yayinlamadan once dogrulama scriptini calistirin:
./verify.shBu script Bash soz dizimini, calistirma iznini ve curl/jq ile Mojang surum manifestinin okunabildigini kontrol eder.
devRaikou tarafindan gelistirilmis olup MIT Lisansi ile yayinlanmistir.
Bu proje MIT Lisansi altinda yayinlanmistir. Detaylar icin LICENSE dosyasina bakin.