- 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?
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:
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:
Ş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:
Bu komut paket listesini günceller, bir süre bekleyin.
MySQL’i indirir ve kurar. İndirme boyutuna göre 1-2 dakika sürebilir.
MySQL servisini başlatir.
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.
Bu komut size birkaç soru soracak:
Adım 3: MySQL’e Girin ve Veritabanı Oluşturun
Belirllediğiniz şifreyi girin. Şimdi
Her plugin için ayrı veritabanı oluşturun. Bu düzenli olmanızı sağlar:
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:
Adım 4: Bağlantıyı Test Edin
Mysql’e yeni kullanıcıyla girerek bağlantının çalıştığını kontrol edin:
Ş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:
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:
Sunucuyu kapatın, MySQL ayarlarını yapın, sunucuyu tekrar başlatın ve:
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:
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:
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.
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
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
Kod:
sudo apt install mysql-server -y
Kod:
sudo systemctl start mysql
Kod:
sudo systemctl enable mysql
Kod:
sudo mysql_secure_installation
- 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
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
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.ymlstorage-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 mysqlile 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.