LiteBans kurulumu, ceza yönetimini ciddiye alan bir Minecraft sunucusunun temel adımlarından biridir: eklentinin jar dosyasını plugins klasörüne kopyalar, sunucuyu yeniden başlatırsınız ve ilk açılışta plugins/LiteBans/ klasörü, config.yml ile messages.yml dosyaları oluşur. Hiçbir ayar yapmadan da çalışır; /tempban, /mute, /warn ve /history komutları anında kullanılabilir hâle gelir.
Minecraft süreli ban eklentisi ihtiyacı genelde şu noktada doğuyor: sunucu büyüyor, yetkili sayısı artıyor ve vanilla /ban komutunun sadece “sonsuza kadar yasak” demekten başka bir şey yapamadığı fark ediliyor. Üç günlük ban veremiyorsunuz. Sohbet cezası veremiyorsunuz. Kimin kime neden ceza verdiğini geriye dönük göremiyorsunuz. Bir de ağınızda birden fazla sunucu varsa her birinde ayrı ban listesi tutmak zorunda kalıyorsunuz.
LiteBans bu dört sorunu birden çözüyor. Karşılığında ücretli bir eklenti olduğunu ve MySQL tarafında biraz kurulum işi istediğini de baştan söyleyelim.
LiteBans Ne Yapar? Vanilla Ban Neden Yetmez?#
Vanilla Minecraft’ta ceza altyapısı iki JSON dosyasından ibarettir: banned-players.json ve banned-ips.json. Bunlar düz listedir — kimin banlandığını yazar, gerisini yazmaz. Süre yok, ceza türü yok, geçmiş yok.
| Özellik | Vanilla ban | LiteBans |
|---|---|---|
| Kalıcı ban | Var | Var |
| Süreli ban | Yok | Var |
| Sohbet cezası (mute) | Yok | Var |
| Uyarı (warn) sistemi | Yok | Var |
| Ceza geçmişi | Yok | Var |
| Yetkili denetimi | Yok | Var |
| Ağ genelinde ortak ceza | Yok | MySQL ile var |
| Sessiz ceza | Yok | Var |
Asıl fark geçmiş tarafında. Bir oyuncu “ben hiç ceza almadım” dediğinde /history komutu tartışmayı bitirir. Aynı şekilde bir yetkilinin son bir ayda kimlere ne verdiğini görmek istediğinizde /staffhistory komutu elinizin altındadır — yetkili alımı yaptığınız sunucularda bu denetim imkânı sandığınızdan çok işe yarıyor.
LiteBans Kurulumu: Adım Adım#
Kurulumdan önce bilinmesi gerekenler#
LiteBans ücretli bir eklentidir ve SpigotMC üzerinden satılır. Lisans satın alan hesaba bağlıdır. Başka sitelerde dolaşan “ücretsiz sürüm” dosyalarını indirmeyin; bu tür kopyalar sunucuya arka kapı bulaştırmanın en yaygın yollarından biri. Eklentinin ayrıca bir bağımlılığı yoktur, tek başına çalışır.
-
LiteBansÜcretli eklentiİndir
-
LuckPermsİzin dağıtımı içinİndir
-
Paper sunucu jarİndir
-
Velocity proxyAğ kuracaksanızİndir
LiteBans’ı satın aldığınız SpigotMC hesabından indirin. Üçüncü taraf sitelerden veya video açıklamalarındaki bağlantılardan eklenti indirmeyin.
Kurulum adımları#
-
Jar dosyasını doğru yere koyun#
Tek sunucuda
pluginsklasörü yeterli. Proxy’li bir ağda eklentiyi proxy’nin (BungeeCord veya Velocity)pluginsklasörüne kurun; böylece banlanan oyuncu hiçbir arka uca ulaşamadan kapıda durdurulur. Dosya yükleme yöntemleri plugin kurulumu rehberinde anlatılıyor. -
Sunucuyu düzgün kapatıp açın#
Konsolda
/reloadkullanmayın; veritabanı bağlantısı açan eklentilerde bu komut yarım kalmış bağlantılar bırakır.stopyazıp süreci sonlandırın ve başlatma betiğini yeniden çalıştırın.stop -
Oluşan dosyaları kontrol edin#
plugins/LiteBans/klasörü içindeconfig.ymlvemessages.ymloluşmuş olmalı. İlk açılışta eklenti gömülü yerel veritabanını kurar ve hemen çalışmaya başlar. -
Sunucu adını yazın#
config.ymliçindeki sunucu adı alanı, cezanın hangi sunucuda verildiğini kaydeder. Ağdaki her sunucuya farklı bir ad verin;/historyçıktısında bu ad görünür ve olayı takip etmenizi kolaylaştırır.server_name: 'survival' -
Test edin#
Kendinize bir dakikalık deneme cezası verip mesajın nasıl göründüğüne bakın. Test hesabınız yoksa süreyi kısa tutun ve hemen kaldırın.
/tempmute TestHesabi 1m Deneme /history TestHesabi /unmute TestHesabi
MySQL Bağlama: Tek Ceza Havuzu#
Tek sunucuda gömülü veritabanı yeterlidir. Ama lobi, survival, skyblock ve minigame sunucularını bir proxy arkasında topladıysanız iş değişir: her sunucu kendi ceza listesini tutarsa lobide banladığınız oyuncu skyblock’ta gayet rahat oynamaya devam eder. Çözüm, hepsinin aynı MySQL veritabanını göstermesi.
Önce veritabanını ve kullanıcıyı oluşturun:
CREATE DATABASE litebans CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'litebans'@'%' IDENTIFIED BY 'guclu-bir-parola';
GRANT ALL PRIVILEGES ON litebans.* TO 'litebans'@'%';
FLUSH PRIVILEGES;
Sonra her sunucudaki config.yml içinde veritabanı bölümünü aynı değerlerle doldurun. Değişecek tek şey sunucu adıdır:
sql:
driver: mysql
address: 10.0.0.5:3306
database: litebans
table_prefix: 'litebans_'
username: 'litebans'
password: 'guclu-bir-parola'
# Bu satır her sunucuda FARKLI olmalı
server_name: 'skyblock'
'%' ile açmak veritabanına her yerden bağlanılabileceği anlamına gelir. 3306 portunu internete kapatın ve yalnızca oyun sunucularınızın IP adreslerine izin verin; kendi ağınızda özel IP kullanıyorsanız 'litebans'@'10.0.0.%' biçiminde daraltmak daha doğrudur. Veritabanı kurulumunun tamamı MySQL bağlama rehberinde.Sürücü olarak MySQL dışında MariaDB ve PostgreSQL de kullanılabilir; hepsi aynı mantıkla çalışır. Ağ kurulumunun proxy tarafı için BungeeCord ve Velocity ile sunucu ağı kurulumu sayfasına bakın.
Ceza Komutları ve Süre Yazımı#
| Komut | Ne yapar |
|---|---|
/ban <oyuncu> <sebep> | Kalıcı yasak |
/tempban <oyuncu> <süre> <sebep> | Süreli yasak |
/ipban <oyuncu> <sebep> | IP tabanlı yasak |
/mute · /tempmute | Sohbet kısıtı, kalıcı veya süreli |
/warn <oyuncu> <sebep> | Kayda geçen uyarı |
/kick <oyuncu> <sebep> | Sunucudan atma |
/unban · /unmute · /unwarn | Cezayı kaldırma |
/banlist · /mutelist | Aktif cezaları listeleme |
/history <oyuncu> | Oyuncunun tüm ceza geçmişi |
/staffhistory <yetkili> | Yetkilinin verdiği cezalar |
/dupeip <oyuncu> | Aynı IP’yi paylaşan hesaplar |
/litebans reload | Yapılandırmayı yeniden okur |
Süre yazımı rakam ve birim harfinin bitişik yazılmasıyla olur. Burada bir tuzak var ve yetkili ekiplerinin en sık düştüğü hata bu:
| Yazım | Anlamı | Örnek |
|---|---|---|
s | saniye | /tempmute Oyuncu 30s Küfür |
m | dakika | /tempmute Oyuncu 15m Spam |
h | saat | /tempban Oyuncu 12h Troll |
d | gün | /tempban Oyuncu 7d Reklam |
w | hafta | /tempban Oyuncu 2w Grief |
mo | ay | /tempban Oyuncu 1mo Hile |
y | yıl | /tempban Oyuncu 1y Ciddi ihlal |
m dakika, mo ay demektir. Yetkili “bir aylık ban vereyim” deyip 1m yazdığında oyuncu bir dakika sonra geri geliyor; tersini yazdığındaysa 30 dakikalık ceza 30 aya çıkıyor. Bu ayrımı yetkili el kitabınıza yazın, sözlü anlatmakla kalmayın.Cezayı duyurmadan uygulamak istiyorsanız komuta -s ekleyin. Sessiz ceza sohbete duyurulmaz, yalnızca litebans.notify iznine sahip yetkililer görür — hile soruşturmalarında şüpheliyi uyarmamak için kullanılır:
/ban -s SupheliOyuncu Hile kullanimi
/tempban -s SupheliOyuncu 3d Inceleme suruyor
Ceza Mesajlarını Türkçeleştirme#
Ceza ekranında oyuncunun gördüğü metinler plugins/LiteBans/messages.yml içindedir. Dosyayı açtığınızda anahtar adları ve altlarında satır satır mesajlar görürsünüz. Yapmanız gereken tek şey tırnak içindeki metni değiştirmek — anahtar adlarına ve $ ile başlayan yer tutuculara dokunmayın.
banned_message:
- '&c&lSUNUCUDAN YASAKLANDINIZ'
- ''
- '&7Sebep: &f$reason'
- '&7Yetkili: &f$executedBy'
- '&7Süre: &fKalıcı'
- ''
- '&7İtiraz için: &bdiscord.gg/sunucunuz'
banned_message_temp:
- '&c&lGEÇİCİ OLARAK YASAKLANDINIZ'
- ''
- '&7Sebep: &f$reason'
- '&7Kalan süre: &f$duration'
- '&7Yetkili: &f$executedBy'
Yer tutucular şunları basar: $reason ceza sebebini, $executedBy cezayı veren yetkiliyi, $duration kalan süreyi, $id ise ceza kaydının numarasını. Birini silerseniz o bilgi mesajda hiç görünmez; yanlış yazarsanız satır boş kalır.
& işaretini kullanın, girintileri boşlukla verin, sekme karakteri kullanmayın. Değişiklikten sonra /litebans reload yeterli.İtiraz adresini mesaja yazmayı unutmayın. Ceza ekranında Discord bağlantısı gören oyuncu doğrudan oraya gidiyor, aksi hâlde sunucu listelerinde şikâyet yazıyor. Kural metniniz hazır değilse sunucu kuralları örneği sayfasındaki şablondan yararlanabilirsiniz.
Yetkileri LuckPerms ile Dağıtma#
LiteBans kurulduğunda komutların çoğu yalnızca OP oyunculara açıktır. Gerçek bir yetkili hiyerarşisi kurmak için izinleri gruplara dağıtmanız gerekir ve bu iş LuckPerms olmadan düzgün yapılamaz.
| İzin düğümü | Ne açar | Önerilen grup |
|---|---|---|
litebans.kick | Oyuncuyu sunucudan atma | Yardımcı |
litebans.warn | Kayda geçen uyarı verme | Yardımcı |
litebans.mute · litebans.tempmute | Sohbet cezası | Moderatör |
litebans.tempban | Süreli yasak | Moderatör |
litebans.ban | Kalıcı yasak | Baş moderatör |
litebans.ipban | IP tabanlı yasak | Yönetici |
litebans.unban · litebans.unmute | Ceza kaldırma | Yönetici |
litebans.history | Ceza geçmişi sorgulama | Moderatör |
litebans.staffhistory | Yetkili denetimi | Yönetici |
litebans.notify | Sessiz cezaları görme | Tüm yetkililer |
litebans.dupeip | Aynı IP’li hesapları listeleme | Moderatör |
litebans.exempt | Cezalardan muafiyet | Yalnızca kurucu |
/lp creategroup yardimci
/lp creategroup moderator
/lp group yardimci permission set litebans.kick true
/lp group yardimci permission set litebans.warn true
/lp group yardimci permission set litebans.notify true
/lp group moderator parent add yardimci
/lp group moderator permission set litebans.tempban true
/lp group moderator permission set litebans.tempmute true
/lp group moderator permission set litebans.history true
/lp group yonetici permission set litebans.ban true
/lp group yonetici permission set litebans.unban true
litebans.* joker düğümünü hiçbir gruba vermeyin. Bu tek satır kalıcı ban, IP ban, ceza kaldırma ve muafiyet dâhil her şeyi açar; moderatör grubuna yanlışlıkla verilmiş bir joker izin, küs bir yetkilinin bütün ceza kayıtlarını temizlemesine yol açabilir. Her izni tek tek tanımlayın.Ceza Geçmişi Sorgulama ve Denetim#
Günlük işin büyük kısmı burada dönüyor. Bir şikâyet geldiğinde ilk bakacağınız yer oyuncunun geçmişi:
# Oyuncunun tüm cezaları (ban, mute, warn, kick)
/history Oyuncu
# Aktif ban var mı, ne zaman bitiyor
/checkban Oyuncu
# Bir yetkilinin verdiği tüm cezalar
/staffhistory ModeratorAdi
# Aynı IP'yi paylaşan diğer hesaplar
/dupeip Oyuncu
# Sunucudaki tüm aktif banlar ve mutelar
/banlist
/mutelist
/history çıktısındaki her satırda ceza türü, sebep, veren yetkili, tarih ve kayıt numarası bulunur. MySQL kullanıyorsanız hangi sunucuda verildiği de görünür — server_name alanını her sunucuda farklı yazmanızın sebebi bu.
/staffhistory ise sunucu yönetiminin en çok ihmal ettiği araç. Ayda bir kez yetkililerin ceza dağılımına bakmak, kimin gereksiz ağır ceza verdiğini ya da arkadaşlarını kayırdığını gösteriyor. Destek taleplerinde en sık gördüğümüz kriz senaryosu, bir yetkilinin haftalarca fark edilmeden keyfî ban dağıtması; oysa tek bir komut bunu en baştan ortaya çıkarıyor.
/dupeip komutu ise ban kaçağı avında birinci silah. Banlanan oyuncunun yeni hesapla girip girmediğini anlamanın en hızlı yolu. Hile soruşturmalarında bunu anticheat kayıtlarıyla ve blok geçmişi için CoreProtect sorgularıyla birlikte kullanın; üçü bir araya geldiğinde ortada tartışılacak birşey kalmıyor.
Diğer Ban Eklentilerinden Veri Aktarma#
Başka bir ban eklentisinden geçiyorsanız mevcut cezaları sıfırdan yazmanıza gerek yok. LiteBans bir içe aktarma aracıyla gelir ve vanilla ban listesi dâhil yaygın ban eklentilerinin veritabanlarını okuyabilir. Aktarım /litebans import komutuyla başlar; desteklenen kaynakların güncel listesi ve tam sözdizimi eklentinin resmî belgesindedir.
Aktarımı yapmadan önce şu üç maddeyi mutlaka uygulayın:
-
Hedef veritabanının yedeğini alın#
MySQL kullanıyorsanız
mysqldumpile tam bir kopya çıkarın. Aktarım geri alınabilir bir işlem değildir.mysqldump -u litebans -p litebans > litebans-yedek.sql -
Sunucu boşken çalıştırın#
Aktarım sırasında veritabanına toplu yazma yapılır; oyuncu bağlıyken çalıştırmak hem yavaşlatır hem tutarsız kayıt bırakabilir. Bakım moduna alıp çalıştırın.
-
Bir kez çalıştırın#
“Acaba çalıştı mı” diye ikinci kez çalıştırmayın; kayıtlar çiftlenir ve temizlemesi elle SQL yazmayı gerektirir. Sonucu
/banlistve/historyile doğrulayın.
Vanilla Ban ile Çakışma ve Komut Çatışması#
Bu bölümü atlamayın; kurulum sonrası yaşanan sorunların çoğu buradan çıkıyor.
Birinci mesele vanilla ban listesi. banned-players.json içindeki bir kayıt sunucunun kendi giriş kontrolünde işlenir ve LiteBans’ın haberi olmaz. Yani eski bir vanilla ban duruyorsa oyuncuyu LiteBans üzerinden unban etseniz bile giremez, üstelik vanilla ban mesajını görür. Geçiş yaptıktan sonra bu iki dosyayı temizleyin:
pardon Oyuncu
pardon-ip 203.0.113.10
Ya da aktarım sonrası dosyaların yedeğini alıp içeriklerini boş bir JSON dizisine ([]) çevirin. Proxy’li ağda dikkat edin: banned-players.json her arka uç sunucuda ayrı ayrı durur, hepsini tek tek kontrol etmeniz gerekir.
İkinci mesele komut çatışması. EssentialsX de /ban, /kick, /mute ve /tempban komutlarını kaydeder; iki eklenti aynı komutu isteyince hangisinin çalışacağı yükleme sırasına kalır ve sonuç tahmin edilemez olur. Kalıcı çözüm EssentialsX tarafında bu komutları kapatmaktır:
# plugins/Essentials/config.yml
disabled-commands:
- ban
- unban
- banip
- unbanip
- kick
- mute
- tempban
/litebans:ban Oyuncu Sebep. Bu her zaman LiteBans’ı çalıştırır. Ama günlük kullanımda yetkililerden bunu beklemek gerçekçi değil, çakışmayı kalıcı olarak çözün. EssentialsX yapılandırmasının tamamı EssentialsX kurulumu sayfasında.Üçüncü mesele proxy’li ağlarda kurulum yeri. LiteBans yalnızca bir arka uç sunucuya kurulmuşsa ban sadece orada geçerli olur; oyuncu proxy üzerinden başka bir sunucuya girer. Doğrusu eklentiyi proxy’ye kurmak ya da bütün sunuculara kurup hepsini aynı MySQL veritabanına bağlamaktır. Donanım tarafında ceza veritabanı ciddi bir yük getirmez; asıl yük oyun sunucusunun kendisindedir — eklentili bir Paper sunucusunda 2-10 oyuncu için 8 GB, 10-30 oyuncu için 10-12 GB, proxy’li ağlarda 32 GB ve üzeri RAM planlayın, işlemcide saat hızı yüksek bir AMD Ryzen 9 ve NVMe SSD tercih edin. Hazır kurulu paketler için Batihost Minecraft sunucu paketlerine bakabilirsiniz.
Özetle#
LiteBans kurulumu jar’ı doğru yere koymakla başlıyor ama iş orada bitmiyor. Sırayı şöyle kurun: eklentiyi tek sunucuda plugins, ağda proxy tarafına yükleyin; sunucuyu düzgün kapatıp açın; ağ kullanıyorsanız MySQL bağlayıp her sunucuya farklı bir server_name verin; messages.yml içindeki metinleri Türkçeleştirip itiraz adresini ekleyin; izinleri LuckPerms ile tek tek dağıtın ve joker düğümden uzak durun.
Sonra iki tuzağı hatırlayın. Süre yazımında m dakika, mo ay demek. Ve vanilla banned-players.json ile EssentialsX komutları temizlenmediği sürece ceza sisteminiz hala iki başlı çalışır.
Ceza sistemi tek başına yeterli değil; arkasında yazılı kurallar ve tutarlı bir yetkili ekibi olmalı. Sunucu kuralları örneği sayfası ceza kademelerini kurmanıza yardımcı olur, takıldığınız bir yer olursa destek talebi açabilirsiniz.