Minecraft sunucunuzu başlatırken Failed to bind to port, Address already in use veya Perhaps a server is already running on that port? hatası alıyorsanız, sorun çoğu zaman Minecraft dosyalarından değil, kullanmak istediğiniz portun başka bir işlem (aynı portta açık başka bir sunucu) tarafından kullanılıyor olmasından kaynaklanır.
Bu hata özellikle aynı Windows Server veya VDS üzerinde birden fazla Minecraft sunucusu çalıştırıldığında, eski Java işlemi kapanmadan sunucu tekrar başlatıldığında veya iki Minecraft sunucusuna aynı port verildiğinde görülür.
Bu rehberde öncelikle Windows Server üzerinde Minecraft port çakışmasını nasıl tespit edip çözeceğinizi, ardından aynı işlemlerin Linux ve Ubuntu sistemlerde nasıl yapılacağını göstereceğiz.
1. Failed to Bind to Port hatası nasıl görünür?
Minecraft konsolunda aşağıdakine benzer bir hata görebilirsiniz:
**** FAILED TO BIND TO PORT!
The exception was: java.net.BindException: Address already in use
Perhaps a server is already running on that port?
Bu hata Minecraft'ın kullanmak istediği IP adresi ve port üzerinde sunucuyu başlatamadığını belirtir.
En sık karşılaşılan nedenler şunlardır:
- Aynı portta başka bir Minecraft sunucusu çalışıyor olabilir.
- Önceki Java işlemi tamamen kapanmamış olabilir.
- İki farklı Minecraft sunucusunda aynı
server-portdeğeri kullanılıyor olabilir. server-ipyanlış yapılandırılmış olabilir.- Minecraft'ın kullanmak istediği port başka bir uygulama tarafından kullanılıyor olabilir.
2. Önce Minecraft'ın hangi portu kullanmaya çalıştığını öğrenin
Minecraft Java Edition sunucularında varsayılan port:
25565
Ancak sunucunuz farklı bir port kullanıyor olabilir.
Minecraft sunucu klasöründeki server.properties dosyasını Not Defteri veya başka bir metin editörü ile açın ve aşağıdaki satırı bulun:
server-port=25565
Örneğin:
server-port=25570
yazıyorsa Minecraft sunucunuz 25570 portunu kullanmaya çalışıyor demektir.
Kontrolleri yaparken mutlaka kendi server-port değerinizi kullanın.
3. Windows Server'da Minecraft portunu hangi program kullanıyor?
Batihost üzerinde Windows Server kullanıyorsanız portu kullanan işlemi CMD veya PowerShell üzerinden kolayca bulabilirsiniz.
Öncelikle Komut İstemi'ni (CMD) yönetici olarak açın.
Minecraft'ın varsayılan 25565 portunu hangi işlemin kullandığını görmek için:
netstat -ano | findstr :25565
Örneğin şöyle bir çıktı alabilirsiniz:
TCP 0.0.0.0:25565 0.0.0.0:0 LISTENING 4820
Buradaki en sağdaki:
4820
değeri işlemin PID numarasıdır.
Yani bu örnekte 25565 portunu PID 4820 olan işlem kullanmaktadır.
4. Windows'ta PID'nin hangi programa ait olduğunu bulun
Bir önceki adımda bulduğunuz PID'nin hangi programa ait olduğunu görmek için:
tasklist /FI "PID eq 4820"
Örneğin:
Image Name PID
========================= ========
java.exe 4820
görüyorsanız port başka bir Java işlemi tarafından kullanılmaktadır.
Bu çoğu durumda daha önce başlatılmış başka bir Minecraft sunucusudur.
5. Windows Görev Yöneticisi ile de kontrol edebilirsiniz
Komut kullanmak istemiyorsanız Windows Görev Yöneticisi üzerinden de Java işlemlerini kontrol edebilirsiniz.
- Ctrl + Shift + Esc tuşlarına basın.
- Ayrıntılar sekmesine geçin.
java.exeveyajavaw.exeişlemlerini bulun.- PID sütunundan ilgili işlemi kontrol edin.
PID sütunu görünmüyorsa Görev Yöneticisi içerisindeki sütun seçeneklerinden PID bilgisini aktif edebilirsiniz.
Ancak birden fazla Minecraft sunucusu çalıştırıyorsanız yalnızca java.exe adına bakarak işlem kapatmak doğru değildir. Önce portu kullanan PID'nin hangisi olduğunu tespit edin.
6. Windows PowerShell ile portu kullanan işlemi bulma
PowerShell kullananlar için daha modern bir yöntem de bulunmaktadır.
PowerShell'i yönetici olarak açarak:
Get-NetTCPConnection -LocalPort 25565
komutunu çalıştırabilirsiniz.
Portu kullanan işlemin PID değerini doğrudan görmek için:
Get-NetTCPConnection -LocalPort 25565 | Select-Object LocalAddress,LocalPort,State,OwningProcess
Daha sonra PID'nin hangi uygulamaya ait olduğunu:
Get-Process -Id 4820
komutuyla görebilirsiniz.
7. Windows'ta eski Minecraft Java işlemini kapatma
Portu kullanan işlemin eski veya artık kullanılmayan bir Minecraft sunucusu olduğundan eminseniz öncelikle Minecraft konsolundan:
stop
komutunu kullanarak sunucuyu kapatmanız önerilir.
Bu yöntem Minecraft dünyasının ve chunk verilerinin düzgün şekilde kaydedilmesini sağlar.
Konsola erişemiyorsanız ve işlemin gerçekten kapatılması gerektiğinden eminseniz Windows CMD üzerinden:
taskkill /PID 4820
komutunu kullanabilirsiniz.
Normal yöntemle kapanmıyorsa son çare olarak:
taskkill /F /PID 4820
kullanılabilir.
Uyarı:
/Fparametresi işlemi zorla kapatır. Aktif bir Minecraft sunucusunun zorla kapatılması kaydedilmemiş verilerin kaybolmasına veya dünya dosyalarının zarar görmesine neden olabilir. Mümkün olduğunda Minecraft konsolundakistopkomutunu kullanın.
8. Portun boşaldığını Windows'ta tekrar kontrol edin
İşlemi kapattıktan sonra tekrar:
netstat -ano | findstr :25565
komutunu çalıştırın.
Herhangi bir LISTENING kaydı görünmüyorsa port artık boşta olabilir ve Minecraft sunucusunu yeniden başlatabilirsiniz.
9. Aynı Windows Server'da birden fazla Minecraft sunucusu çalıştırıyorsanız
Tek bir Windows VDS üzerinde birden fazla Minecraft sunucusu çalıştırabilirsiniz. Ancak her sunucunun farklı bir port kullanması gerekir.
Örneğin ilk sunucu:
server-port=25565
ikinci sunucu:
server-port=25566
üçüncü sunucu:
server-port=25567
şeklinde yapılandırılabilir.
İki Minecraft sunucusunu aynı anda:
server-port=25565
ile başlatmaya çalışırsanız ilk açılan sunucu portu kullanır, ikinci sunucu ise Failed to Bind to Port hatası verebilir.
10. Windows Firewall bu hataya neden olur mu?
Failed to Bind to Port hatası ile dışarıdan bağlantı kurulamaması birbirinden farklı problemlerdir.
Windows Defender Firewall portu engelliyorsa Minecraft genellikle kendi portunu dinlemeye başlayabilir ancak oyuncular dışarıdan bağlanamayabilir.
Buna karşılık:
Address already in use
hatası genellikle aynı portun başka bir işlem tarafından zaten kullanıldığını gösterir.
Dolayısıyla Failed to Bind to Port hatası aldığınızda ilk yapılması gereken Windows Firewall'u kapatmak değil, portu hangi işlemin kullandığını kontrol etmektir.
11. Windows Firewall'da Minecraft portunu kontrol etme
Port çakışmasını çözdükten sonra sunucu açılıyor fakat oyuncular bağlanamıyorsa Windows Firewall kurallarını kontrol edebilirsiniz.
PowerShell üzerinden Minecraft'ın varsayılan portuna izin vermek için:
New-NetFirewallRule -DisplayName "Minecraft Server 25565" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow
Farklı bir Minecraft portu kullanıyorsanız 25565 değerini kendi portunuzla değiştirin.
Burada tekrar belirtmek gerekir:
Failed to bind to port = Portu Minecraft kullanamıyor
iken:
Sunucu açılıyor ama oyuncular bağlanamıyor = Firewall / ağ problemi olabilir
Bu iki hata aynı şekilde değerlendirilmemelidir.
12. server-ip ayarını kontrol edin
Bir diğer sık yapılan hata server.properties dosyasındaki server-ip alanına yanlış IP adresi yazılmasıdır.
Çoğu standart Minecraft sunucu kurulumunda:
server-ip=
şeklinde boş bırakılması tavsiye edilir.
Örnek:
server-ip=
server-port=25565
server-ip alanına sunucuda bulunmayan veya yanlış bir IP adresi girilirse Minecraft ilgili adrese bind olamayabilir.
Özellikle Windows VDS kullanıcılarının public IP adresini bu alana yazması çoğu durumda gerekli değildir.
13. Linux ve Ubuntu'da portu hangi işlem kullanıyor?
Linux veya Ubuntu Minecraft sunucusu kullanıyorsanız Windows'taki netstat -ano yerine genellikle ss komutu kullanılır.
Örneğin 25565 portunu kontrol etmek için:
ss -lntp | grep 25565
Örnek çıktı:
LISTEN 0 4096 *:25565 *:* users:(("java",pid=18432,fd=123))
Buradaki:
pid=18432
portu kullanan işlemin PID değeridir.
Windows'ta:
netstat -ano | findstr :25565
kullanırken Linux'ta aynı kontrolü:
ss -lntp | grep 25565
ile yapabilirsiniz.
14. Linux'ta Java işlemlerini kontrol edin
Çalışan Java işlemlerini görmek için:
ps aux | grep java
veya daha sade şekilde:
pgrep -a java
kullanabilirsiniz.
Örneğin:
18432 java -Xms4G -Xmx8G -jar server.jar nogui
şeklinde bir çıktı, PID 18432 olan bir Java işleminin hâlâ çalıştığını gösterir.
15. Linux'ta screen içerisinde eski sunucu açık olabilir
Minecraft'ı screen ile çalıştırıyorsanız aktif screen oturumlarını:
screen -ls
komutuyla kontrol edin.
Oturuma dönmek için:
screen -r OTURUM_ID
kullanabilirsiniz.
Minecraft konsoluna ulaştıktan sonra:
stop
komutuyla sunucuyu güvenli şekilde kapatın.
16. Linux'ta işlemi PID üzerinden kapatma
İşlemin eski ve kullanılmayan bir Minecraft sunucusuna ait olduğundan eminseniz:
kill 18432
komutuyla normal sonlandırma sinyali gönderebilirsiniz.
Ardından:
ps -p 18432
ile işlemin kapanıp kapanmadığını kontrol edin.
Portun boşaldığını doğrulamak için:
ss -lntp | grep 25565
komutunu tekrar çalıştırın.
Uyarı: Linux üzerinde de
kill -9komutunu çalışan Minecraft sunucularında yalnızca son çare olarak kullanın. Sunucuyu mümkün olduğunca Minecraft konsolundakistopkomutuyla kapatın.
17. Windows ve Linux için hızlı karşılaştırma
Windows Server:
netstat -ano | findstr :25565
tasklist /FI "PID eq 4820"
taskkill /PID 4820
Linux / Ubuntu:
ss -lntp | grep 25565
pgrep -a java
kill 18432
Her iki işletim sisteminde de yapılan işlem aslında aynıdır:
Portu kontrol et
↓
Portu kullanan PID'yi bul
↓
İşlemin ne olduğunu doğrula
↓
Eski Minecraft işlemi ise güvenli şekilde kapat
↓
Portun boşaldığını doğrula
↓
Minecraft sunucusunu yeniden başlat
18. Hızlı teşhis: Hangi durumda ne yapmalısınız?
Eğer:
FAILED TO BIND TO PORT
Address already in use
görüyorsanız:
- Portu başka bir işlem kullanıyor mu kontrol edin.
- Eski Java/Minecraft işlemlerini kontrol edin.
- Birden fazla sunucunun aynı portu kullanmadığından emin olun.
server-ipdeğerini kontrol edin.
Eğer Minecraft:
Done (...)! For help, type "help"
mesajıyla başarılı şekilde açılıyor fakat oyuncular bağlanamıyorsa artık Failed to Bind to Port problemi yaşamıyorsunuz demektir. Bu durumda Windows Firewall, sağlayıcı firewall'u, yanlış IP veya dış ağ erişimi kontrol edilmelidir.
Port çakışmasında server.jar veya modları değiştirmeyin
Failed to Bind to Port hatası gördüğünüzde Minecraft modlarını silmek, server.jar dosyasını değiştirmek veya dünyayı sıfırlamak çoğu durumda gereksizdir.
Hata mesajı doğrudan ağ soketi ve port kullanımıyla ilgilidir.
Doğru teşhis sırası:
server-port doğru mu?
↓
Port başka işlem tarafından kullanılıyor mu?
↓
Eski Java işlemi açık mı?
↓
Aynı portta başka Minecraft sunucusu var mı?
↓
server-ip doğru mu?
şeklinde olmalıdır.
Batihost'ta sadece sunucu vermiyoruz, Minecraft da biliyoruz.
Minecraft sunucunuz Failed to Bind to Port hatası veriyor, Java işlemi kapanmıyor, oyuncular sunucuya bağlanamıyor, Forge veya NeoForge başlamıyor ya da crash log içerisinde yüzlerce hata görünüyorsa rastgele dosya değiştirmek yerine problemin kaynağını doğru tespit etmek gerekir.
Batihost olarak özellikle Windows Server ve Minecraft sunucularında müşterilerimize yalnızca CPU, RAM ve disk kaynağı sağlamakla kalmıyor; sunucu tarafında karşılaşılan teknik problemlerin teşhisinde de yardımcı oluyoruz.
