Ana içeriğe geç

Minecraft Sunucusu

Bu makalede

Bilgi

Minecraft Sunucusu, ç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 oyun - sunucu, aynı anda 255 oyuncuya kadar bağlanmanıza ve oynamanıza olanak tanır;
  • Özelleştirilebilir oyun dünyası - yönetici benzersiz dünyalar oluşturabilir, eklentiler ve modlar yükleyebilir;
  • Erişim kontrolü yönetimi - dünyadaki farklı bölgelere 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;
  • Birden fazla dünya - isteğe bağlı olarak, tek bir sunucuda birden 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, etkinliğin, olay günlüklerinin izlenmesi;
  • Performans - çok sayıda oyuncuyla özel bir sunucuda çalışmak için 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 SİPARİŞ VER
  • Otomatik MCSMManager kurulumu - Minecraft sunucuları için bir küme yönetim servisi olan ve şunlara olanak tanıyan:
    • Minecraft sunucularını otomatik olarak başlatma, durdurma ve yeniden başlatma;
    • Sunucu durumunu izleme ve uyarılar alma;
    • Sunuculardaki eklentileri, modları ve yapılandırmaları yönetme;
    • Sunucu ve eklenti sürümlerini güncelleme;
  • Kümedeki sunucular arasındaki yükü dengeleme;
  • Dünyaların ve sunucu verilerinin yedeklerini oluşturma;
  • Sunucuları yedeklerden geri yükleme;
  • Sunucu ekleyerek veya çıkararak küme ölçeklendirme.
  • MCSMManager kurulduktan sonra, /opt/mcsmanager/ içinde aşağıdaki dizin yapısı oluşturulur:
  • daemon/ - daemon servisi kataloğu, şunları içerir:
    • 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.
  • HTTPS yapılandırması ve sertifikaları yönetmek için ek kataloglar ve dosyalar kullanılır:
  • /var/lib/docker/volumes/nginx_secrets - Docker Volumes aracılığıyla organize edilen, Nginx için anahtarlar ve sertifikalar gibi gizli bilgiler için bir kasası;
  • /data/nginx - Nginx yapılandırması ve ilgili dosyaların saklanması 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şkenler içeren bir ortam dosyası;
  • /root/nginx - yedeklerin veya manuel olarak yönetilen ek Nginx ayarlarının bulunabileceği bir katalog.

Not

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

Sistem Gereksinimleri

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

  • İşlemci (CPU): 2 çekirdek veya daha fazla, ideal olarak 2 GHz veya daha yüksek;
  • 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 sistemleri için 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 Sunucusu Dağıtımından Sonra Başlangıç

Siparişinizi ödedikten sonra, kaydolduğunuz e-posta adresine sunucunuzun çalışmaya hazır olduğunu bildiren bir bildirim alacaksınız. Bu bildirim, VPS IP adresini ve bağlanmak için bir kullanıcı adı ve şifreyi içerecektir. Şirketimizin müşterileri donanımı sunucu ve API kontrol panelindeInvapi yönetir.

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

  • Link: webpanel etiketinde;
  • Login ve Password, yazılım dağıtıldıktan ve sunucunuz çalışmaya hazır olduğunda e-postanıza gelen bir mektupta yer alır.

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ı isteyecektir. İ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ı (sistemi ilk kez kullanıyor)
    • Mevcut kullanıcı
  4. Dağıtım 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 da oyun sunucusunu seçerken ve dağıtırken 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. Dağıtım yöntemini tanımlayın:

    • Hızlı Minecraft kurulumu
    • Docker görüntüleri aracılığıyla dağıtım
    • 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.

Uzaktaki Düğümü Yapılandırma

Kurulum tamamlandıktan sonra, uzaktaki 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 birini seçin;
  • Uzaktaki düğüme bağlantıyı yapılandırın:

    • Düğüm adını girin (örneğin, minecraft{SERVER_ID});
    • Bağlantı adresini girin (wss://minecraft{SERVER_ID}.hostkey.com);
    • Bağlantı portunu ayarlayın (12444);
    • Ö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 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ılan düğümü seçin:

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

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

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

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

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

    • 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 konsolunda yükleme sürecini izleyin;
    • Hata mesajlarına veya uyarılara dikkat edin;
    • Tam yükleme tamamlandıktan sonra, konsol yükleme süresi belirtilerek Done mesajını gösterecektir.
  4. Çalışan sunucuyu yönetme:

    • Basic Information bölümünde şunlar görüntülenir:
      • Sunucu Adı;
      • Çalışma başlangıç zamanı;
      • Yeniden başlatma sayısı;
      • Çıktı kodlaması (UTF-8);
      • Sunucu durumu (Online/Offline);
      • Kaynak kullanımı (CPU, RAM).
  5. Sunucuyu yapılandırma:

    • Configuration Files sekmesine gidin;
    • server.properties dosyasını bulun ve düzenleyin:
      • gamemode: oyun modu (hayatta kalma, yaratıcı, macera);
      • difficulty: zorluk (barışçıl, kolay, normal, zor);
      • pvp: PvP'yi etkinleştirme/devre dışı bırakma (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çuşa izin verme (true/false);
      • allow-nether: Nether'a erişim (true/false);
      • broadcast-console-to-ops: konsol mesajlarını operatörlere gönderme (true/false);
      • broadcast-rcon-to-ops: RCON mesajlarını operatörlere gönderme (true/false);
    • Değişiklikleri kaydedin ve ayarları uygulamak için sunucuyu yeniden başlatın.

Not

MCSMManager ayarları hakkında detaylı bilgi geliştirici dokümantasyonunda mevcuttur.

HTTPS için Ters Proxy Yapılandırma

Uyarı

HTTPS kurulumu, ağ teknolojilerinde profesyonel bilgi gerektiren karmaşık bir görevdir. Normal kullanıcıların HTTPS bağlantısını manuel olarak yapılandırmaya çalışmasını kesinlikle önermiyoruz. 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 kaybolmasına neden olabilir.

HTTPS için ters proxy yapılandırma, sunucunun güvenliği, performansı ve yönetiminin kolaylığı açısından önemlidir. Trafik şifrelenir, veri kesişimi önlenir ve ayrıca istekler yönlendirilir, 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 verileri önbelleğe alabilir, performansı artırır. Ancak, sistem yüksek güvenlik, yük veya karmaşık altyapı gerektirmiyorsa (örneğin, yerel testler veya küçük projeler için), ters proxy yapılandırmasına gerek yoktur.

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

Zaten bir SSL sertifikanız varsa (örneğin, kendi imzalı bir sertifika veya harici bir Sertifika Yetkilisinden), bunu kullanabilirsiniz. Aksi takdirde, şu adımları izleyin:

  1. Sertifika alma:

    • Kendi 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'da bir sunucu için SSL sertifikalarının verilmesi süreci, Docker konteyneri ve Let's Encrypt'ten sertifikaları otomatik olarak almak için Certbot aracının kullanımına dayanır. Let's Encrypt'ten SSL sertifikalarının anında alınması ve güncellenmesi hakkında daha fazla detay Ücretsiz Alan Adı Certbot makalesinde açıklanmıştır.

  1. Sertifikaları saklamak için dizin 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ı için, /data/nginx/user_conf.d/ dizininde (veya aktif yapılandırmaların saklandığı 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 süslü 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'i 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'ye 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 portunda (HTTP) dinleyecek ve tüm istekleri HTTPS'ye yönlendirecek 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ı:

    Nginx'i yeniden yükledikten sonra, hizmetlerinize HTTPS üzerinden erişilebilirliği kontrol edin:

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

    Uygulamanız daemonlarla etkileşim 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 yapılandırıldıysa, düzgün çalışan HTTPS bağlantılarını görmelisiniz. Kontrol paneli giriş sayfasını gösterecek ve daemon "OK" durumunu gösterecektir.

    Not

    HTTPS için ters proxy kurulumu hakkında detaylı bilgi geliştirici dokümantasyonunda bulunabilir.

API kullanarak Minecraft sunucusu siparişi