Rehber MySQL kurulumu ve pluginlere bağlama

bulent00

Ne mutlu Türküm diyene.!
Sunucu Sahibi
Katılım
24 Mart 2025
Mesajlar
73
Elmaslar
47
Puan
1.105
Konum
İstanbul
Minecraft
bulent00

Discord:

bulent0

Selam,

MySQL duyunca ürkmeyin, aslında çok basit bir şey. Kısaca şöyle açıklayım: Pluginler oyuncu verilerini bir yerde saklamak zorunda. Varsayılan olarak bunu küçük dosyalara (SQLite) kaydediyorlar. Az oyuncuda sorun yok ama sunucu büyüdükçe bu dosyalar şişmeye ve yavaşlamaya başlıyor. MySQL ise çok daha hızlı ve güvenilir çalışan bir veritabanı sistemi. Düşün ki SQLite bir not defteri, MySQL ise gerçek bir arşiv sistemi. Özellikle BungeeCord/Velocity kullanıyorsanız birden fazla sunucunun aynı veriyi paylaşabilmesi için MySQL şart, yoksa her sunucuda ayrı veri olur ve oyuncuların yetkileri karışır.



Hangi Durumda MySQL Gerekli?

  • 50+ oyunculu bir sunucu işletiyorsanız
  • BungeeCord veya Velocity kullanıyorsanız
  • Veri kaybı yaşadıysanız veya yaşamak istemiyorsanız
  • Sunucunun daha stabil çalışmasını istiyorsanız

Küçük bir arkadaş grubu sunucusundaysanız SQLite yeterli, MySQL kurmak zorunda değilsiniz.



Başlamadan Önce: Hosting mi VPS mi?

Burada iki farklı durum var ve ikisi için kurulum farklı:

Hosting kullanıyorsanız (Pterodactyl, Multicraft vb.)
Terminale hiç dokunmadan panel üzerinden MySQL oluşturabilirsiniz. Hosting panelinize girin, Databases veya Veritabanları sekmesini bulun, Yeni Veritabanı Oluştur’a tıklayın. Size şu bilgileri verecek:
  • Host (genellikle 127.0.0.1 veya localhost)
  • Port (genellikle 3306)
  • Veritabanı adı
  • Kullanıcı adı
  • Şifre

Bu bilgileri not alın, aşağıda kullanacaksınız. Kurulum adımını geçip direkt plugin ayarına geçebilirsiniz.

VPS kullanıyorsanız
Aşağıdaki adımları takip edin.



Adım 1: VPS’e Bağlanın

Windows kullanıyorsanız PuTTY veya MobaXterm programıyla SSH bağlantısı kurun. Mac/Linux kullanıyorsanız terminal üzerinden direkt bağlanabilirsiniz:

Kod:
ssh root@sunucu_ip_adresiniz
Şifreyi girince VPS’inizin terminaline düşmüş olacaksınız.



Adım 2: MySQL’i Kur

Sırayla bu komutları çalıştırın, her birini yazıp Enter’a basın:

Kod:
sudo apt update
Bu komut paket listesini günceller, bir süre bekleyin.

Kod:
sudo apt install mysql-server -y
MySQL’i indirir ve kurar. İndirme boyutuna göre 1-2 dakika sürebilir.

Kod:
sudo systemctl start mysql
MySQL servisini başlatir.

Kod:
sudo systemctl enable mysql
Sunucu yeniden başlatıldığında MySQL’in otomatik açılmasını sağlar. Bunu yapmayı unutursanız her VPS yeniden başlatıldığında MySQL kapanır ve pluginler bağlanamaz.

Kod:
sudo mysql_secure_installation
Bu komut size birkaç soru soracak:
  • VALIDATE PASSWORD? → N yazın
  • New password: → Güçlü bir şifre belirleyin, kesinlikle not alın
  • Remove anonymous users? → Y
  • Disallow root login remotely? → Y
  • Remove test database? → Y
  • Reload privilege tables? → Y



Adım 3: MySQL’e Girin ve Veritabanı Oluşturun

Kod:
sudo mysql -u root -p
Belirllediğiniz şifreyi girin. Şimdi mysql> promptunu görüyorsanız MySQL’in içindesiniz.

Her plugin için ayrı veritabanı oluşturun. Bu düzenli olmanızı sağlar:
Kod:
CREATE DATABASE luckperms;
CREATE DATABASE sunucum;

Ardından Minecraft sunucusunun kullanacağı bir MySQL kullanıcısı oluşturun. Root kullanıcısını direkt kullanmayın, güvenlik açığı oluşturur:
Kod:
CREATE USER 'mcuser'@'localhost' IDENTIFIED BY 'buraya_guclu_sifre_yaz';
GRANT ALL PRIVILEGES ON *.* TO 'mcuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

mcuser yerine istediğiniz bir isim, buraya_guclu_sifre_yaz yerine de güçlü bir şifre kullanabilirsiniz. Bu bilgileri mutlaka not alın.



Adım 4: Bağlantıyı Test Edin

Mysql’e yeni kullanıcıyla girerek bağlantının çalıştığını kontrol edin:
Kod:
mysql -u mcuser -p
Şifreyi girin. Bağlanabiliyorsanız her şey hazır demektir. Şimdi Minecraft sunucunuzu kapalı tutun ve plugin ayarlarına geçin.



Adım 5: LuckPerms’i MySQL’e Bağlayın

Dosya yöneticisi veya FTP programınızla (FileZilla vb.) şu dosyayı açın:
plugins/LuckPerms/config.yml

storage-method: yazan satırı bulun. Varsayılan olarak h2 veya sqlite yazar. Bunu ve altındaki data: kısmını şöyle değiştirin:

Kod:
storage-method: mysql

data:
  address: localhost
  database: luckperms
  username: mcuser
  password: buraya_guclu_sifre_yaz
  pool-settings:
    maximum-pool-size: 10
    minimum-idle: 10
    maximum-lifetime: 1800000
    keepalive-time: 0
    connection-timeout: 5000

Dosyayı kaydedin.



Adım 6: Eski Verileri Taşıyın (Varsa)

Daha önce LuckPerms kullandıysanız ve oyuncu verisi varsa bunları kaybetmemek için şunu yapın:

Once sunucuyu eski haliyle (SQLite ile) başlatın ve şunu yazın:
Kod:
/lp export yedek.json

Sunucuyu kapatın, MySQL ayarlarını yapın, sunucuyu tekrar başlatın ve:
Kod:
/lp import yedek.json

Tüm gruplar, yetkiler ve oyuncu verileri aktarılmış olur.



Adım 7: Bağlantıyı Doğrullayın

Sunucuyu başlatın ve konsolda şunu arayın:
Kod:
[LuckPerms] Connected to mysql

Bu mesajı gördüyüniz LuckPerms artık MySQL’i kullanıyor demektir. Eğer hata alıyorsanız çoğu zaman sebep şunlardan biri:
  • Kullanıcı adı veya şifre yanlış
  • Veritabanı adı yanlış yazılmış
  • MySQL servisi çalışmıyor (sudo systemctl status mysql ile kontrol edin)



BungeeCord/Velocity Kullanıyorsanız

Bu en önemli kısım. Tüm alt sunuculardaki (Lobby, Survival, SkyBlock vb.) LuckPerms config dosyalarına aynı MySQL bilgilerini girin. Hepsi aynı veritabanına bağlandığında oyuncu hangi sunucuya geçerse geçsin yetkiler anında senkronize olur.



Umarım anlaşılır olmuştur. Takıldığınız her yerde yorumlara yazabilirsiniz, yardımcı olmaya çalışırım.
 
Ellerine Sağlık yine detaylı ve güzel bir rehber olmuş
 

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst