Ana içeriğe geç

Minecraft Server

Bu makalede

Bilgi

Minecraft Server, çevrimiçi oyun için çok oyunculu bir Minecraft sunucusu başlatmanıza olanak tanıyan bir sunucu yazılımıdır.

Çalıştırma Özellikleri

  • Çok oyunculu oynanış - sunucu, 255 oyuncuya kadar eşzamanlı olarak bağlanmaya ve oynamaya izin verir;
  • Özelleştirilebilir oyun dünyası - yönetici benzersiz dünyalar oluşturabilir, eklentiler (plugin) ve modlar yükleyebilir;
  • Erişim kontrol yönetimi - dünyanın farklı bölümlerindeki oyunculara farklı haklar atama yeteneği;
  • Griefing koruması - dünyayı oyuncu vandalizmine karşı korumak için araçlar;
  • Yedekleme - veri kaybını önlemek için sunucu dünyasının otomatik olarak kaydedilmesi;
  • Çoklu dünyalar - isteğe bağlı olarak, tek bir sunucuda birdin fazla farklı dünya başlatabilirsiniz;
  • API - sunucunun diğer uygulamalarla etkileşime girmesi için bir dizi arayüz;
  • İzleme - çevrimiçi kullanıcıların, etkinliklerin ve olay günlüklerinin takibi;
  • Performans - çok sayıda oyuncuyla çalışan özel (dedicated) bir sunucuda çalışmak üzere optimize edilmiştir.

Çalıştırma Özellikleri

ID Yazılım Adı Uyumlu OS VM BM VGPU GPU Min CPU (Çekirdekler) Min RAM (GB) Min HDD/SSD (GB) Özel Alan Adı Aktif
65 Minecraft: Java Edition Server Ubuntu 22.04 + + + - 1 1 - Hayır Hayır

Not

Aksi belirtilmedikçe, yazılımın en son sürümünü geliştiricinin web sitesinden veya işletim sistemi depolarından kuruyoruz.

Sistem Gereksinimleri

Minecraft kaynakları için gereksinimler, sunucudaki oyuncu sayısı arttıkça artar. Büyük oyun grupları daha fazla RAM ve disk alanı gerektirir. Bir Minecraft sunucusu için önerilen sistem gereksinimleri:

  • İşlemci (CPU): 2 çekirdek veya daha fazlası, ideal olarak 2 GHz veya üzeri;
  • RAM: 1-2 oyuncu için minimum 2 GB, 3-6 oyuncu için 5 GB, 6+ oyuncu için 8 GB;
  • İşletim sistemi: Minecraft tüm popüler işletim sistemlerinde mevcuttur, ancak işletim sistemi ek kaynaklar gerektirir;
  • Disk alanı: 1-2 oyuncu için minimum 2 GB, 3-5 oyuncu için 18 GB, 6+ oyuncu için 35 GB.

Minecraft Server Kurulumundan Sonra Başlangıç

Siparişiniz için ödeme yaptıktan sonra, kayıtlı e-posta adresinize sunucunuzun çalışmaya hazır olduğunu bildiren bir bildirim alacaksınız. Bu bildirim VPS IP adresinin yanı sıra bağlantı için bir kullanıcı adı ve şifre içerecektir. Şirketimizin müşterileri donanımı sunucularda ve API kontrol panelinde — Invapi üzerinden yönetirler.

Sunucu kontrol panelindeki Configuration >> Tags sekmesinde veya e-postada bulunabilecek yetkilendirme verileri şunlardır:

  • Link: webpanel etiketindeki link;
  • Login ve Password, yazılım kurulup sunucunuz çalışmaya hazır hale geldiğinde e-posta adresinize bir mektup ile gelir.

  • MCSMManager kurulduktan sonra, /opt/mcsmanager/ dizininde aşağıdaki dizin yapısı oluşturulur:

  • daemon/ - şunları içeren daemon (arka plan servisi) kataloğu:
    • data/Config/global.json - genel servis ayarları dosyası.
  • web/ - web arayüzü kataloğu;
  • start-daemon.sh - daemon başlatma betiği;
  • start-web.sh - web arayüzü başlatma betiği;
  • usage.txt - kullanım dokümantasyonu.
  • Ek kataloglar ve dosyalar HTTPS yapılandırmak ve sertifikaları yönetmek için kullanılır:
  • /var/lib/docker/volumes/nginx_secrets - Docker Volume'lar aracılığıyla organize edilen, Nginx için anahtarlar ve sertifikalar gibi sırlar (secrets) için bir kasa;
  • /data/nginx - Nginx yapılandırmasını ve ilgili dosyaları depolamak için ana katalog;
    • user_conf.d/ - özel Nginx yapılandırmaları için bir alt dizin;
    • nginx-certbot.env - Certbot'un Nginx ile otomatik olarak çalışması için değişkenleri içeren bir ortam dosyası;
  • /root/nginx - yedeklerin veya manuel olarak yönetilen ek Nginx ayarlarının bulunabileceği bir katalog.

MCSMManager'da Hesap ve Oyun Sunucusu Yönetimi

webpanel etiketindeki bağlantıya ilk tıkladığınızda, kontrol panelini kurmanız ve bir yönetici hesabı oluşturmanız istenecektir. İlk kurulum süreci aşağıdaki adımlardan oluşur:

  1. Açılan pencerede Start düğmesine tıklayın.

  2. Gerekli alanları doldurarak bir yönetici hesabı oluşturun.

  3. Kullanıcı durumunuzu belirtin:

    • Yeni kullanıcı (New user)
    • Mevcut kullanıcı (Existing user)
  4. Kurulum için uygulama türünü seçin (örneğin, Minecraft Bedrock Edition oyun sunucusu).

Not

Varsayılan olarak sistem Open JRE 17 ile kurulur; bu durum, oyun sunucusu seçerken ve kurarken dikkate alınmalıdır. Modern Minecraft sürümlerini kurarken, önce Java'yı uyumlu bir sürüme güncellemeniz gerekir.

  1. Uygulamayı kurmak için hedef makineyi belirtin.

  2. Kurulum yöntemini tanımlayın:

    • Hızlı Minecraft kurulumu (Quick Minecraft installation)
    • Docker imajları aracılığıyla dağıtım (Deployment via Docker images)
    • Diğer mevcut seçenekler
  3. Yazılım sürümünü seçin:

    • Minecraft 1.21.1
    • Minecraft 1.20.1
    • Forge 1.20.6
    • Diğer mevcut sürümler.
  4. Kurulumun tamamlanmasını bekleyin.

Uzak Düğümü (Remote Node) Yapılandırma

Kurulum tamamlandıktan sonra uzak düğümü yapılandırın:

  • Yan menüdeki Nodes bölümüne gidin;
  • Add Node düğmesine tıklayın veya düzenlemek için mevcut olanı seçin;
  • Uzak düğüm bağlantısını yapılandırın:

    • Düğüm adını girin (örneği, minecraft{SERVER_ID});
    • Bağlantı adresini girin (wss://minecraft{SERVER_ID}.hostkey.com);
    • Bağlantı portunu ayarlayın (12443);
    • Özel ayarlar gerekmedikçe Remote Node Key alanını boş bırakın.

  • Save veya Update düğmesine tıklayın;

  • Sonuç olarak, düğüm durumu Up olarak değişmelidir:

Oyun Sunucusu Oluşturma ve Yönetme

  1. Bir sunucu örneği (instance) oluşturun:

    • Yan menüdeki Instances bölümüne gidin;
    • Create Instance düğmesine tıklayın;
    • Açılan pencerede şunları seçin:

      • Node: daha önce yapılandırılmış olan düğümü seçin:

      • Server type: örneğin, MC Java Edition Server:

      • Instance name: istenen adı girin (örneğin, minecraft{SERVER_ID}vanilla):

    • Ok düğmesine tıklayın;

    • Oluşturulduktan sonra örnek, listede belirtilen adla görünecektir.
  2. İlk sunucu kurulumu:

    • Listeden oluşturulan örneği seçin;
    • Configuration Files sekmesine giden:

    • eula.txt dosyasını bulun ve düzenleyin:
      • Lisans sözleşmesini kabul etmek için eula=false değerini eula=true olarak değiştirin;
      • Değişiklikleri kaydedin:

    • Overview veya Console sekmesine geri dönün.
  3. Sunucuyu başlatma ve izleme:

    • Örnek sayfasındaki Launch düğmesine tıklayın:

    • Sunucu konsolundan yükleme sürecini takip edin;
    • Hata mesajlarına veya uyarılara dikkat edin;
    • Tam yüklemeden sonra konsol, yükleme süresiyle birlikte Done mesajını gösterecektir.
  4. Çalışan bir sunucuyu yönetme:

    • Basic Information bölümünde aşağıdakiler görüntülenir:
      • Server Name;
      • Work start time;
      • Number of reboots;
      • Output encoding (UTF-8);
      • Server status (Online/Offline);
      • Resource usage (CPU, RAM).
  5. Sunucuyu yapılandırma:

    • Configuration Files sekmesine gidin;
    • server.properties dosyasını bulun ve düzenleyin:
      • gamemode: oyun modu (survival, creative, adventure);
      • difficulty: zorluk (peaceful, easy, normal, hard);
      • pvp: PvP'yi etkinleştir/devre dışı bırak (true/false);
      • max-players: maksimum oyuncu sayısı;
      • server-port: sunucu portu;
      • level-name: dünya adı;
      • view-distance: render mesafesi;
      • accepts-transfers: dosya transferi (true/false);
      • allow-flight: uçmaya izin ver (true/false);
      • allow-nether: Nether'a erişim (true/false);
      • broadcast-console-to-ops: konsol mesajlarını operatörlere gönder (true/false);
      • broadcast-rcon-to-ops: RCON mesajlarını operatörlere gönder (true/false);
    • Değişiklikleri kaydedin ve ayarları uygulamak için sunucuyu yeniden başlatın.

Not

Ana MCSMManager ayarları hakkında ayrıntılı bilgiye geliştirici dokümantasyonundan ulaşılabilir.

HTTPS için Reverse Proxy Yapılandırması

Dikkat

HTTPS kurulumu, ağ teknolojilerinde profesyonel bilgi gerektiren karmaşık bir görevdir. Düzenli kullanıcıların manuel olarak bir HTTPS bağlantısı yapılandırmaya çalışmamasını şiddetle tavsiye ederiz. Devam etmeden önce, sistemin ağ mimarisini ve SSL sertifikalarıyla çalışma ilkelerini tam olarak anladığınızdan emin olun. Yanlış yapılandırma, sunucunun kararsız çalışmasına veya kontrol paneline erişimin tamamen kaybına neden olabilir.

HTTPS için bir reverse proxy yapılandırmak; sunucunun güvenliğini, performansını ve yönetim kolaylığını sağlamak için önemlidir. Trafiği şifreleyerek veri hırsızlığını önler ve ayrıca istekleri yönlendirerek yük dengeleme ve güvenilirlik sağlar. Proxy, SSL sertifikalarının yönetimini merkezileştirir, sunucu yapılandırmasını basitleştirir ve performansı artırmak için verileri önbelleğe alabilir. Ancak, sistem yüksek güvenlik, yük veya karmaşık bir altyapı gerektirmiyorsa (örneğin yerel testler veya küçük projeler için), bir reverse proxy yapılandırması olmadan da devam edebilirsiniz.

Adım 1: SSL sertifikalarını hazırlama

Zaten bir SSL sertifikanız varsa (örneğin, kendinden imzalı veya harici bir Sertifika Yetkilisinden alınmış), bunu kullanabilirsiniz. Aksi takdirde aşağıdaki adımları izleyin:

  1. Sertifika alma:

    • Kendinden imzalı bir sertifika için şu komutu kullanın:

      open ssl req -x509 -newkey rsa:4096 -keyout /data/nginx/ssl/domain.key -out /data/nginx/ssl/domain.crt -sha256 -days 365
      
      Sertifika Let's Encrypt veya başka bir Sertifika Yetkilisinden alındıysa, .crt ve .key dosyalarının /data/nginx/ssl/ dizininde olduğundan emin olun.

Not

MCSMManager'daki bir sunucu için SSL sertifikası oluşturma süreci, Let’s Encrypt'ten otomatik olarak sertifika almak için bir Docker konteyneri ve Certbot aracının kullanımına dayanır. Let's Encrypt'ten anında SSL sertifikası alma ve güncelleme hakkında daha fazla ayrıntı Ücretsiz Domain Certbot makalesinde açıklanmıştır.

  1. Sertifikaları depolamak için dizini hazırlama:
    • Sertifikaların güvenli bir dizinde olduğundan emin olun, örneğin:

      mkdir -p /data/nginx/ssl
      cp /path/to/certificate/domain.crt /data/nginx/ssl/
      cp /path/to/certificate/domain.key /data/nginx/ssl/
      

Adım 2: Nginx yapılandırmasını hazırlama

  1. Daemon için yapılandırma oluşturma:

    Nginx yapılandırma dosyalarının bulunduğu dizinde (/data/nginx/user_conf.d veya benzeri), daemon için bir yapılandırma dosyası oluşturun.

    Daemon için örnek yapılandırma (daemon_https.conf):

    ```nginx server { listen 12444 ssl http2; listen [::]:12444 ssl http2;

    ssl_certificate /data/nginx/ssl/domain.crt; ssl_certificate_key /data/nginx/ssl/domain.key;

    location / { proxy_pass http://127.0.0.1:24444; proxy_set_header Host $host; proxy_set_header X-Real-Ip $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; } }

     **Panel için yapılandırma oluşturma**:
    
     Panel için örnek yapılandırma (`web_https.conf`):
     ```nginx
     server {
       listen 12333 ssl http2;
       listen [::]:12333 ssl http2;
    
       ssl_certificate /data/nginx/ssl/domain.crt;
       ssl_certificate_key /data/nginx/ssl/domain.key;
    
       location / {
           proxy_pass http://127.0.0.1:23333;
           proxy_set_header Host $host;
           proxy_set_header X-Real-Ip $remote_addr;
           proxy_set_header X-Forwarded-For $remote_addr;
           proxy_set_header REMOTE-HOST $remote_addr;
       }
    }
    

  2. Yapılandırmaları etkinleştirme:

    Nginx'in bu yapılandırmaları kullanmasını sağlamak için /data/nginx/user_conf.d/ dizininde (veya aktif yapılandırmaların depolandığı başka bir yerde) sembolik bağlantılar oluşturun:

    ln -s /data/nginx/user_conf.d/daemon_https.conf /etc/nginx/sites-enabled/
    ln -s /data/nginx/user_conf.d/web_https.conf /etc/nginx/sites-enabled/
    

    Veya yapılandırmaları doğrudan nginx.conf dosyasına eklemek istiyorsanız, dosyayı açın ve son kapatma parantezinden } önce yapılandırma bloklarını ekleyin:

    nano /etc/nginx/nginx.conf
    

Adım 3: Nginx'i kontrol etme ve yeniden başlatma

  1. Yapılandırmayı kontrol etme:

    Nginx'i yeniden başlatmadan önce yapılandırmanın doğru olduğundan emin olun, şu komutu kullanın:

    sudo nginx -t
    

    Her şey yolundaysa şu mesajı göreceksiniz:

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

  2. Nginx'i yeniden başlatma:

    Yapılandırma başarıyla kontrol edildikten sonra, değişiklikleri uygulamak için Nginx'ı yeniden başlatın:

    sudo systemctl reload nginx
    

Adım 4: HTTP'den HTTPS'ye Otomatik Yönlendirmeyi Yapılandırma

Tüm HTTP isteklerinin otomatik olarak HTTPS'e yönlendirilmesini sağlamak için yönlendirme için ek bir yapılandırma oluşturun:

  1. HTTP'den HTTPS'ye Yönlendirme Yapılandırması:

    Nginx yapılandırmasında, 80 portunu (HTTP) dinleyen ve tüm istekleri HTTPS'e yönlendiren bir sunucu ekleyin:

    server {
     listen 80;
     server_name your-domain.com;
    
     location / {
         return 301 https://$host$request_uri;
     }
    }
    

Adım 5: Bağlantı ve Doğrulama

  1. HTTPS üzerinden bağlantı kurma:

    Nginx yeniden yüklendikten sonra, hizmetlerinizin HTTPS üzerinden kullanılabilirliğini kontrol edin:

    • Kontrol paneli: https://your-domain.com:12333/
    • Daemon: https://your-domain.com:12444/
  2. WebSocket kurulumu:

    Uygulamanız daemon'larla etkileşime girmek için WebSocket kullanıyorsa, proxy yapılandırmalarınızın WebSocket'i doğru şekilde desteklediğinden emin olun:

    Nginx yapılandırmasına şunları ekleyin:

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    
  3. Bağlantıyı doğrulama:

    Her şey doğru şekilde yapılandırılmışsa, düzgün çalışan HTTPS bağlantılarını görmelisiniz. Kontrol paneli giriş sayfasını görüntüleyecek ve daemon "OK" durumunu gösterecektir.

    Not

    HTTPS için reverse proxy kurulumu hakkında ayrıntılı bilgiye geliştirici dokümantasyonundan ulaşılabilir.

API kullanarak bir Minecraft server siparişi verin

Bu yazılımı API kullanarak kurmak için bu talimatları izleyin.