Ubuntu’da Forge modlu Minecraft sunucusu kurulumu, indirdiğiniz installer jar’ını --installServer parametresiyle çalıştırıp oluşan run.sh dosyasını başlatmaktan ibarettir. Minecraft 26.2 için Forge 65.1.0 (Recommended) sürümü kullanılır, sunucu Java 25 ister ve modlu bir kurulumda 16 GB RAM ile başlanır. Bu sayfa Ubuntu 24.04 LTS üzerinde, ayrı bir sistem kullanıcısıyla, sıfırdan çalışan bir Forge sunucusu kurmayı adım adım anlatıyor.
Tüm komutlar SSH oturumundan çalıştırılır. Sunucunuza henüz bağlanmadıysanız önce SSH ile sunucuya bağlanma rehberine göz atın. Forge’un sürüm mantığını, mod uyumluluğunu ve işletim sisteminden bağımsız kavramları Forge ile modlu sunucu kurulumu sayfasında bulabilirsiniz; Windows tarafı için Windows’ta Forge kurulumu ayrı bir sayfadır.
Kurulum Öncesi: Sürüm, Donanım ve Dizin Planı#
Forge’un sürüm numarası Minecraft sürümüyle birlikte yazılır: 26.2-65.1.0 ifadesindeki 26.2 Minecraft, 65.1.0 Forge sürümüdür. İndirme sayfasında iki etiket görürsünüz. Recommended daha uzun süredir test edilmiş yapıdır ve üretim sunucularında bu tercih edilir. Latest en yeni yapıdır, mod geliştiricileri ve yeni API’ye ihtiyaç duyanlar içindir.
| Minecraft sürümü | Forge dalı | Gerekli Java | Durum |
|---|---|---|---|
| 26.2 “Chaos Cubed” | 65.1.1 (Latest) / 65.1.0 (Recommended) | Java 25 | Önerilen |
| 26.1 / 26.1.1 / 26.1.2 | 62.0.x (son yapı 26.1-62.0.9) | Java 25 | Destekli |
| 1.20.5 – 1.21.11 | Eski Forge hatları | Java 21 | Eski hat |
| 1.12.2 | 14.23.5.2859 (Recommended) | Java 8 | Çok eski |
Donanım tarafında modlu sunucular vanilla sunuculardan bambaşka davranır. Her mod kendi blok, eşya ve tick mantığını kayıt defterine ekler; sunucu açılışında yüzlerce sınıf yüklenir ve heap kullanımı dünya boyutundan bağımsız olarak yüksek başlar. Aşağıdaki tablo Forge sunucuları için pratik alt sınırlardır.
| Senaryo | RAM paketi | Java heap | İşlemci / disk |
|---|---|---|---|
| 2-10 oyuncu, 30-60 mod | 16 GB | -Xms14G -Xmx14G | Ryzen 9, 100 GB NVMe |
| 10-30 oyuncu, orta modpack | 16 GB | -Xms14G -Xmx14G | Ryzen 9 7900X, 100 GB NVMe |
| Büyük modpack (150+ mod) | 24-32 GB | -Xms28G -Xmx28G | Ryzen 9 7950X, 200 GB NVMe |
İşlemci seçiminde çekirdek sayısı değil saat hızı belirleyicidir: Minecraft’ın ana tick döngüsü tek çekirdekte çalışır ve modlar bu döngüye yeni iş ekler. Bu yüzden yüksek frekanslı AMD Ryzen 9 sınıfı işlemciler tercih edilir. Diskte NVMe SSD şarttır; modlu dünyalarda chunk okuma/yazma trafiği vanilla’nın çok üzerindedir. Hazır bir altyapı arıyorsanız Batihost’un modlu Minecraft sunucu paketleri bu profile göre yapılandırılmıştır.
Java 25’i Ubuntu’ya Kurmak#
Minecraft 26.1 ve sonrası Java 25 ister. Ubuntu 24.04’ün kendi deposunda Temurin paketi bulunmadığı için Adoptium deposunu eklemeniz gerekir.
sudo apt update
sudo apt install -y wget gpg apt-transport-https ca-certificates unzip
sudo mkdir -p /etc/apt/keyrings
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public \
| sudo gpg --dearmor -o /etc/apt/keyrings/adoptium.gpg
echo "deb [signed-by=/etc/apt/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb \
$(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" \
| sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update
sudo apt install -y temurin-25-jdk
Kurulumu doğrulayın. Çıktıda 25.0.x görmelisiniz:
java -version
Sunucuda birden fazla Java sürümü varsa varsayılanı sudo update-alternatives --config java ile seçin. Dağıtım tercihleri, JAVA_HOME ayarı ve AlmaLinux/Rocky karşılıkları için Linux’a Java 25 kurulumu sayfası ayrıntılı anlatıyor.
-
Eclipse Temurin JDK 25Zorunluİndir
-
Minecraft Forge (MC 26.2 installer)Önerilenİndir
-
Minecraft Forge 1.12.2Eski modpacklerİndir
-
Mod kaynakları: Modrinth ve CurseForgeİndir
Bağlantılar resmî kaynaklara gider. Üçüncü taraf sitelerden mod veya jar indirmeyin.
Ayrı Kullanıcı ve Dizin Yapısı Oluşturma#
Minecraft sunucusunu asla root ile çalıştırmayın. Bir modun veya eklentinin dosya sistemine erişimi olduğu için, ele geçirilen bir sunucunun kök yetkisiyle çalışması tüm makineyi kaybetmek demektir. Yetkisiz bir sistem kullanıcısı açıp sunucuyu onun altında tutun.
-
minecraft kullanıcısını oluşturun#
Giriş kabuğu olmayan, yalnızca servis çalıştırmaya yarayan bir kullanıcı yeterlidir.
sudo adduser --system --group --home /opt/minecraft minecraft -
Forge dizinini açın ve sahipliği verin#
sudo mkdir -p /opt/minecraft/forge sudo chown -R minecraft:minecraft /opt/minecraft -
O kullanıcının kabuğuna geçin#
Bundan sonraki tüm kurulum komutlarını bu kabukta çalıştırın; böylece hiçbir dosya root sahipliğinde kalmaz.
sudo -u minecraft -s cd /opt/minecraft/forge
Forge Installer’ı İndirme#
Forge’un resmî dosya dizini files.minecraftforge.net adresidir. Sayfa varsayılan olarak güncel kararlı Minecraft sürümünü (26.2) açar; sol taraftaki listeden başka bir sürüme geçebilirsiniz. Installer düğmesine sağ tıklayıp bağlantıyı kopyalayın — Forge indirme sayfası bir ara sayfa gösterir, doğrudan jar bağlantısını “Skip” sonrasında elde edersiniz.
cd /opt/minecraft/forge
wget -O forge-26.2-65.1.0-installer.jar "KOPYALADIGINIZ_BAGLANTI"
ls -lh forge-26.2-65.1.0-installer.jar
file forge-26.2-65.1.0-installer.jar komutu “Java archive data” diyorsa dosya doğrudur.--installServer ile Headless Kurulum#
Forge installer varsayılan olarak grafik arayüz açmaya çalışır. Masaüstü olmayan bir Ubuntu Server’da bu HeadlessException ile sonuçlanır. --installServer parametresi kurulumu tamamen terminalde yürütür:
java -jar forge-26.2-65.1.0-installer.jar --installServer
Installer, Mojang’ın sunucu jar’ını ve Forge’un bağımlılıklarını indirir; internet bağlantısı gerektirir. İşlem bitince dizinde şunlar oluşur:
- libraries/
- Forge ve Minecraft bağımlılıkları. Elle dokunulmaz.
- run.sh
- Linux başlatma betiği. Argümanları
unix_args.txtdosyasından okur. - user_jvm_args.txt
- RAM ve JVM bayraklarını yazacağınız dosya. Güncellemelerde korunur.
- installer.log
- Kurulum günlüğü. Hata alırsanız ilk bakılacak yer burasıdır.
Kurulum tamamlandıktan sonra installer jar’ını silebilirsiniz, sunucunun çalışması için gerekli değildir. Yine de bir sonraki güncellemede karşılaştırma yapmak isterseniz bir yedek klasörde tutmak zararsızdır.
RAM Ayarı: user_jvm_args.txt#
Modern Forge sürümlerinde tek bir çalıştırılabilir sunucu jar’ı yoktur; run.sh dosyası şuna benzer:
#!/usr/bin/env sh
java @user_jvm_args.txt @libraries/net/minecraftforge/forge/26.2-65.1.0/unix_args.txt "$@"
Bu yüzden RAM’i run.sh içine yazmayın; Forge güncellemesinde o dosya yeniden üretilir ve değişikliğiniz kaybolur. Doğru yer user_jvm_args.txt:
nano /opt/minecraft/forge/user_jvm_args.txt
Dosyanın içeriğini 16 GB’lık bir paket için şöyle bırakın (yorum satırlarının başındaki # işaretini silmeyi unutmayın):
-Xms14G
-Xmx14G
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-XX:G1HeapRegionSize=8M
-XX:G1NewSizePercent=40
-XX:G1MaxNewSizePercent=50
-XX:G1ReservePercent=15
-XX:InitiatingHeapOccupancyPercent=20
-XX:+UseZGC denemeye değer. ZGC kullanacaksanız G1 bayraklarını tamamen kaldırın ve -XX:+ZGenerational yazmayın; Java 25’te bu bayrak obsolete olmuştur ve uyarı basar.Xms ve Xmx değerlerini daima eşit verin ve işletim sistemine 2 GB pay bırakın. Heap’i makinenin tüm belleğine eşitlemek, sistem tarafında takas kullanımı başlattığı için TPS’i düşürür.
EULA Onayı ve İlk Başlatma#
Betiği çalıştırılabilir yapıp sunucuyu ilk kez başlatın. İlk çalıştırma EULA’yı kabul etmediğiniz için duracaktır — bu beklenen davranıştır.
chmod +x /opt/minecraft/forge/run.sh
cd /opt/minecraft/forge
./run.sh nogui
Sunucu kapandıktan sonra oluşan eula.txt dosyasını düzenleyin:
sed -i 's/eula=false/eula=true/' /opt/minecraft/forge/eula.txt
./run.sh nogui
İkinci çalıştırmada Forge modları tarar, kayıt defterlerini kurar ve dünyayı üretir. Modlu bir sunucunun ilk açılışı 2-5 dakika sürebilir; konsolda “Done (…)! For help, type help” satırını gördüğünüzde sunucu hazırdır. stop yazarak temiz kapatın.
Ctrl+C ya da kill -9 ile kapatmayın. Modlu sunucularda yarım yazılmış chunk ve mod veri dosyaları dünyayı bozar. Kapatma komutu her zaman konsolda stop olmalıdır.mods Klasörü Yönetimi#
İlk başlatmadan sonra /opt/minecraft/forge/mods klasörü oluşur. Modları buraya .jar olarak koyarsınız:
cd /opt/minecraft/forge/mods
wget -O jei-26.2.jar "MODUN_DOGRUDAN_BAGLANTISI"
ls -lh
chown minecraft:minecraft *.jar
Mod yönetiminde üç kural işinizi kolaylaştırır:
- Sürüm eşleşmesi: Her mod dosyası indirdiğiniz Minecraft ve Forge sürümü için derlenmiş olmalı. 26.2 sunucusuna 1.21.x modu atmak açılışta çökme üretir.
- Bağımlılıklar: Çoğu mod bir kütüphane moduna bağlıdır. Eksik bağımlılık, konsolda “Missing or unsupported mandatory dependencies” satırıyla kendini gösterir.
- İstemci-sunucu eşitliği: Ortak modlar iki tarafta da aynı sürümde olmalı. Oyunculara
modsklasörünün bir kopyasını dağıtmak en pratik yöntemdir; yalnızca istemci tarafı modlar (mini harita, shader yükleyici) sunucuya konmaz.
Mod ile eklenti arasındaki farkı ve istemci tarafı kurulumu mod kurulumu rehberinde ayrıntılı anlatıyoruz. Hazır paket kuracaksanız 2026 modpack listesi hangi paketin kaç GB istediğini de gösteriyor.
Modpack server pack kurulumu#
Hazır bir modpack kuracaksanız modun tek tek indirilmesine gerek yoktur. Paketin “Server Pack” arşivini indirip açın:
cd /opt/minecraft/forge
wget -O serverpack.zip "SERVER_PACK_BAGLANTISI"
unzip serverpack.zip
rm serverpack.zip
chmod +x run.sh
Server pack’ler genellikle kendi mods, config ve defaultconfigs klasörlerini getirir ve bazıları Forge’u kendi betiğiyle kurar. Paketin belirttiği Forge sürümü ile kurduğunuz sürüm birebir aynı olmalıdır.
UFW ile 25565 Portunu Açma#
Java Edition varsayılan olarak 25565/TCP dinler. Ubuntu’da güvenlik duvarı UFW ile yönetilir:
sudo ufw allow OpenSSH
sudo ufw allow 25565/tcp
sudo ufw enable
sudo ufw status numbered
ufw enable komutundan önce mutlaka SSH kuralını ekleyin. Aksi halde uzaktaki oturumunuz kapanır ve sunucuya erişemezsiniz. Kuralı unutup kilitlendiyseniz erişimi yalnızca sağlayıcı konsolundan geri alabilirsiniz.Portun dışarıdan gerçekten açık olup olmadığını doğrulamak ve farklı port kullanımı için UFW ile Minecraft portu açma sayfasına bakın. Sunucunun dinlediği adresi yerelde şöyle doğrularsınız:
ss -tulpn | grep 25565
Sunucuyu 7/24 Çalıştırma#
SSH oturumu kapandığında ./run.sh ile başlattığınız sunucu da kapanır. İki kalıcı yöntem vardır.
screen ile hızlı çözüm#
sudo apt install -y screen
screen -S forge
cd /opt/minecraft/forge && ./run.sh nogui
Oturumdan ayrılmak için Ctrl+A ardından D tuşlarına basın, geri dönmek için screen -r forge yazın. Ayrıntılar ve tmux karşılığı için screen ve tmux kullanımı sayfasına bakın.
systemd servisi ile kalıcı çözüm#
Sunucu yeniden başladığında Minecraft’ın da otomatik açılmasını istiyorsanız systemd doğru araçtır. /etc/systemd/system/forge.service dosyasını oluşturun:
[Unit]
Description=Minecraft Forge 26.2 Sunucusu
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/forge
ExecStart=/opt/minecraft/forge/run.sh nogui
Restart=on-failure
RestartSec=15
SuccessExitStatus=0 1
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now forge
sudo systemctl status forge
sudo journalctl -u forge -f
Bu biçimde konsola komut yazamazsınız; konsol girişini korumak isterseniz servisi tmux üzerinden başlatmanız gerekir. Kurulumun tam hâli ve konsol girişli varyantı systemd servisi oluşturma sayfasında.
Sık Karşılaşılan Hatalar#
| Hata | Sebep | Çözüm |
|---|---|---|
HeadlessException | Installer arayüz açmaya çalıştı | --installServer parametresini ekleyin |
Permission denied: ./run.sh | Çalıştırma izni yok | chmod +x run.sh |
UnsupportedClassVersionError | Java sürümü düşük | temurin-25-jdk kurun, alternatifi değiştirin |
| Missing mandatory dependencies | Bağımlılık modu eksik | Modun sayfasındaki kütüphane modunu ekleyin |
| Failed to bind to port | 25565 zaten kullanımda | ss -tulpn | grep 25565 ile süreci bulun |
| Incompatible mod set | İstemci ve sunucu mod listesi farklı | Oyunculara aynı mods klasörünü dağıtın |
Sunucu açılışta çöküyorsa cevap neredeyse her zaman logs/latest.log ve crash-reports/ içindedir. Raporu okumayı bilmiyorsanız crash report okuma rehberi hangi satıra bakmanız gerektiğini gösteriyor. Log’u canlı izlemek için:
tail -f /opt/minecraft/forge/logs/latest.log
Kurulum Sonrası Yapılacaklar#
Sunucu ayağa kalktıktan sonra üç iş kalır. Birincisi server.properties ayarları: modlu sunucularda view-distance değerini 8, simulation-distance değerini 6 civarında tutmak TPS için belirgin fark yaratır. İkincisi düzenli yedek; modlu dünyalar tek bir bozuk mod güncellemesiyle kullanılamaz hâle gelebilir, bu yüzden dünya klasörünü ve config dizinini birlikte yedekleyin:
sudo -u minecraft tar -czf /opt/minecraft/backup-$(date +%F).tar.gz \
-C /opt/minecraft/forge world config mods
Üçüncüsü izleme. Modlu bir sunucuda hangi modun tick süresini yediğini tahmin etmek yerine ölçmek gerekir; spark profiler Forge 26.2 için yapı sunuyor ve /spark profiler komutuyla tek çekirdek kullanımını mod bazında raporlar. Genel bir yol haritası için Linux üzerinde Minecraft sunucu kurulumu ana sayfasını takip edebilirsiniz.
Özetle#
Ubuntu’da Forge sunucusu kurmanın özeti: Adoptium deposundan Java 25, files.minecraftforge.net üzerinden 26.2 installer’ı, --installServer ile headless kurulum, user_jvm_args.txt içinde -Xms14G -Xmx14G, chmod +x run.sh ve UFW’de 25565/TCP. Kurulum root ile değil ayrı bir minecraft kullanıcısıyla yapılır, kalıcılık systemd ile sağlanır.
Modlu sunucuda en kritik iki karar donanım ve sürüm uyumudur: 16 GB’ın altına inmeyin, yüksek frekanslı bir Ryzen 9 ve NVMe disk seçin, 26.1 sonrası unobfuscation nedeniyle eski modları olduğu gibi taşımaya çalışmayın. Aynı kurulumu Fabric ile yapacaksanız Ubuntu’da Fabric sunucu kurulumu sayfası daha hafif bir alternatif sunuyor.