📑 İçindekiler
- Genel Bakış
- Kurulum ve Gereksinimler
- Komut Referansı
- Web Senkronizasyon (WebSync) Sistemi
- Auth (Giriş/Kayıt) Sistemi
- Discord Bağlama (Entegrasyon) Sistemi
- Ekonomi ve Yönetim Mekanikleri
- Arayüzler (Scoreboard ve Tablist)
- Veritabanı (MySQL) Sistemi
- API ve Etkinlikler (Events)
- Yapılandırma Dosyaları
- İzin Düğümleri (Permissions)
- Sık Sorulan Sorular (SSS)
🌍 Genel Bakış
AserPermissions (AserCore), AserLand sunucusunun temel oyuncu verilerini yöneten kapsamlı bir yetkilendirme ve senkronizasyon eklentisidir. Oyuncular kayıt olabilir, giriş yapabilir, hesaplarını Discord ile eşleştirebilir ve oyun içi tüm istatistiklerini web sitesiyle anlık olarak senkronize edebilirler.
Temel Özellikler
| Özellik | Açıklama |
| Auth Sistemi | /register ve /login ile güvenli oyuncu kimlik doğrulaması |
| WebSync Mekanizması | Kills, Deaths, Playtime, Balance, Towny ve AserPass verilerini anlık senkronizasyon |
| Discord Entegrasyonu | Oyun içi hesabı Discord sunucusuyla /bagla komutuyla eşleştirme |
| Scoreboard (Çift Sayfa) | Kişisel Bilgiler ve Kasaba Bilgileri arasında otomatik geçiş yapan tablo |
| Canlı Tablist | Animasyonlu, PlaceholderAPI destekli oyuncu listesi yönetimi |
| Ekonomi Altyapısı | Vault destekli bakiye görüntüleme ve transfer (money, pay) işlemleri |
| Temel Yönetim | Spawn, warp ayarlama, gamemode, heal ve fly kontrol sistemleri |
| Otomatik Yeniden Başlatma | /restarttimer ile güvenli geri sayımlı sunucu kapama |
| SQLite / MySQL | HikariCP destekli asenkron yüksek performanslı veritabanı |
| Tamamen Özelleştirilebilir | config.yml üzerinden tüm bağlantılar ve arayüzler yönetilebilir |
📦 Kurulum ve Gereksinimler
Zorunlu Bağımlılıklar
| Plugin | Amaç |
| Vault | Ekonomi entegrasyonu (para çekme/yatırma ve bakiye) |
| PlaceholderAPI | Scoreboard ve Tablist üzerindeki değişkenlerin yönetimi |
| AserPass | Oyuncunun seviye, xp ve pass durumunun entegre edilmesi |
Opsiyonel Bağımlılıklar
| Plugin | Amaç |
| Towny | Kasaba/ulus bilgileri senkronizasyonu ve scoreboard yansıması |
Kurulum Adımları
AserPermissions.jar dosyasını plugins/ klasörüne kopyalayın.
- Sunucuyu başlatın. Eklenti otomatik olarak
config.yml dosyasını oluşturacaktır.
config.yml dosyasını sunucunuzun MySQL bilgilerine göre düzenleyin.
- Sunucuyu yeniden başlatın ve veritabanı bağlantısının sağlandığından emin olun.
📜 Komut Referansı
Oyuncu Komutları
| Komut | Açıklama |
/register <şifre> <şifre> | Sunucuya kayıt olur |
/login <şifre> | Kayıtlı hesaba giriş yapar |
/bagla | Discord hesabı ile oyunu bağlamak için kod üretir |
/money veya /bal | Mevcut bakiyenizi gösterir |
/pay <oyuncu> <miktar> | Belirtilen oyuncuya belirtilen miktarda para gönderir |
/spawn | Başlangıç noktasına döner |
/warp <isim> | Belirlenmiş warpa ışınlar |
Yönetici (Admin Komutları)
| Komut | Açıklama | Yetki |
/eco <give|take|set> <oyuncu> <miktar> | Oyuncunun parasını yönetir | aserperms.admin |
/gamemode <mod> (gmc, gms vb.) | Oyun modunu değiştirir | aserperms.admin |
/setspawn | Spawn noktasını belirler | aserperms.admin |
/setwarp <isim> / /delwarp <isim> | Warp oluşturur / siler | aserperms.admin |
/restarttimer | Geri sayımlı restart başlatır | aserperms.admin |
💡 İpucu
Kayıt veya giriş yapmayan oyuncuların hareket etmesi, sohbeti kullanması ve komut girmesi otomatik olarak engellenmektedir.
🌐 Web Senkronizasyon (WebSync) Sistemi
Oyuncuların sunucu içi istatistikleri, çıkış yaptıklarında asenkron olarak MySQL veritabanına aktarılır.
Senkronize Edilen Veriler (WebSyncManager)
| Veri Türü | Açıklama | Kaynak API |
| ⚔️ Kills / Deaths | Oyuncunun öldürme ve ölme sayıları | Bukkit Statistic API |
| ⏱️ Playtime (Saat) | Oyuncunun toplam oynama süresi | Bukkit Statistic API |
| 💰 Balance (Bakiye) | Mevcut parası | Vault Economy API |
| 🏰 Towny Bilgileri | Kasaba ve Ulus isimleri | Towny API |
| ⭐ AserPass Bilgileri | Seviye, XP, Pass Türü ve Açılmış Etiketler | AserPass Hook |
🔒 Auth (Giriş/Kayıt) Sistemi
Kullanıcıların hesap güvenliği için uygulanan giriş akış sistemi:
Giriş İşlem Akışı
🚪 Sunucuya Katılım
Oyuncu sunucuya girer
→
🔒 Hareket Kilitlenir
Chat, Envanter, Hasar Alma engellenir
→
Kayıtlı mı? (Veritabanı Kontrolü)
Hayır
→
📝 Kayıt Olması Beklenir
/register <şifre> <şifre>
→
✅ Şifre Hashlenir ve Sisteme Eklenir
Evet
→
🔑 Giriş Yapması Beklenir
/login <şifre>
→
✅ Hash Karşılaştırılır, Kilit Açılır
⚠️ Önemli
Oyuncu şifreleri veritabanında kesinlikle düz metin (plain-text) olarak saklanmaz, güvenlik standartlarına uygun şekilde hashlenir.
🔗 Discord Bağlama (Entegrasyon) Sistemi
AserLand web sitesi ve Discord sunucusu arasındaki eşleşmeyi sağlamak için oluşturulan köprü sistemi.
Bağlantı Akışı
Oyuncu oyun içinde
/bagla yazar
→
Sistem eşsiz bir 6 haneli
güvenlik kodu üretir
→
Oyuncu kodu Discord
bot kanalına girer
→
Hesaplar Başarıyla
Eşleşir ve Senkronize Olur
💰 Ekonomi ve Yönetim Mekanikleri
AserPermissions, Vault destekli bir iç ekonomi motoruna sahiptir.
- Bakiye Kontrolü: Güvenilir veritabanı yapısıyla oyuncuların kazandıkları para eşzamanlı olarak saklanır.
- Oyuncular Arası Transfer:
/pay komutu ile sıfır komisyonlu gecikmesiz transferler yapılır.
- Admin Kontrolü: Yönetici izinlerine (
aserperms.admin) sahip kullanıcılar, /eco komutu aracılığıyla ekonomiyi şekillendirebilir.
1. İki Sayfalı Scoreboard Sistemi
Scoreboard, her 10 saniyede bir otomatik olarak iki farklı sayfa arasında geçiş yapar (FastBoard API kullanılır):
| Sayfa Adı | İçerilen Veriler |
| Sayfa 1 (Kişisel & AserPass) | Oyuncu Adı, Bakiye, AserPass Üyeliği, Seviyesi, XP |
| Sayfa 2 (Kasaba & Ulus) | Towny Kasaba Adı, Kasaba Hazinesi, Ulus Adı, Ulus Hazinesi |
2. Canlı Tablist Görünümü
config.yml üzerinden tamamen değiştirilebilen ve her 100 tickte güncellenen oyuncu listesi:
| Bölüm | Değişkenler |
| Header (Üst Kısım) | Sunucu Başlığı, Slogan, Web Sitesi |
| Footer (Alt Kısım) | Ping, Aktif Oyuncu, Bakiye, Sunucu İsmi |
🗄️ Veritabanı (MySQL) Sistemi
Eklenti veritabanı işlemleri için HikariCP bağlantı havuzu kullanır. Bu sayede sunucu ana iş parçacığı (main thread) kilitlenmeden arka planda asenkron kayıt işlemleri yapılır.
Kaydedilen Tablolar
players_auth — Oyuncuların giriş, kayıt ve şifre (hash) verileri.
players_stats — Kills, deaths, playtime, balance, towny bilgileri.
players_pass — AserPass seviyesi, XP ve açılmış etiketler.
🔌 API ve Etkinlikler (Events)
Sistem, senkronizasyonların her PlayerQuitEvent (çıkış) anında çalışmasını garanti altına alır.
Ayrıca oyuncu ilk girdiğinde PlayerJoinEvent esnasında scoreboard ve tablist aktif edilir.
⚙️ Yapılandırma Dosyaları
config.yml
Ana yapılandırma dosyası üç ana bölümden oluşur:
1. Veritabanı Ayarları
mysql:
host: "veritabani_ip_adresi"
port: 3306
database: "veritabani_adi"
username: "kullanici_adi"
password: "sifreniz"
2. Scoreboard Ayarları
scoreboard:
enabled: true
title: '&6&lAserTowny'
update_ticks: 20
switch_interval: 10
pages: [...]
3. Tablist Ayarları
tablist:
update-interval: 100
player-format: '{prefix}{player}'
header: [...]
footer: [...]
🔐 İzin Düğümleri (Permissions)
| İzin | Açıklama | Varsayılan |
aserperms.admin | Setspawn, setwarp, delwarp, eco, restarttimer gibi yetkili komutlarına erişim | OP |
📝 Not
Standart oyuncu komutları (login, register, bagla, money, pay, spawn, warp vb.) herhangi bir özel izin gerektirmez.
❓ Sık Sorulan Sorular (SSS)
Giriş ve Bağlantı İle İlgili
S: Kayıt olmadan oynayabilir miyim?
C: Hayır, sunucuya giren her oyuncu hareket edebilmek ve sohbet edebilmek için /register veya /login komutunu kullanmalıdır.
S: Şifreler veritabanında güvende mi?
C: Evet, hiçbir şifre düz metin (plain text) olarak kaydedilmez. Özel hash algoritmaları ile şifrelenir.
S: Web sayfasında istatistiklerim neden anında güncellenmiyor?
C: Veritabanı yoğunluğunu engellemek için, oyuncu verileri (WebSync) oyuncu sunucudan çıkış yaptığında (Quit) veritabanına işlenir.
AserPermissions (AserCore) — AserLand Altyapısının Ana Kalbi.
© 2026 AserLand — www.aserland.com