Minecraft RCON (Remote Console — uzak konsol), sunucu konsoluna ağ üzerinden bağlanıp komut çalıştırmanızı sağlayan protokoldür. Minecraft’ın resmî tanımıyla “sunucu konsoluna ağ üzerinden erişim” sunar ve varsayılan olarak kapalıdır. Açmak için server.properties dosyasında üç satır düzenlemeniz yeterlidir: enable-rcon, rcon.password ve rcon.port.
RCON’u en çok yedekleme betikleri, zamanlanmış yeniden başlatmalar, Discord botları ve web panelleri kullanır. Sunucuya SSH ile girip screen oturumuna geçmeden, tek satırlık bir komutla “dünyayı kaydet” ya da “herkese duyuru yap” diyebilmenizi sağlar.
Bu rehberde RCON’u güvenli biçimde açmayı, mcrcon istemcisiyle kullanmayı, otomasyon betiklerine bağlamayı ve en önemlisi ne yapmamanız gerektiğini anlatıyoruz. Çünkü RCON, yanlış yapılandırıldığında sunucunuzu tamamen kaybetmenize yol açabilecek bir kapıdır.
RCON Ne İşe Yarar, Ne İşe Yaramaz?#
Yarar#
- Betiklerden komut göndermek (yedek öncesi
save-off, sonrasısave-on) - Zamanlanmış duyuru ve yeniden başlatma
- Discord botu, web sitesi veya oylama sisteminden sunucuya ödül komutu göndermek
- Panel arayüzlerinin konsol özelliğini beslemek
Yaramaz#
- Canlı konsol akışını izlemek — RCON komut gönderir, log akışı vermez
- Sunucuyu başlatmak — sunucu kapalıyken RCON da kapalıdır
- Dosya düzenlemek, eklenti yüklemek
- Güvenli uzaktan yönetim — bunun için SSH gerekir
Sunucuyu kapalıyken başlatmanız veya logu canlı izlemeniz gerekiyorsa RCON yanlış araçtır; Linux’ta screen ve tmux ile arka planda çalıştırma ya da systemd servisi kurmanız gerekir.
RCON’u Açma: server.properties Ayarları#
Dört ayarın tamamı server.properties dosyasındadır. Dosyayı düzenlemeden önce sunucuyu durdurun; çalışan sunucu kapanırken dosyanın üzerine kendi kopyasını yazar ve değişiklikleriniz kaybolur.
enable-rcon=true
rcon.port=25575
rcon.password=uzun-rastgele-parola-en-az-16-karakter
broadcast-rcon-to-ops=false
| Ayar | Varsayılan | Açıklama |
|---|---|---|
enable-rcon | false | RCON servisini açar. Sunucu konsoluna ağ üzerinden erişime izin verir. |
rcon.password | boş | RCON parolası. Boşsa RCON başlamaz — bu kasıtlı bir güvenlik önlemidir. |
rcon.port | 25575 | RCON’un dinlediği TCP portu. 1–65534 arası bir değer alabilir. |
broadcast-rcon-to-ops | — | RCON üzerinden çalışan komutların çıktısının çevrimiçi yetkililere gösterilip gösterilmeyeceğini belirler. |
Parolayı elle uydurmayın; rastgele üretin. Oyun portu 25565 ile RCON portu 25575 birbirinden bağımsızdır, karıştırmayın. Dosyadaki diğer ayarların tam listesi için server.properties ayarları referansımıza bakabilirsiniz.
# Linux'ta guclu bir RCON parolasi uretmek:
openssl rand -base64 24
# Windows'ta ayni is:
-join ((48..57) + (65..90) + (97..122) | Get-Random -Count 24 | ForEach-Object {[char]$_})
server.properties içinde düz metin durur. Bu dosyayı GitHub’a yüklemeyin, ekran görüntüsünde paylaşmayın, destek talebine yapıştırmadan önce parola satırını silin. Dosyanın okuma izinlerini de daraltın: Linux’ta chmod 600 server.properties yeterlidir.Güvenlik Duvarı: Portu Dışarıya Açmayın#
Bu bölüm rehberin en kritik kısmı. RCON portunu internete açmak, sunucunuzun konsolunu parola denemesi yapan herkese sunmak demektir. Parola ele geçirilirse saldırgan op, ban, stop ve tüm eklenti komutlarını çalıştırabilir.
Doğru yapılandırma şudur: RCON yalnızca 127.0.0.1 üzerinden, yani sunucunun kendi içinden erişilebilir olsun. Başka bir makineden erişmeniz gerekiyorsa iki güvenli yol vardır.
Yol 1: SSH Tüneli (önerilen)#
# Yerel makinenizde calistirin - RCON portunu ACMADAN tunel kurar:
ssh -L 25575:127.0.0.1:25575 kullanici@sunucu-ip
# Tunel acikken, yerel makinede:
mcrcon -H 127.0.0.1 -P 25575 -p parola -t
Bu yöntemde trafik SSH’ın şifreli tüneli içinden geçer; RCON’un şifresiz olması artık sorun değildir çünkü ağa çıplak paket çıkmaz. Windows’tan bağlanıyorsanız PuTTY’nin Tunnels bölümünden aynı yönlendirmeyi tanımlayabilirsiniz. SSH tarafına yabancıysanız SSH ile sunucuya bağlanma rehberimiz temeli veriyor.
Yol 2: Tek IP’ye Kısıtlı Güvenlik Duvarı Kuralı#
# UFW ile SADECE belirli bir IP'ye izin verin:
ufw allow from 203.0.113.10 to any port 25575 proto tcp
# Kuralin dogru yazildigini dogrulayin:
ufw status numbered
ufw allow 25575. Bu, portu tüm internete açar. RCON’a yönelik otomatik tarama botları vardır ve açık bir RCON portu genellikle saatler içinde bulunur. Güvenlik duvarı kurallarının tamamı için sunucu güvenlik duvarı yapılandırma sayfamıza, Windows tarafı için Windows güvenlik duvarı sayfamıza bakın.mcrcon ile Bağlanma#
RCON bir protokoldür; kullanmak için bir istemciye ihtiyacınız var. En yaygın ve en hafif olanı Tiiffi/mcrcon’dur. Güncel sürümü 0.7.2’dir; proje olgun ve stabildir, yıllardır yeni sürüme ihtiyaç duymamıştır.
Linux’ta statik derlenmiş mcrcon-0.7.2-linux-x86-64-static.zip paketini tercih edin; hiçbir bağımlılığı yoktur.
-
Arşivi indirin ve açın#
mcrcon tek dosyalık bir programdır, kurulum sihirbazı yoktur. Arşivden çıkan çalıştırılabilir dosyayı istediğiniz klasöre koyabilirsiniz.
tar -xzf mcrcon-0.7.2-linux-x86-64.tar.gz chmod +x mcrcon sudo mv mcrcon /usr/local/bin/ -
Etkileşimli terminal modunda bağlanın#
-tbayrağı sizi kalıcı bir konsol istemine düşürür; komutları arka arkaya yazabilirsiniz. Çıkmak içinQyazın.mcrcon -H 127.0.0.1 -P 25575 -p parola -t -
Tek seferlik komut çalıştırın#
Komutları tırnak içinde argüman olarak verirseniz mcrcon bağlanır, çalıştırır ve çıkar. Betikler için kullanacağınız yöntem budur.
mcrcon -H 127.0.0.1 -p parola "say Sunucu 5 dakika icinde yeniden baslatilacak"
Komutları yazarken başına / koymayın. Konsol komutlarında eğik çizgi kullanılmaz; say merhaba doğru, /say merhaba yanlıştır. Hangi komutun ne yaptığını hatırlamıyorsanız sunucu konsol komutları listemiz elinizin altında dursun.
Windows’ta mcrcon Kullanımı#
Windows sürümünde kurulum yoktur: mcrcon-0.7.2-windows-x86-64.zip arşivini açtığınızda çıkan mcrcon.exe dosyasını sunucu klasörünüzün yanına koyun. Komut istemini o klasörde açıp aynı bayraklarla çalıştırabilirsiniz.
cd C:\minecraft\server
.\mcrcon.exe -H 127.0.0.1 -P 25575 -p parola -t
# Tek komut:
.\mcrcon.exe -H 127.0.0.1 -p parola "save-all"
PowerShell’de programı çalıştırırken başına .\ koymayı unutmayın; aksi hâlde “komut tanınmadı” hatası alırsınız.
Kullanışlı mcrcon Bayrakları#
- -H
- Sunucu adresi. Varsayılan
localhost. - -P
- RCON portu. Varsayılan
25575. - -p
- RCON parolası.
- -t
- Etkileşimli terminal modu.
- -w
- Komutlar arasında saniye cinsinden bekleme.
Parolayı Betikte Gizlemek#
Parolayı komut satırında -p ile vermek pratiktir ama risklidir: komut geçmişine ve süreç listesine düşer. Aynı makinedeki başka bir kullanıcı ps aux çıktısında parolanızı görebilir. Çözüm ortam değişkenleridir.
export MCRCON_HOST=127.0.0.1
export MCRCON_PORT=25575
export MCRCON_PASS='uzun-rastgele-parola'
# Artik parola yazmadan calisir:
mcrcon -w 5 "say Yedek aliniyor" save-off save-all
~/.mcrcon.env) koyup betikte source ~/.mcrcon.env ile çağırın. Dosyaya chmod 600 verin. Böylece parola tek bir yerde durur ve betiği paylaşmanız gerektiğinde silmeniz gereken bir satır kalmaz.Otomasyon: Yedekleme ve Yeniden Başlatma#
RCON’un asıl değeri burada ortaya çıkar. Dünyayı kaydetmeden alınan yedek bozuk çıkabilir; RCON ile yedek öncesi kaydı durdurup sonrasında geri açabilirsiniz.
#!/bin/bash
# /opt/minecraft/yedek.sh
source ~/.mcrcon.env
mcrcon -w 3 "say Yedek aliniyor, kisa bir takilma olabilir" save-off save-all
tar -czf /yedek/world-$(date +%F-%H%M).tar.gz /opt/minecraft/world
mcrcon "save-on" "say Yedek tamamlandi"
Aynı mantıkla zamanlanmış yeniden başlatma yapabilirsiniz. mcrcon’un kendi belgelerindeki örnek tam olarak bu senaryoyu gösteriyor: önce duyuru, sonra kayıt, sonra durdurma.
mcrcon -H 127.0.0.1 -p parola -w 5 "say Sunucu yeniden baslatiliyor!" save-all stop
Betiği cron ile her gece 05:00’te çalıştırmak için crontab -e açıp 0 5 * * * /opt/minecraft/yedek.sh satırını ekleyin. Yedekleme düzeninin tamamını kurmak isterseniz Minecraft sunucu yedekleme rehberi saklama süresi ve doğrulama adımlarını da anlatıyor.
RCON Protokolü Nasıl Çalışır?#
Hata ayıklarken işinize yarayacağı için akışı kısaca bilmekte fayda var. RCON, TCP üzerinde çalışan basit bir paket protokolüdür ve her paket bir istek kimliği (request ID) taşır.
-
Giriş paketi gönderilir#
İstemci, paket tipi 3 ile parolayı sunucuya yollar. Parola bu adımda hiçbir şifreleme olmadan, olduğu gibi ağa çıkar.
-
Sunucu yanıtı döner#
Sunucu aynı istek kimliğiyle bir paket döndürürse kimlik doğrulama başarılıdır. Bu yanıtın tipi 3 değil 2’dir; protokolü elle uygulayanların en sık takıldığı ayrıntı budur.
-
Başarısızlıkta -1 gelir#
Parola yanlışsa sunucu istek kimliği olarak
-1döner. mcrcon bunu “authentication failed” mesajına çevirir. -
Komutlar gönderilir#
Kimlik doğrulandıktan sonra her komut ayrı bir paket olarak gider ve sunucunun konsol çıktısı yanıt olarak döner.
Bu akışın tamamı düz metindir. Aynı ağdaki bir saldırgan trafiği dinleyebiliyorsa hem parolanızı hem gönderdiğiniz komutları okuyabilir. SSH tüneli önerisinin teknik gerekçesi tam olarak budur.
Sık Karşılaşılan RCON Sorunları#
- Bağlantı reddediliyor
- RCON servisi hiç başlamamış. Sırayla bakın:
enable-rcon=truemu, parola dolu mu, sunucu ayardan sonra yeniden başlatıldı mı? Boş parola RCON’un başlamasını engeller ve konsolda buna dair belirgin bir uyarı görmeyebilirsiniz. - Bağlanıyor ama kimlik doğrulama başarısız
- Parola yanlış. RCON protokolünde başarısız girişte istek kimliği
-1döner; mcrcon bunu “authentication failed” olarak gösterir. Parolada Türkçe karakter veya boşluk varsa kaldırın. - Komut çalışıyor ama cevap gelmiyor
- Bazı eklenti komutları çıktıyı konsol yerine oyun içine basar. Bu bir RCON hatası değildir; sonucu
logs/latest.logdosyasından doğrulayın. - Panel konsolu çalışıyor ama mcrcon çalışmıyor
- Çoğu panel RCON değil, kendi süreç akışını kullanır. Panelin çalışması RCON’un açık olduğu anlamına gelmez.
- Port çakışması
- Aynı makinede birden fazla Minecraft sunucusu varsa her birine ayrı bir RCON portu verin (25575, 25576, 25577…). Aksi hâlde ikinci sunucunun RCON’u başlamaz.
RCON Yerine Kullanabileceğiniz Yöntemler#
RCON tek seçenek değildir ve her sunucunun buna ihtiyacı yoktur. Yalnızca ara sıra komut çalıştıracaksanız açmamak en güvenlisidir.
- Web paneli konsolu — Tarayıcıdan komut çalıştırmanın en pratik yolu. Yetkilendirme panelin kendi hesap sistemi üzerindendir. Kullanımı panel konsolundan komut çalıştırma sayfasında anlatılıyor.
- screen / tmux — SSH ile bağlanıp çalışan oturuma geçmek. Canlı log akışını da görürsünüz, RCON’un veremediği şey budur.
- systemd — Servis olarak çalıştırıp
systemctlile yönetmek. Otomatik başlatma ve çökme sonrası kendini toparlama sağlar.
Sunucunuzun genel güvenlik yapılandırmasını gözden geçirmek isterseniz Minecraft sunucu güvenliği rehberi RCON’un yanı sıra SSH, yetki yönetimi ve eklenti kaynaklarını da ele alıyor. Sunucunuzu Batihost’ta barındırıyorsanız web panelli paketlerde konsol erişimi zaten hazır gelir; RCON’u yalnızca dış entegrasyon gerektiğinde açmanız yeterli olur.
Özetle#
RCON, Minecraft sunucusuna ağ üzerinden komut göndermenin standart yoludur ve doğru kullanıldığında yedekleme, duyuru ve otomasyon işlerini büyük ölçüde kolaylaştırır. Açmak için server.properties içinde enable-rcon=true, rcon.port=25575 ve güçlü bir rcon.password ayarlamanız yeterlidir; parola boşsa servis hiç başlamaz.
Unutmayın: protokol şifresizdir. 25575 portunu internete açmayın, uzaktan erişim gerektiğinde SSH tüneli kullanın, parolayı komut satırı yerine ortam değişkeninde tutun ve server.properties dosyasını kimseyle paylaşmayın. Bu dört kurala uyduğunuzda RCON güvenli ve son derece kullanışlı bir araçtır.