Plugin Nedir?
Minecraft sunucu pluginleri, sunucunuza yeni özellikler ekleyen JAR (Java Archive) dosyalarıdır. Bukkit/Spigot/Paper API kullanılarak geliştirilirler ve sunucunuzun plugins/ klasörüne yerleştirilirler.
Plugin sistemi, Minecraft sunucunuzu vanillanın ötesine taşır: yetki yönetimi, ekonomi, bölge koruması, chat formatı, mini oyunlar ve daha fazlası pluginler aracılığıyla eklenir.
- Bukkit API — Orijinal plugin API'si, CraftBukkit ile çalışır
- Spigot API — Bukkit'in genişletilmiş versiyonu, daha fazla event ve özellik sunar
- Paper API — Spigot üzerine inşa edilmiş modern API, async chunk loading gibi gelişmiş özellikler
- Folia API — Paper'ın çoklu iş parçacığı destekli versiyonu, yüksek oyuncu sayısı için
Her plugin sunucu başlatıldığında yüklenir, onEnable() metodu çağrılır ve sunucu kapandığında onDisable() ile temizlenir. Pluginler birbirleriyle depend ve softdepend ilişkileri kurabilir.
Plugin Nasıl Kurulur?
Plugin kurulumu üç adımdan oluşur: indirme, yükleme ve yeniden başlatma. Güvenilir kaynaklardan indirilen .jar dosyası plugins/ klasörüne yerleştirilir ve sunucu tamamen yeniden başlatılır.
Güvenilir İndirme Kaynakları
| Platform | URL | Açıklama |
|---|---|---|
| SpigotMC | spigotmc.org | En büyük plugin marketplace'i, premium ve ücretsiz pluginler |
| Modrinth | modrinth.com | Açık kaynağa öncelik veren modern platform |
| Hangar | hangar.papermc.io | PaperMC'nin resmi plugin deposu |
| GitHub Releases | github.com | Açık kaynak pluginlerin resmi dağıtımları |
| Bukkit Dev | dev.bukkit.org | Eski ama hâlâ kullanılan CurseForge kaynağı |
Kurulum Adımları
# 1. Plugin JAR dosyasını indir
cd ~/server/plugins
wget https://download.luckperms.net/1556/bukkit/loader/LuckPerms-Bukkit-5.4.141.jar
# 2. Sunucuyu tamamen durdur
screen -r minecraft
stop
# 3. Sunucuyu yeniden başlat
screen -S minecraft
java -Xms4G -Xmx4G -jar paper.jar noguiPlugin Dosya Yapısı
Her plugin ilk çalıştırıldığında plugins/PluginAdı/ klasörü altında yapılandırma dosyalarını oluşturur. Bu dosya yapısını anlamak, pluginleri doğru yapılandırmak için zorunludur.
plugins/
├── LuckPerms/
│ ├── config.yml # Ana yapılandırma
│ ├── luckperms-bukkit.jar # Loader dosyası
│ └── translations/ # Dil dosyaları
├── Essentials/
│ ├── config.yml # Ana yapılandırma (600+ satır)
│ ├── kits.yml # Kit tanımları
│ ├── worth.yml # Item fiyatları
│ └── userdata/ # Oyuncu verileri
├── WorldGuard/
│ ├── config.yml
│ └── worlds/
│ └── world/
│ └── regions.yml # Bölge tanımları
└── CoreProtect/
├── config.yml
└── database.db # SQLite veritabanıconfig.yml Temelleri
Çoğu plugin YAML formatında yapılandırma dosyası kullanır. YAML dosyalarında girinti (indentation) kritik öneme sahiptir — her zaman boşluk (space) kullanın, asla tab kullanmayın.
# Örnek config.yml yapısı
settings:
debug: false
locale: tr_TR
auto-save: true
auto-save-interval: 300
database:
type: sqlite # sqlite, mysql, h2
host: localhost
port: 3306
name: plugin_dbYetki Düğümü (Permission Node)
Her plugin, komutlarına erişimi kontrol eden yetki düğümleri (permission nodes) tanımlar. Bu düğümler genellikle plugin.komut formatındadır.
# plugin.yml içerisinden örnek yetki tanımları
permissions:
essentials.home:
description: Home komutunu kullanma yetkisi
default: true
essentials.ban:
description: Oyuncu banlama yetkisi
default: op
essentials.*:
description: Tüm EssentialsX yetkileri
children:
essentials.home: true
essentials.ban: trueOlmazsa Olmaz Pluginler
Aşağıdaki tablo, hemen her Minecraft sunucusunda bulunması gereken temel pluginleri özetler. Her birinin görevi, birbirleriyle ilişkisi ve önceliği farklıdır.
| Plugin | Görev | Bağımlılık | Öncelik |
|---|---|---|---|
| <strong>Vault</strong> | Ekonomi ve yetki API köprüsü | Yok | Zorunlu |
| <strong>LuckPerms</strong> | Yetki ve grup yönetimi | Yok | Zorunlu |
| <strong>EssentialsX</strong> | Temel komutlar, ekonomi, tp | Vault (önerilen) | Zorunlu |
| <strong>WorldEdit</strong> | Dünya düzenleme araçları | Yok | Zorunlu |
| <strong>WorldGuard</strong> | Bölge koruması, flag sistemi | WorldEdit | Zorunlu |
| <strong>CoreProtect</strong> | Log, rollback, inspect | Yok | Zorunlu |
| <strong>TAB</strong> | Tab listesi, nametag, scoreboard | PlaceholderAPI (önerilen) | Çok Önerilen |
| <strong>DiscordSRV</strong> | MC-Discord chat senkronizasyonu | Yok | Önerilen |
| <strong>Spark</strong> | Performans profiler | Yok | Çok Önerilen |
| <strong>ViaVersion</strong> | Çoklu sürüm desteği | Yok | Duruma Göre |
| <strong>Geyser</strong> | Bedrock desteği | Floodgate | Duruma Göre |
Vault
Vault, Minecraft sunucularında ekonomi, yetki ve chat sistemleri için ortak bir API katmanı sağlayan bir köprü pluginidir. Kendisi doğrudan bir özellik sunmaz; diğer pluginlerin birbiriyle iletişim kurmasını sağlar.
Örneğin EssentialsX ekonomi sistemi sunar, LuckPerms yetki sistemi sunar — Vault bu ikisini birbirine bağlar. Chest shop pluginleri Vault üzerinden ekonomiye erişir, chat eklentileri Vault üzerinden prefix/suffix bilgisi alır.
- Economy API: EssentialsX, CMI gibi ekonomi pluginlerini diğer pluginlerle bağlar
- Permission API: LuckPerms gibi yetki pluginlerini diğer sistemlerle entegre eder
- Chat API: Prefix, suffix ve chat formatı bilgilerini paylaştırır
# Vault kurulumu
cd ~/server/plugins
wget https://github.com/MilkBowl/Vault/releases/latest/download/Vault.jar
# Sunucuyu yeniden başlatın
# Vault otomatik olarak LuckPerms ve EssentialsX'i algılarLuckPerms
LuckPerms, modern Minecraft sunucuları için sektör standardı yetki yönetim pluginidir. Grup sistemi, kalıtım (inheritance), prefix/suffix, web editörü ve çoklu platform desteği sunar. Eski PermissionsEx ve GroupManager'ın yerini almıştır.
LuckPerms hakkında detaylı bilgi için kapsamlı Türkçe rehberimize göz atın:
# Hızlı başlangıç komutları
/lp editor # Web editörünü aç
/lp creategroup admin # Grup oluştur
/lp group admin parent add default # Kalıtım ayarla
/lp user Oyuncu parent set admin # Oyuncuyu gruba ataEssentialsX
EssentialsX, 100'den fazla komut içeren kapsamlı bir eklentidir: home/spawn/warp teleport sistemi, ekonomi, chat formatı, kit sistemi, özel mesajlaşma ve çok daha fazlası. Hemen her sunucunun temel taşıdır.
EssentialsX hakkında detaylı yapılandırma rehberimize göz atın:
# plugins/Essentials/config.yml önemli ayarlar
teleport-cooldown: 3
teleport-delay: 3
starting-balance: 1000
currency-symbol: '$'
max-homes: 3
spawn-on-join: trueWorldEdit
WorldEdit, Minecraft dünyasında büyük çaplı düzenleme yapmanızı sağlayan güçlü bir araçtır. Bölge seçme, blokları değiştirme, kopyala-yapıştır, şekil oluşturma ve schematic kaydetme gibi işlemleri komut satırından yapabilirsiniz.
| Komut | Açıklama | Örnek |
|---|---|---|
| <code>//wand</code> | Seçim aracını verir (ahşap balta) | Sol tık = pos1, Sağ tık = pos2 |
| <code>//set <blok></code> | Seçili alanı belirtilen blokla doldurur | <code>//set stone</code> |
| <code>//copy</code> | Seçili alanı panoya kopyalar | Oyuncunun pozisyonuna göre |
| <code>//paste</code> | Panodan yapıştırır | <code>//paste -a</code> (havayı yok say) |
| <code>//undo</code> | Son işlemi geri alır | <code>//undo 5</code> (son 5 işlem) |
| <code>//replace <eski> <yeni></code> | Belirtilen blokları değiştirir | <code>//replace dirt grass_block</code> |
| <code>//sphere <blok> <yarıçap></code> | Küre oluşturur | <code>//sphere glass 10</code> |
| <code>//cyl <blok> <yarıçap> <yükseklik></code> | Silindir oluşturur | <code>//cyl stone 5 10</code> |
# Sık kullanılan WorldEdit iş akışı
//wand # Seçim aracını al
# Sol tık ile 1. noktayı, sağ tık ile 2. noktayı seç
//set air # Seçili alanı temizle
//copy # Yapıyı kopyala
//paste # Başka yere yapıştır
//undo # Hata yaptıysanız geri alınWorldGuard
WorldGuard, WorldEdit ile entegre çalışarak bölge tabanlı koruma sistemi sunar. Spawn koruması, PvP bölgeleri, mob spawn kontrolü, giriş/çıkış mesajları ve çok daha fazlasını destekler.
| Komut | Açıklama |
|---|---|
| <code>//wand</code> + seçim | WorldEdit ile bölge sınırlarını belirle |
| <code>/rg define <isim></code> | Yeni bölge tanımla |
| <code>/rg flag <bölge> <bayrak> <değer></code> | Bölgeye bayrak ayarla |
| <code>/rg addowner <bölge> <oyuncu></code> | Bölgeye sahip ekle |
| <code>/rg addmember <bölge> <oyuncu></code> | Bölgeye üye ekle |
| <code>/rg info <bölge></code> | Bölge bilgilerini göster |
| <code>/rg list</code> | Tüm bölgeleri listele |
| <code>/rg remove <bölge></code> | Bölgeyi sil |
# Örnek: Spawn bölgesi oluşturma
//wand
# 1. ve 2. noktayı seçin
//expand vert # Gökten yere genişlet
/rg define spawn
/rg flag spawn pvp deny
/rg flag spawn build deny
/rg flag spawn mob-spawning deny
/rg flag spawn greeting &aSpawn bölgesine hoş geldiniz!WorldGuard hakkında detaylı rehberimize göz atın:
CoreProtect
CoreProtect, sunucunuzdaki tüm blok değişikliklerini, sandık erişimlerini, chat mesajlarını ve komutları kaydeden bir log/rollback pluginidir. Grief tespiti ve geri alma için vazgeçilmezdir.
Inspect Modu
Inspect modu ile herhangi bir bloğa tıklayarak kim tarafından, ne zaman değiştirildiğini görebilirsiniz:
/co inspect
# Artık herhangi bir bloğa tıklayın
# Kim koydu/kırdı, ne zaman, ne ile değiştirdi gösterilir
# Tekrar /co inspect ile modu kapatınRollback (Geri Alma)
Belirli bir oyuncunun veya zaman aralığının değişikliklerini geri alın:
# Belirli oyuncunun son 1 saatini geri al
/co rollback user:Griefer time:1h
# Belirli oyuncunun son 24 saatini 20 blok yarıçapta geri al
/co rollback user:Griefer time:24h radius:20
# Sadece blok kırmalarını geri al
/co rollback user:Griefer time:6h action:break
# TNT patlamalarını geri al
/co rollback time:1h action:tntLookup (Arama)
Değişiklikleri geri almadan sadece log kayıtlarını görüntüleyebilirsiniz:
# Oyuncunun tüm blok kırmalarını ara
/co lookup user:Oyuncu action:break time:7d
# Belirli bir alanda yapılan tüm değişiklikleri göster
/co lookup radius:10 time:24h
# Sandık erişim loglarını kontrol et
/co lookup user:Oyuncu action:container time:3dTAB Plugin
TAB, oyuncu listesini (Tab tuşu), nametag'leri ve scoreboard'u özelleştirmenizi sağlayan kapsamlı bir eklentidir. PlaceholderAPI ile entegre çalışarak dinamik bilgiler gösterebilir.
Tab Listesi Yapılandırması
# plugins/TAB/config.yml
header-footer:
enabled: true
header:
- '&b&lKEYDAL &fNetwork'
- '&7Online: &a%online%/%maxplayers%'
footer:
- '&7keydal.com | &bDiscord: discord.gg/keydal'Nametag Yapılandırması
# Nametag (oyuncu başı üzerindeki yazı)
nametags:
enabled: true
groups:
admin:
tagprefix: '&c[Admin] '
tagsuffix: '
moderator:
tagprefix: '&6[Mod] '
tagsuffix: '
default:
tagprefix: '&7'
tagsuffix: 'Scoreboard Yapılandırması
# Scoreboard (ekranın sağındaki bilgi tablosu)
scoreboard:
enabled: true
title: '&b&lKEYDAL'
lines:
- '&7&m '
- '&fOyuncu: &a%player%'
- '&fPing: &a%ping%ms'
- '&fTPS: &a%tps%'
- '
- '&fBakiye: &a%essentials_balance%'
- '&fRütbe: &a%luckperms_prefix%'
- '&7&m '
- '&bkeydal.com'DiscordSRV
DiscordSRV, Minecraft sunucunuz ile Discord sunucunuz arasında iki yönlü chat senkronizasyonu sağlar. Oyun içinden Discord'a, Discord'dan oyun içine mesaj gönderebilirsiniz.
Kurulum Adımları
- Discord Developer Portal'dan yeni bot oluşturun
- Bot Token'ı kopyalıyın
- MESSAGE CONTENT INTENT ve SERVER MEMBERS INTENT izinlerini aktif edin
- Botu sunucunuza davet edin
- DiscordSRV JAR dosyasını
plugins/klasörüne atın - Sunucuyu yeniden başlatın
# plugins/DiscordSRV/config.yml
BotToken: 'BOT_TOKENINIZI_BURAYA_YAPISTIRIN'
Channels:
global: '123456789012345678' # Discord kanal ID'si
# Mesaj formatı (MC -> Discord)
MinecraftChatToDiscordMessageFormat: '**%displayname%** > %message%'
# Mesaj formatı (Discord -> MC)
DiscordToMinecraftChatMessageFormat: '&9[Discord] &f%name% &7> &f%message%'ViaVersion ve Geyser
ViaVersion ve Geyser, sunucunuza farklı platformlardan ve sürümlerden bağlantı sağlar. ViaVersion farklı Java Edition sürümlerini, Geyser ise Bedrock Edition oyuncularını destekler.
ViaVersion
Sunucunuz 1.21.4'te olsa bile 1.20.x, 1.19.x gibi eski sürümlerden gelen oyuncuların bağlanmasına izin verir:
# ViaVersion kurulumu
cd ~/server/plugins
wget https://hangar.papermc.io/ViaVersion/ViaVersion/releases/latest/download/ViaVersion.jar
# Ek eklentiler
# ViaBackwards — eski sürümlerden bağlanma
# ViaRewind — 1.7/1.8 desteğiGeyser (Bedrock Desteği)
Geyser, Bedrock Edition (mobil, konsol, Windows 10) oyuncularının Java Edition sunucunuza bağlanmasını sağlar:
# Geyser + Floodgate kurulumu
cd ~/server/plugins
wget https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot -O Geyser-Spigot.jar
wget https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot -O Floodgate-Spigot.jarPerformans Pluginleri
Sunucu performansını izlemek ve optimize etmek için kullanılan pluginler. Bu pluginler doğrudan TPS iyileştirmesi sağlar veya darboğazları tespit etmenize yardımcı olur.
Spark
Spark, sunucunuzun CPU ve bellek kullanımını profillemenizi sağlayan hafif bir performans aracı. TPS düşüşlerinin nedenini bulmak için vazgeçilmezdir:
# CPU profiling başlat (30 saniye)
/spark profiler start
/spark profiler stop
# TPS ve tick süresi bilgisi
/spark tps
# Bellek kullanımını göster
/spark healthChunky
Chunky, dünya chunk'larını önceden oluşturarak (pre-generation) oyun sırasındaki chunk üretim lagını ortadan kaldırır:
# 5000 blok yarıçapta pre-generation
/chunky radius 5000
/chunky start
# İlerlemeyi izle
/chunky progress
# Durdur
/chunky pauseViewDistanceTweaks
ViewDistanceTweaks, sunucu performansına göre view distance'ı dinamik olarak ayarlar. TPS düştüğünde view distance azalır, TPS yüksekken artar.
# ViewDistanceTweaks config.yml
enabled: true
target-tps: 19.5
min-view-distance: 4
max-view-distance: 10
adjustment-mode: proactivePlugin Uyumluluk
Plugin uyumluluk sorunları, sunucu yönetiminde en sık karşılaşılan problemlerdendir. Yanlış sürüm, API çatışması veya eksik bağımlılık sunucunuzu başlatamaz hale getirebilir.
Sürüm Kontrolü
Her plugin belirli Minecraft ve API sürümleriyle uyumludur. Kurmadan önce plugin sayfasındaki Supported Versions bölümünü kontrol edin.
- Plugin sayfasında desteklenen MC sürümlerini kontrol edin
- Paper/Spigot/Bukkit uyumluluğunu doğrulayın
plugins/PluginAdı/plugin.ymldosyasındaapi-versiondeğerini kontrol edin- Eski pluginler yeni MC sürümlerinde çalışmayabilir
API Çatışmaları
Aynı işi yapan birden fazla plugin çatışmaya neden olabilir:
- İki ekonomi plugini aynı anda kullanmayın (EssentialsX Eco + CMI Eco)
- İki yetki plugini aynı anda kullanmayın (LuckPerms + PermissionsEx)
- İki chat formatlama plugini çatışabilir
- Aynı event'i dinleyen pluginler beklenmedik davranışlar oluşturabilir
Bağımlılık Sorunları
Bazı pluginler başka pluginlere bağımlıdır. Eksik bağımlılık pluginin yüklenmemesine neden olur:
| Plugin | Zorunlu Bağımlılık | Önerilen Bağımlılık |
|---|---|---|
| WorldGuard | WorldEdit | — |
| EssentialsX Chat | EssentialsX | Vault, LuckPerms |
| TAB | — | PlaceholderAPI |
| Geyser | — | Floodgate |
| DeluxeChat | — | Vault, PlaceholderAPI |
Plugin Güvenliği
Plugin güvenliği, sunucunuzun bütünlüğü için kritik öneme sahiptir. Kötü amaçlı pluginler sunucunuza backdoor açabilir, oyuncu verilerini çalabilir veya cryptominer çalıştırabilir.
Güvenilir Kaynaklar
- Her zaman resmi kaynaklardan indirin: SpigotMC, Modrinth, Hangar, GitHub Releases
- Premium pluginleri satın alın: Crackli/nulled pluginler neredeyse her zaman malware içerir
- İndirme sayısı ve yorumları kontrol edin: Popüler pluginler genellikle daha güvenlidir
- Açık kaynak pluginleri tercih edin: Kaynak kodunu inceleyebilirsiniz
Malware Riskleri
Kötü amaçlı pluginlerin yaygın davranışları:
- Backdoor: Belirli oyuncu adlarına OP yetkisi verir
- Cryptominer: Sunucunuzun CPU'sunu kripto madenciliğine kullanır
- Data Stealer: Oyuncu IP adreslerini ve verilerini dışarıya gönderir
- RAT (Remote Access Trojan): Sunucunuzun tam kontrolünü ele geçirir
- Botnet: Sunucunuzu DDoS saldırılarında kullanır
Yetki Denetimi
Pluginlerin istediği yetkileri düzenli olarak denetleyin:
# LuckPerms ile verilen tüm yetkileri listele
/lp group default permission info
/lp group admin permission info
# Verbose mode ile hangi yetkilerin kontrol edildiğini izleyin
/lp verbose on
# Gereksiz yetkileri kaldırın
/lp group default permission unset gereksiz.yetkiSonraki Adımlar
Plugin kurulumunu tamamladıktan sonra sunucunuzu daha da geliştirmek için aşağıdaki rehberlerimize göz atın: