Velvexa
Odunlara Vur Vur Vur!
- Minecraft Sürümleri
- 1.16-1.21.4
Merhaba değerli forum üyeleri!
MC-TR üzerinde ve @MineBazaar bünyesinde geliştirmiş olduğum ilk eklentim olan "vxLinker" hesap eşleme eklentisinin ilk sürümünü sizlere tanıtmanın heyecanını ve gururunu yaşıyorum! Öncelikle belirtmek isterim ki eklenti tamamen ücretsizdir ve ücretsiz kalacaktır. Konu tasarımı zayıf farkındayım, lütfen linçlemeyin :((
1. Hesap Eşleştirme Sistemi
* Oyuncular /hesapesle komutuyla kendine özel 6 haneli bir kod oluşturur.
* Bu kodu Discord sunucusundaki /hesapesle <kod> komutuyla girerek hesabını bağlar.
* Eşleşme tamamlandığında oyuncu hem oyun içinde hem de Discord’da bildirim alır.
* Oyuncu çevrimdışı olsa bile eşleşme tamamlanabilir (veritabanı tabanlı sistem)
2. Discord Entegrasyonu (JDA ile)
* Eklenti doğrudan bir Discord botu ile entegre çalışır.
* Eşleşme tamamlandığında Discord’daki kullanıcıya otomatik olarak rolü verilir.
* Botun durum mesajı (“Minecraft ↔ Discord Eşleme Aktif”) config üzerinden değiştirilebilir.
* Guild ID, Role ID ve Token tamamen config.yml üzerinden ayarlanabilir.
3. Veri Depolama (3 Sistem Destekli)
* Eşleşme verileri 3 farklı şekilde saklanabilir:
* YAML (tek dosya, küçük sunucular için)
* SQLite (otomatik veritabanı oluşturur)
* MySQL (harici veritabanı sunucusu için)
* Depolama tipi değiştirildiğinde sistem otomatik veri taşıma (migration) yapar. (Yani eski veriler kaybolmaz.)
4. Ödül Sistemi
* İlk Eşleşme Ödülü: Oyuncu ilk kez hesabını bağladığında özel ödül alır.
* Periyodik Ödül: Discord bağlantısı aktif kalan oyunculara belirli aralıklarla otomatik ödül verir.
* Ödüller:
* Komut tabanlı (örnek: lp user {player} parent add vip)
* Item tabanlı (örnek: “DIAMOND:3” veya özel item tanımı)
* Çift ödül koruması (first-link ödülü bir kez verilir).
* Ödül logları reward-logs/ klasörüne anlık kaydedilir.
5. Loglama ve İzleme Sistemi
* Her ödül, tarih + UUID bazlı olarak ayrı ayrı loglanır.
* Hangi oyuncuya, ne zaman, hangi ödülün verildiği kayıt altına alınır.
6. Yeniden Yükleme (Reload) Desteği
* Reload sonrasında config.yml ve messages.yml anında yeniden yüklenir.
* Eklentiyi yeniden başlatmadan tüm ayarlar güncellenebilir.
* Reload sonrası ödül zamanlayıcısı ve Discord botu otomatik olarak yeniden başlatılır.
7. Yüksek Güvenlikli Kod Sistemi
* Kodlar rastgele 6 haneli olarak oluşturulur (değiştirebilirsiniz)
* Her oyuncunun yalnızca bir aktif kodu olabilir.
* Kodlar süresi dolduğunda otomatik silinir (varsayılan 300 saniye).
* Kod sistemi hem performanslı hem de çakışmasız çalışır.
8. Özelleştirilebilir Mesajlar
Hem oyun içi hem de Discord tarafındaki mesajlar düzenlenebilir. (hard-coded unutulan bazı kısımlar güncellemeyle düzenlenebilir hale gelecek)
UYARI: Eklenti beta sürümündedir. Gerçek oyuncularla test edilmemiştir ancak eklenti kullanıma hazır durumdadır, ufak testleri yapılmış olup kritik hata ve buglara rastlanmamıştır. Açık kaynak linki üzerinden inceleyebilir ve indirebilirsiniz.
Geliştirici: Velvexa
Sürüm: v1.0.0-BETA
Açık Kaynak:
ViruTotal:
MC-TR üzerinde ve @MineBazaar bünyesinde geliştirmiş olduğum ilk eklentim olan "vxLinker" hesap eşleme eklentisinin ilk sürümünü sizlere tanıtmanın heyecanını ve gururunu yaşıyorum! Öncelikle belirtmek isterim ki eklenti tamamen ücretsizdir ve ücretsiz kalacaktır. Konu tasarımı zayıf farkındayım, lütfen linçlemeyin :((
1. Hesap Eşleştirme Sistemi
* Oyuncular /hesapesle komutuyla kendine özel 6 haneli bir kod oluşturur.
* Bu kodu Discord sunucusundaki /hesapesle <kod> komutuyla girerek hesabını bağlar.
* Eşleşme tamamlandığında oyuncu hem oyun içinde hem de Discord’da bildirim alır.
* Oyuncu çevrimdışı olsa bile eşleşme tamamlanabilir (veritabanı tabanlı sistem)
2. Discord Entegrasyonu (JDA ile)
* Eklenti doğrudan bir Discord botu ile entegre çalışır.
* Eşleşme tamamlandığında Discord’daki kullanıcıya otomatik olarak rolü verilir.
* Botun durum mesajı (“Minecraft ↔ Discord Eşleme Aktif”) config üzerinden değiştirilebilir.
* Guild ID, Role ID ve Token tamamen config.yml üzerinden ayarlanabilir.
3. Veri Depolama (3 Sistem Destekli)
* Eşleşme verileri 3 farklı şekilde saklanabilir:
* YAML (tek dosya, küçük sunucular için)
* SQLite (otomatik veritabanı oluşturur)
* MySQL (harici veritabanı sunucusu için)
* Depolama tipi değiştirildiğinde sistem otomatik veri taşıma (migration) yapar. (Yani eski veriler kaybolmaz.)
Kod:
# ======================================================
# VERİ DEPOLAMA (YAML / SQLITE / MYSQL)
# ------------------------------------------------------
# type: Depolama türü
# - YAML → Basit dosya temelli sistem
# - SQLITE → Otomatik yerel veritabanı (vxlinker.db)
# - MYSQL → Uzaktan MySQL sunucusu bağlantısı
# ======================================================
storage:
type: "SQLITE"
# ------------------------------------------------------
# MYSQL AYARLARI
# ------------------------------------------------------
mysql:
host: ""
port: 3306
database: ""
username: ""
password: ""
4. Ödül Sistemi
* İlk Eşleşme Ödülü: Oyuncu ilk kez hesabını bağladığında özel ödül alır.
* Periyodik Ödül: Discord bağlantısı aktif kalan oyunculara belirli aralıklarla otomatik ödül verir.
* Ödüller:
* Komut tabanlı (örnek: lp user {player} parent add vip)
* Item tabanlı (örnek: “DIAMOND:3” veya özel item tanımı)
* Çift ödül koruması (first-link ödülü bir kez verilir).
* Ödül logları reward-logs/ klasörüne anlık kaydedilir.
5. Loglama ve İzleme Sistemi
* Her ödül, tarih + UUID bazlı olarak ayrı ayrı loglanır.
* Hangi oyuncuya, ne zaman, hangi ödülün verildiği kayıt altına alınır.
Kod:
# ======================================================
# ÖDÜL SİSTEMİ (RewardManager)
# ------------------------------------------------------
# - İlk eşleşme ödülü: Oyuncu hesabını ilk kez bağladığında verilir.
# - Periyodik ödül: Discord bağlantısı aktif oyunculara belirli aralıklarla verilir.
# - Komutlarda {player} değişkeni oyuncu ismiyle değiştirilir.
# - Süre biçimleri: 10m (dakika), 1h (saat), 1d (gün)
# ======================================================
rewards:
first-link:
enabled: true
message: "&aTebrikler! Discord hesabını başarıyla eşleştirdin ve ödül kazandın!"
commands:
- "lp user {player} parent addtemp vip 7d"
items:
- "DIAMOND:3"
- { material: "GOLD_INGOT", amount: 8, name: "&6Altın Hediye" }
interval:
enabled: true
every: "1h" # 10m / 1h / 1d
message: "&aDiscord bağlantın aktif olduğu için 1000 coin kazandın!"
commands:
- "eco give {player} 1000"
items: []
6. Yeniden Yükleme (Reload) Desteği
* Reload sonrasında config.yml ve messages.yml anında yeniden yüklenir.
* Eklentiyi yeniden başlatmadan tüm ayarlar güncellenebilir.
* Reload sonrası ödül zamanlayıcısı ve Discord botu otomatik olarak yeniden başlatılır.
7. Yüksek Güvenlikli Kod Sistemi
* Kodlar rastgele 6 haneli olarak oluşturulur (değiştirebilirsiniz)
* Her oyuncunun yalnızca bir aktif kodu olabilir.
* Kodlar süresi dolduğunda otomatik silinir (varsayılan 300 saniye).
* Kod sistemi hem performanslı hem de çakışmasız çalışır.
8. Özelleştirilebilir Mesajlar
Hem oyun içi hem de Discord tarafındaki mesajlar düzenlenebilir. (hard-coded unutulan bazı kısımlar güncellemeyle düzenlenebilir hale gelecek)
Kod:
# ==========================================================
# vxLinker - Mesaj Dosyası
# Minecraft ↔ Discord hesap eşleştirme sistemi
# Renk kodları: &a &b &c &d &e &f &7 &8 &9 vb.
# ==========================================================
# Hesap Eşleştirme (Oyuncu Komutları)
link:
header: "&8&l&m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
title: "&e&l🔗 vxLinker Hesap Eşleştirme"
already-linked: "&cDiscord hesabın zaten eşleştirilmiş! Yeni kod alamazsın."
code-active: "&6Zaten aktif bir eşleşme kodun var!"
code-new: "&7Discord hesabını eşleştirmek için aşağıdaki kodu kullan:"
copied-hover: "&b📋 Kodu panoya kopyalamak için tıkla"
copied-click: "&aKopyalandı!"
usage: "&7Bu kodu Discord kanalında &f/hesapesle <kod> &7şeklinde yaz."
code-generated: "&aYeni eşleşme kodun oluşturuldu!"
success: "&a✅ Discord hesabın başarıyla eşleştirildi!"
not-player: "&cBu komut sadece oyuncular tarafından kullanılabilir!"
not-found: "&cGeçersiz veya süresi dolmuş kod!"
player-offline: "&e⚠ Oyuncu şu anda çevrimdışı, eşleşme sıraya alındı."
already-active: "&6Zaten aktif bir kodun var, tekrar oluşturamazsın."
not-linked: "&cHenüz bir Discord hesabı eşleştirmemişsin!"
expired: "&c⚠ Bu kodun süresi dolmuş, lütfen yeniden oluştur."
# Hesap Kaldırma
unlink:
success: "&a✅ Hesap bağlantın başarıyla kaldırıldı!"
not-linked: "&cHerhangi bir hesap bağlantın bulunamadı."
discord-removed: "&7Minecraft ↔ Discord bağlantın kaldırıldı."
error: "&cBir hata oluştu, işlem tamamlanamadı."
notify-admin: "&7{player} adlı oyuncunun Discord bağlantısı kaldırıldı."
# Discord Slash Komutları
discord:
code-missing-title: "❌ Kod belirtilmedi!"
code-missing-desc: "Lütfen `/hesapesle <kod>` şeklinde yazınız."
invalid-title: "❌ Geçersiz veya süresi dolmuş kod!"
invalid-desc: "Kodun süresi dolmuş veya hatalı olabilir."
already-linked-title: "❌ Bu Discord hesabı zaten bir Minecraft hesabına bağlı!"
already-linked-desc: "Yeni bir bağlantı kurmadan önce eski bağlantını kaldırmalısın."
player-already-linked-title: "❌ Bu Minecraft hesabı zaten bir Discord hesabıyla eşleştirilmiş!"
player-already-linked-desc: "Yeni bağlantı oluşturulamaz."
success-title: "✅ Eşleşme Başarılı!"
success-desc: "Minecraft hesabın başarıyla doğrulandı: **{player}**"
offline-title: "⚠️ Oyuncu Çevrimdışı!"
offline-desc: "Kod doğru fakat oyuncu şu anda çevrimdışı. Eşleşme sıraya alındı."
unlinked: "✅ Discord bağlantın başarıyla kaldırıldı!"
role-success: "✅ Discord rolü başarıyla verildi."
role-fail: "❌ Discord rolü atanamadı: {error}"
role-missing: "⚠ Discord rolü bulunamadı!"
guild-missing: "⚠ Discord sunucusu bulunamadı!"
bot-disabled: "🔕 Discord botu devre dışı, komut kullanılamıyor."
# Ödül Sistemi (RewardManager)
reward:
first-reward: "&a🎉 Tebrikler {player}! Discord hesabını eşleştirdiğin için ödül kazandın!"
first-reward-console: "&7{player} ilk eşleşme ödülünü kazandı."
interval-reward: "&a💎 Discord bağlantın aktif! Periyodik ödül kazandın."
interval-reward-console: "&7{player} periyodik ödülünü aldı."
disabled: "&e⚠ Ödül sistemi şu anda devre dışı."
already-received: "&7Bu ödülü zaten aldın!"
error: "&cÖdül verilirken bir hata oluştu!"
# Ödül Log Sistemi (RewardLogManager)
reward-log:
saved: "&7🎁 Ödül kaydı oluşturuldu: &a{type} &7→ &f{player}"
mysql-connected: "&a✅ Ödül log sistemi MySQL üzerinden çalışıyor."
sqlite-connected: "&a✅ Ödül log sistemi SQLite veritabanına bağlandı."
yaml-loaded: "&a✅ Ödül logları YAML dosyasından okunuyor."
disabled: "&e⚠ Ödül log sistemi devre dışı bırakılmış."
write-error: "&c❌ Ödül logu yazılamadı: {error}"
read-error: "&c❌ Ödül logu okunamadı: {error}"
# Genel Sistem Mesajları
system:
reload: "&a✅ Yapılandırma dosyaları yeniden yüklendi!"
reload-detailed: "&aConfig.yml, messages.yml ve ödül sistemi başarıyla yenilendi!"
migration-start: "&eVeri taşıma işlemi başlatılıyor..."
migration-finish: "&a{count} kayıt başarıyla taşındı!"
migration-unsupported: "&cBu depolama türü veri taşımayı desteklemiyor."
storage-change: "&eDepolama türü değişti: &7{old} &f→ &a{new}"
error: "&cBir hata oluştu: &7{error}"
no-permission: "&cBu komutu kullanma iznine sahip değilsin!"
plugin-enabled: "&a✅ vxLinker başarıyla etkinleştirildi!"
plugin-disabled: "&c🔴 vxLinker devre dışı bırakıldı!"
# Mesajlar Arası Ayırıcılar
decorations:
line: "&8&l&m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
small-line: "&8&m━━━━━━━━━━━━━━━━━━━━━"
prefix: "&6&l[&e&lvxLinker&6&l]&7 "
space: ""
endline: "&8&m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
Kod:
# ======================================================
# vxLinker - Minecraft ↔ Discord Hesap Eşleştirme Sistemi
# Geliştirici: Velvexa
# ======================================================
link:
# Oyuncuya verilecek eşleşme kodunun uzunluğu
code-length: 6
# Kodun saniye cinsinden geçerlilik süresi (varsayılan: 300 = 5 dakika)
expire-seconds: 300
# ======================================================
# DISCORD BOT AYARLARI
# ======================================================
discord:
enabled: true
# Bot tokeninizi buraya girin
bot-token: "BOT_TOKEN"
# Botun aktif olacağı Discord sunucusunun ID’si
guild-id: "123456"
# Minecraft hesabını başarıyla eşleştirenlere verilecek rolün ID’si
role-id-verified: "123456"
# Bot durum metni (örnek: “Minecraft - Discord Eşleme Aktif”)
status: "Minecraft - Discord Eşleme Aktif"
# ======================================================
# VERİ DEPOLAMA (YAML / SQLITE / MYSQL)
# ------------------------------------------------------
# type: Depolama türü
# - YAML → Basit dosya temelli sistem
# - SQLITE → Otomatik yerel veritabanı (vxlinker.db)
# - MYSQL → Uzaktan MySQL sunucusu bağlantısı
# ======================================================
storage:
type: "SQLITE"
# ------------------------------------------------------
# MYSQL AYARLARI
# ------------------------------------------------------
mysql:
host: ""
port: 3306
database: ""
username: ""
password: ""
# Son kullanılan depolama türü (otomatik yönetilir)
last-storage: "SQLITE"
# ======================================================
# ÖDÜL SİSTEMİ (RewardManager)
# ------------------------------------------------------
# - İlk eşleşme ödülü: Oyuncu hesabını ilk kez bağladığında verilir.
# - Periyodik ödül: Discord bağlantısı aktif oyunculara belirli aralıklarla verilir.
# - Komutlarda {player} değişkeni oyuncu ismiyle değiştirilir.
# - Süre biçimleri: 10m (dakika), 1h (saat), 1d (gün)
# ======================================================
rewards:
first-link:
enabled: true
message: "&aTebrikler! Discord hesabını başarıyla eşleştirdin ve ödül kazandın!"
commands:
- "lp user {player} parent addtemp vip 7d"
items:
- "DIAMOND:3"
- { material: "GOLD_INGOT", amount: 8, name: "&6Altın Hediye" }
interval:
enabled: true
every: "1h" # 10m / 1h / 1d
message: "&aDiscord bağlantın aktif olduğu için 1000 coin kazandın!"
commands:
- "eco give {player} 1000"
items: []
# ======================================================
# ÖDÜL LOG SİSTEMİ
# ------------------------------------------------------
# - Oyuncuların aldığı tüm ödüller ayrı bir log dosyasında veya veritabanında saklanır.
# - type:
# - YAML → reward-logs.yml
# - SQLITE → reward-logs.db
# - MYSQL → MySQL içindeki reward_logs tablosu
# ======================================================
reward-logs:
enabled: true
type: "SQLITE"
# MYSQL için özel tablo ismi
mysql-table: "reward_logs"
# ======================================================
# NOTLAR
# ------------------------------------------------------
# YAML: Veriler "linked-accounts.yml" ve "reward-logs.yml" dosyalarında tutulur.
# SQLITE: Veriler "vxlinker.db" içinde saklanır.
# MYSQL: Veriler uzaktaki MySQL sunucusuna yazılır.
# /vxlinkerreload komutu ile tüm ayarlar, mesajlar ve ödül sistemi anında yeniden yüklenir.
# ======================================================
Geliştirici: Velvexa
Sürüm: v1.0.0-BETA
Açık Kaynak:
Değerli ziyaretçimiz, içeriği görebilmek için
şimdi giriş yapın veya kayıt olun.
ViruTotal:
Değerli ziyaretçimiz, içeriği görebilmek için
şimdi giriş yapın veya kayıt olun.
Ekli dosyalar
Son düzenleme: