Minecraft sunucusunu Windows servisi olarak çalıştırmak, sunucunun makine açılır açılmaz kendiliğinden başlaması ve Uzak Masaüstü oturumunuzu kapattığınızda düşmemesi için gereken tek doğru yöntemdir. Bunun standart aracı NSSM’dir (Non-Sucking Service Manager): tek bir nssm.exe dosyasıdır, java.exe sürecini Windows Hizmet Denetim Yöneticisi’ne kaydeder, süreç çökerse geri kaldırır ve konsol çıktısını log dosyasına yazar.
Bu rehberde Windows 10, Windows 11 ve Windows Server 2022/2025 üzerinde NSSM ile servis oluşturmayı, çökme sonrası otomatik yeniden başlatmayı, log döndürmeyi, dünya kaybı yaşatmayan güvenli kapatmayı ve servis hâline gelen sunucuya RCON ile komut göndermeyi adım adım anlatıyoruz. Tüm yollar C:\minecraft\server düzenine göre verilmiştir; kendi klasörünüze göre uyarlayın.
RDP oturumunu kapatınca sunucu neden düşüyor?#
Uzak Masaüstü ile bağlanıp start.bat dosyasına çift tıkladığınızda Java süreci sizin oturumunuzun çocuğu olur. Oturumu “Oturumu kapat” diyerek sonlandırdığınızda Windows o oturumdaki tüm süreçleri sonlandırır ve sunucu kapanır. Sadece RDP penceresini çarpıya basarak kapatırsanız oturum “bağlantısı kesildi” durumunda kalır ve sunucu bir süre yaşar; ancak bu güvenilir değildir. Boşta kalan oturumlar grup ilkesiyle otomatik sonlandırılır, sunucu yeniden başlatıldığında hiçbir şey kendiliğinden kalkmaz ve Windows güncellemesi sonrası makine açık olduğu hâlde sunucu kapalı kalır.
Servis modeli bu zinciri tamamen kırar. Servis, kullanıcı oturumundan bağımsız olan Oturum 0’da çalışır. Kimse makineye giriş yapmasa bile ayaktadır, açılışta otomatik başlar, çöktüğünde Hizmet Denetim Yöneticisi tarafından geri kaldırılır ve Görev Yöneticisi’nin Hizmetler sekmesinden durumu tek bakışta görülür.
Başlamadan önce: klasör düzeni ve ön koşullar#
Servis kurmadan önce şu üç şeyin yerinde olması gerekir:
- Java 25. Minecraft 26.1 ve sonrası Java 25 ister. Kurulumu ve
JAVA_HOMEayarını Windows’a Java 25 kurulumu sayfasında anlattık. Servis tanımında PATH’e güvenmeyipjava.exedosyasının tam yolunu kullanacağız. - Elle çalışan bir sunucu.
C:\minecraft\serveriçindepaper.jar, kabul edilmişeula.txtve oluşmuş birworldklasörü bulunmalı. RAM değerlerini start.bat dosyası oluşturma sayfasındaki mantığa göre belirleyin. - Yönetici yetkisi. Servis oluşturmak yönetici hakkı ister. Komut istemini veya Windows Terminal’i her zaman “Yönetici olarak çalıştır” ile açın.
Log dosyaları için ayrıca bir klasör açın; NSSM’in yazacağı çıktıyı sunucu klasörünün içine karıştırmayın:
New-Item -ItemType Directory -Path C:\minecraft\logs -Force
New-Item -ItemType Directory -Path C:\nssm -Force
NSSM’i indirme ve yerleştirme#
NSSM’in kurulumu yoktur; ZIP arşivini açıp içindeki win64\nssm.exe dosyasını sabit bir klasöre kopyalamanız yeterlidir. Kararlı sürüm 2.24’tür; indirme sayfasında ayrıca bir ön sürüm (2.24-101-g897c7ad) listelenir ve modern Windows sürümlerinde bu yapı daha az sorun çıkarır.
-
NSSM — Non-Sucking Service ManagerZorunluİndir
-
Eclipse Temurin JDK 25LTSİndir
-
7-ZipArşiv açmak içinİndir
-
Crafty ControllerAlternatifİndir
Bağlantılar resmî kaynaklara gider. NSSM’i üçüncü taraf yazılım sitelerinden indirmeyin; o dosyalar sıkça değiştirilmiş olur.
Arşivi açtıktan sonra nssm.exe dosyasını C:\nssm\nssm.exe konumuna kopyalayın. 32 bit klasöründeki dosyayı kullanmayın; 64 bit Windows’ta win64 içindeki doğru olandır.
NSSM ile Minecraft servisini oluşturma#
-
Komut istemini yönetici olarak açın#
Başlat menüsüne cmd yazın, çıkan sonuca sağ tıklayıp Yönetici olarak çalıştır deyin. Windows Terminal kullanıyorsanız aynı şekilde yönetici kipinde açın.
-
Servis kurulum penceresini açın#
Servis adında boşluk ve Türkçe karakter kullanmayın. Bu ad, sonraki tüm komutlarda ve
services.msclistesinde göreceğiniz addır.C:\nssm\nssm.exe install MinecraftPaper -
Application sekmesini doldurun#
Açılan pencerede üç alan kritiktir. Path alanına Java çalıştırılabilirinin tam yolunu, Startup directory alanına sunucu klasörünü, Arguments alanına JVM ve jar argümanlarını yazın:
Path: C:\Program Files\Eclipse Adoptium\jdk-25.0.4.7-hotspot\bin\java.exe Startup directory: C:\minecraft\server Arguments: -Xms6G -Xmx6G -XX:+UseG1GC -jar paper.jar noguiStartup directory’yi boş bırakmak en sık yapılan hatadır; sunucu
C:\Windows\System32içinde başlar, dünyanızı bulamaz ve yeni bir boş dünya oluşturur. -
Details ve Exit actions sekmelerini ayarlayın#
Details sekmesinde Display name olarak “Minecraft Paper Sunucusu”, Startup type olarak Automatic seçin. Exit actions sekmesinde “Restart application” işaretli kalsın, Delay restart değerini 10000 ms yapın.
-
Servisi kurun ve başlatın#
C:\nssm\nssm.exe start MinecraftPaper C:\nssm\nssm.exe status MinecraftPaperİkinci komut
SERVICE_RUNNINGyazdırıyorsa sunucu ayaktadır.services.mscaçıp listede “Minecraft Paper Sunucusu” satırını da görebilirsiniz.
jdk-25.0.4.7-hotspot yerine başka bir numara). Dosya Gezgini’nde C:\Program Files\Eclipse Adoptium klasörünü açıp gerçek klasör adını kopyalayın; yanlış yol verirseniz servis “başlatıldı ve durdu” hatasıyla düşer.Komut satırından tam yapılandırma#
Pencereyle uğraşmak istemiyorsanız ya da aynı ayarı birden çok makinede kuracaksanız, tüm parametreleri nssm set ile verebilirsiniz. Aşağıdaki blok, yönetici komut isteminde olduğu gibi çalışır:
set NSSM=C:\nssm\nssm.exe
set SVC=MinecraftPaper
%NSSM% install %SVC% "C:\Program Files\Eclipse Adoptium\jdk-25.0.4.7-hotspot\bin\java.exe"
%NSSM% set %SVC% AppDirectory C:\minecraft\server
%NSSM% set %SVC% AppParameters "-Xms6G -Xmx6G -XX:+UseG1GC -jar paper.jar nogui"
%NSSM% set %SVC% DisplayName "Minecraft Paper Sunucusu"
%NSSM% set %SVC% Description "Paper 26.2 - 25565/TCP - C:\minecraft\server"
%NSSM% set %SVC% Start SERVICE_AUTO_START
%NSSM% set %SVC% AppPriority ABOVE_NORMAL_PRIORITY_CLASS
Heap değerlerini pakete göre seçin: 8 GB’lık sunucuda -Xms6G -Xmx6G, 12 GB’lık pakette -Xms10G -Xmx10G, 16 GB’da -Xms14G -Xmx14G, 32 GB’da -Xms28G -Xmx28G. Xms ve Xmx her zaman eşit verilir. Bayrak setini genişletmek isterseniz Aikar’s Flags 26.x sunucularında hâlâ geçerlidir; ayrıntısı RAM ayarları ve JVM flag’leri sayfasında.
nssm set MinecraftPaper AppEnvironmentExtra JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-25.0.4.7-hotspot. Böylece sistem geneli bozulmaz.Çökme sonrası otomatik yeniden başlatma#
NSSM’in en değerli özelliği, Java süreci hangi sebeple çıkarsa çıksın onu geri kaldırmasıdır. Üç parametre bu davranışı belirler:
nssm set MinecraftPaper AppExit Default Restart
nssm set MinecraftPaper AppRestartDelay 10000
nssm set MinecraftPaper AppThrottle 20000
AppExit Default Restart her çıkış kodunda yeniden başlatma anlamına gelir. AppRestartDelay 10000, port hâlâ serbest kalmadan yeniden denenmesini engelleyen 10 saniyelik beklemedir. AppThrottle 20000 ise şu işe yarar: süreç başladıktan sonraki 20 saniye içinde ölürse NSSM bunu “başlayamıyor” kabul eder ve sonsuz döngüye girmeden bekleme süresini artırır. Yanlış Java yolu ya da bozuk jar yüzünden CPU’yu yakan başlat-öl döngüsünü bu değer önler.
Sunucu sürekli kendini yeniden başlatıyorsa sorun NSSM’de değildir. Heap yetersizliğinden kaynaklanıyorsa OutOfMemoryError çözümü, jar bulunamıyorsa “Unable to access jarfile” hatası sayfasına bakın.
Log dosyaları ve otomatik döndürme#
Servisin penceresi olmadığı için konsol çıktısını dosyaya yönlendirmek zorunludur. Yoksa sunucu çöktüğünde neden çöktüğünü görecek hiçbir kaydınız olmaz. NSSM standart çıktıyı ve hata çıktısını ayrı dosyalara yazabilir, üstelik dosya büyüdüğünde servisi durdurmadan döndürebilir:
nssm set MinecraftPaper AppStdout C:\minecraft\logs\service-out.log
nssm set MinecraftPaper AppStderr C:\minecraft\logs\service-err.log
nssm set MinecraftPaper AppRotateFiles 1
nssm set MinecraftPaper AppRotateOnline 1
nssm set MinecraftPaper AppRotateSeconds 86400
nssm set MinecraftPaper AppRotateBytes 20971520
Bu ayarla log her gün ya da 20 MB’ı geçtiğinde tarih damgalı bir dosyaya alınır. Minecraft’ın kendi logs\latest.log dosyası da yerinde durmaya devam eder; NSSM logu ise jar hiç çalışmadan alınan JVM hatalarını yakaladığı için ayrı bir değer taşır. Son satırları hızlıca görmek için:
Get-Content C:\minecraft\logs\service-out.log -Tail 50 -Wait
Güvenli kapatma: dünya kaydedilmeden servis durmasın#
Varsayılan ayarlarla NSSM süreci durdururken sırasıyla Ctrl+C sinyali, WM_CLOSE, WM_QUIT ve son çare olarak TerminateProcess dener. Minecraft sunucusu için doğru olan yalnızca ilkidir: Ctrl+C sinyalini alan sunucu kapanış kancasını çalıştırır, oyuncuları düşürür, chunk’ları diske yazar ve temiz çıkar. Pencere mesajlarını atlayıp Ctrl+C’ye bol süre tanıyın:
nssm set MinecraftPaper AppStopMethodSkip 6
nssm set MinecraftPaper AppStopMethodConsole 30000
nssm set MinecraftPaper AppKillProcessTree 1
AppStopMethodSkip 6 değeri WM_CLOSE ve WM_QUIT adımlarını atlar. AppStopMethodConsole 30000, kaydetmenin tamamlanması için 30 saniye tanır. Dünyanız birkaç on GB büyüklüğündeyse bu süreyi 60000 yapın.
Servise komut göndermek: RCON kurun#
Servis Oturum 0’da penceresiz çalıştığından konsola bir şey yazamazsınız. NSSM’in AppStdin parametresi yalnızca bir dosyayı standart girişe bağlar, canlı komut yazmaya uygun değildir. Doğru çözüm Minecraft’ın kendi uzak konsol protokolü RCON’dur. C:\minecraft\server\server.properties dosyasını Not Defteri veya Notepad++ ile açıp şu satırları ayarlayın:
enable-rcon=true
rcon.port=25575
rcon.password=uzun-ve-tahmin-edilemez-bir-parola
broadcast-rcon-to-ops=true
Ardından servisi yeniden başlatın: nssm restart MinecraftPaper. Bir RCON istemcisiyle 127.0.0.1:25575 adresine bağlanıp save-all, whitelist add, stop gibi komutları gönderebilirsiniz. Komut listesinin tamamı konsol komutları sayfasında.
Servisi hangi hesapla çalıştırmalı?#
NSSM servisi varsayılan olarak LocalSystem hesabıyla kurar. Bu hesap makinede çok yetkilidir; eklentiler aracılığıyla dosya sistemine erişebilen bir sunucu için ideal değildir. Daha güvenli yol, yalnızca sunucu klasörüne yazma izni olan yerel bir hesap açıp servisi onunla çalıştırmaktır:
New-LocalUser -Name "mcsvc" -Description "Minecraft servis hesabi" -PasswordNeverExpires
icacls C:\minecraft /grant "mcsvc:(OI)(CI)M" /T
Sonra nssm edit MinecraftPaper ile Log on sekmesinden bu hesabı seçin. Hesabın “Hizmet olarak oturum aç” (Log on as a service) hakkına ihtiyacı vardır; NSSM bu hakkı kendisi vermeye çalışır, vermezse Yerel Güvenlik İlkesi’nden (secpol.msc) elle ekleyin. Hesap değiştirdikten sonra C:\minecraft altındaki tüm dosyaların yeni hesaba yazma izni verdiğinden emin olun, aksi hâlde dünya kaydedilemez.
Görev Zamanlayıcı ve panel alternatifleri#
NSSM tek seçenek değildir, ama tek başına en dengeli olanıdır. Üç yaklaşımın karşılaştırması:
| Yöntem | Açılışta başlar | Çökünce kaldırır | Log toplar | Konsol erişimi |
|---|---|---|---|---|
| NSSM servisi | Evet | Evet | Evet | RCON ile |
| Görev Zamanlayıcı + start.bat | Evet | Kısmen (görev yeniden dener) | Hayır | RCON ile |
| Crafty Controller paneli | Evet | Evet | Evet | Web arayüzünde |
| Elle start.bat + açık RDP | Hayır | Hayır | Sadece latest.log | Pencerede |
Görev Zamanlayıcı’yı tercih edecekseniz görevi “Kullanıcı oturum açmış olsun ya da olmasın çalıştır” seçeneğiyle oluşturun, tetikleyiciyi Başlangıçta yapın, Ayarlar sekmesinde “Görev başarısız olursa yeniden başlat” kutusunu işaretleyin. Web arayüzünden konsol görmek istiyorsanız Crafty Controller Windows’ta servis kipinde kurulabilir ve birden fazla sunucuyu tek panelden yönetir.
7/24 çalışacak sunucu için donanım#
Servis kurmak sunucuyu kesintisiz yapar ama yavaş donanımı hızlandırmaz. Minecraft’ın ana tick döngüsü tek çekirdekte döner; belirleyici olan çekirdek sayısı değil saat hızıdır. Bu yüzden yüksek frekanslı AMD Ryzen işlemciler tercih edilir.
| Senaryo | RAM | İşlemci | Disk | Java heap |
|---|---|---|---|---|
| 2-10 oyuncu, vanilla veya hafif eklentili | 8 GB | Ryzen 9 3900X ve üzeri | 50 GB NVMe | -Xms6G -Xmx6G |
| 10-30 oyuncu, eklentili Paper | 12 GB | Ryzen 9 7900X | 80 GB NVMe | -Xms10G -Xmx10G |
| 30-60 oyuncu, minigame veya çok dünyalı | 16 GB | Ryzen 9 7950X | 100 GB NVMe | -Xms14G -Xmx14G |
| Forge / Fabric modpack | 16-32 GB | Ryzen 9 7950X | 100 GB+ NVMe | -Xms14G -Xmx14G / -Xms28G -Xmx28G |
| 60+ oyuncu veya proxy’li sunucu ağı | 32 GB ve üzeri | Ryzen 9 7950X | 200 GB NVMe | -Xms28G -Xmx28G |
Kendi makinenizi 7/24 açık tutmak yerine hazır bir altyapı istiyorsanız Batihost’un yüksek frekanslı Ryzen VDS paketleri Windows Server lisansıyla birlikte gelir; doğrudan oyun paketi arıyorsanız Minecraft sunucu paketlerine bakabilirsiniz. Sıfırdan Windows VDS kurulumunu Uzak Masaüstüyle Minecraft sunucusu kurma sayfasında anlattık.
Sık karşılaşılan sorunlar#
“Servis başlatıldı ve sonra durdu”#
Neredeyse her zaman yanlış Java yolu, yanlış jar adı ya da boş bırakılmış AppDirectory yüzündendir. C:\minecraft\logs\service-err.log dosyasını açın; JVM hata mesajı orada olur. Yolları teker teker Dosya Gezgini’nden doğrulayın.
Servis çalışıyor ama port dinlenmiyor#
Portun gerçekten açıldığını doğrulamak için:
Get-NetTCPConnection -LocalPort 25565 -State Listen
Get-Process java | Select-Object Id, StartTime, WorkingSet
Çıktı boşsa sunucu henüz açılıyordur ya da başka bir süreç portu tutmuştur. İkinci durumda “Failed to bind to port” hatası sayfasındaki adımları uygulayın.
Sunucu her yeniden başlatmada eski dünyayı bulamıyor#
AppDirectory yanlıştır. Servisi durdurun, nssm set MinecraftPaper AppDirectory C:\minecraft\server komutunu çalıştırın, sonra C:\Windows\System32 altında oluşmuş yanlış world ve logs klasörlerini silin.
CPU sürekli %100, TPS düşük#
Bu servisle ilgili değildir. Windows tarafındaki güç planı, Defender taraması ve sayfa dosyası ayarları için Windows Server’da Minecraft optimizasyonu sayfasına bakın.
Özetle#
Minecraft sunucusunu Windows servisi olarak çalıştırmak için NSSM’i C:\nssm klasörüne koyun, nssm install ile servisi oluşturun ve üç alanı doğru doldurun: java.exe’nin tam yolu, sunucu klasörü ve JVM argümanları. Ardından AppExit Default Restart + AppRestartDelay 10000 + AppThrottle 20000 ile çökme sonrası toparlanmayı, AppStdout / AppRotateFiles ile log yönetimini, AppStopMethodSkip 6 + AppStopMethodConsole 30000 ile dünya kaybı yaşatmayan kapatmayı kurun.
Konsola komut göndermek için RCON’u yalnızca yerel erişime açık biçimde etkinleştirin, dışarıya sadece 25565/TCP açık kalsın. Donanımda 8 GB RAM altına inmeyin, yüksek saat hızlı Ryzen 9 ve NVMe SSD tercih edin. Kurulum zincirinin tamamını görmek isterseniz Windows’ta Minecraft sunucu kurulumu ana rehberinden başlayın.