FoxStaffTracker· v1.6
Kurulum
FoxStaffTracker kurulumu birkaç dakika sürer. Paper 1.16.5+ önerilir ancak Purpur, Leaf, UniverseSpigot gibi yazılımlar da desteklenir.
Gereksinimler#
- Java 21 veya üzeri
- Paper / Purpur / Leaf / UniverseSpigot 1.16.5 – 26.2
- (İsteğe bağlı) LiteBans, moderasyon geçmişini gösterebilmek için
- (İsteğe bağlı) LuckPerms, aktivite hedeflerini gösterebilmek için
- (İsteğe bağlı) LuckPerms, aktivite hedeflerini gösterebilmek için
- (İsteğe bağlı) PlaceholderAPI, menüler, hologramlar, scoreboard, tab gibi farklı yerlerde verileri gösterebilmek için
- (İsteğe bağlı) Essentials, yetkililerin AFK olduğunda işaretlenmesi için (eğer Essentials kullanmıyorsanız veya Essentials'ın AFK sistemini kullanmıyorsanız yine de AFK sistemi çalışır, Essentials kullanmayan sunucular eklenti içerisinde bulunan AFK sistemi ile yine AFK yetkililerin süresinin sayılmamasını sağlayabilir.
Eklenti Kurulum Adımları#
- Eğer web desteğini kullanacaksanız bir MySQL veritabanı oluşturun. Eğer kullanmayacaksanız bu adımı atlayın.
FoxStaffTracker.jardosyasınıplugins/klasörüne atın.- Sunucuyu başlatın.
- Sunucu açılıp eklentinin konfigürasyonu oluşturulduktan sonra sunucuyu kapatın.
- Oluşan
plugins/FoxStaffTracker/config.ymldosyasında lisans ayarlarınızı yapın. - Web desteğini kullanacaksanız
storage.type: YAMLkısmınıstorage.type: MYSQLolarak ayarlayın, kullanmayacaksanız YAML olarak kalabilir. storage.type: MYSQLolarak ayarladıysanızmysql:kısmından veritabanı bilgilerinizi girin.- Diğer sistemlerin ayarlarını kendinize göre ayarlayın.
- Sunucuyu başlatın.
Dikkat
Web tarafını kullanacaksanız storage.type: MYSQL olarak ayarlamayı unutmayın. Müşterilerimiz genelde sadece veritabanı ayarlarını yapıp bu ayarı atladığı için sorun yaşıyorlar.
Website Kurulum Adımları#
- Size verilen
sitedosyasındaki.env.exampledosyasının ismini.envolarak güncelleyin. .envdosyasını açın veDATABASE_URL=kısmına eklentinin konfigürasyonunda girdiğiniz veritabanı bilgileri ile aynı bilgileri girin.- Sitenizin hangi portta çalışmasını istiyorsanız
PORT=kısmına o sayıyı girin. - Siteye herkesin erişememesi ve verilerinizi görememesi için siteye girişinizde erişim anahtarı sorulur.
PANEL_KEY=kısmına bu erişim anahtarını girin. - NodeJS adresinden işletim sisteminize uygun NodeJS'i indirip kurun.
- Klasörde CMD açıp
npm installkomutunu girip tüm gerekli paketlerin indirilmesini bekleyin. npm installile gerekli paketlerin indirilmesinin ardındannpm startkomutunu girerek sitenizi başlatın.- Bunların ardından siteniz cihazınızın ip adresinde ve belirlediğiniz portta çalışmaya başlayacak. http://<cihaz ip adresi>:<port> adresine giderek sitenize erişebilirsiniz.
config.yml
# Lisans Anahtarı
anahtar:
# Takip edilecek yetkili listesi (İsim veya UUID)
staffs:
- "Apcu0"
# Bu sunucunun (oyun modunun) adı.
# ÇOKLU SUNUCUDA HER BACKEND'DE FARKLI OLMALI! Örn: skyblock, towny, survival
# Oyun moduna özel oynama süresi filtrelemesi için kullanılır (site bu ada göre kırar).
server-name: "unknown"
# Oynama süresi ÖLÇÜM aralığı (dakika) — bellekte kaç dakikada bir sayılacağı.
# Bu, hassasiyettir; veritabanına YAZMA sıklığı ayrıdır (storage.flush_minutes).
playtime:
tick_minutes: 1
# AFK (hareketsiz) yetkililerin aktiflik süresi ARTMASIN.
afk:
enabled: true
# Kaç dakika boyunca hareket/etkileşim/mesaj/komut olmazsa yetkili AFK sayılır.
threshold_minutes: 5
# EssentialsX kuruluysa oyuncunun /afk durumunu da dikkate al (opsiyonel).
use_essentials: true
# LiteBans entegrasyonu
litebans:
enabled: false
# Discord webhook bildirimleri
discord:
enabled: false
webhook_url: ""
events:
report: true # yeni yetkili şikayeti
moderation: true # ban/kick/mute vb. (LiteBans)
staff_join: false # yetkili giriş yaptı
staff_quit: false # yetkili çıkış yaptı
# Yetkili Aktivite Hedefleri (Saat Cinsinden)
requirements:
daily:
kurucu: 5
admin: 2
weekly:
kurucu: 10
admin: 5
monthly:
admin: 20
# Veri saklama yöntemi: YAML veya MYSQL
# YAML şuanda doğru çalışmayabilir.
storage:
type: YAML
# Sayaçların veritabanına ne sıklıkta yazılacağı (dakika). tick_minutes'tan
# büyük olabilir: süre bellekte hassas sayılır, DB'ye daha seyrek yazılır
# (yazma yükünü azaltır). Değişiklikler çıkışta ve kapanışta kesin yazılır.
flush_minutes: 5
# MySQL Ayarları
mysql:
host: "localhost"
port: 3306
database: "minecraft"
username: "root"
password: ""
pool:
maximum_pool_size: 10
minimum_idle: 2
connection_timeout: 30000
idle_timeout: 600000
max_lifetime: 1800000
# Raporlama Sistemi Ayarları
report_system:
gui:
staff_selection:
title: "&8Yetkili Seçin"
size: 54
fillers:
border:
material: BLUE_STAINED_GLASS_PANE
name: "&7"
slots: [0, 1, 2, 3, 4, 5, 6, 7, 8, 45, 46, 47, 48, 49, 50, 51, 52, 53]
inner_corners:
material: LIGHT_BLUE_STAINED_GLASS_PANE
name: "&7"
slots: [9, 17, 36, 44]
item:
name: "&b%staff%"
lore:
- "&7Rol: &f%role%"
- ""
- "&3Bu yetkiliyi bildirmek için tıkla."
reason_selection:
title: "&8Şikayet Türü"
size: 27
fillers:
border:
material: BLUE_STAINED_GLASS_PANE
name: "&7"
slots: [0, 1, 2, 3, 4, 5, 6, 7, 8, 18, 19, 20, 21, 22, 23, 24, 25, 26]
item:
lore:
- "&7Seçmek için tıkla."
confirmation:
title: "&8Raporu Onayla"
size: 27
fillers:
border:
material: BLUE_STAINED_GLASS_PANE
name: "&7"
slots: [0, 1, 2, 3, 4, 5, 6, 7, 8, 18, 19, 20, 21, 22, 23, 24, 25, 26]
items:
confirm:
name: "&aOnayla ve Gönder"
material: "LIME_WOOL"
slot: 11
lore:
- "&7Raporu yetkililere iletmek"
- "&7için tıklayın."
cancel:
name: "&cİptal Et"
material: "RED_WOOL"
slot: 15
lore:
- "&7İşlemi iptal etmek için"
- "&7tıklayın."
rewrite:
name: "&eAçıklamayı Yeniden Yaz"
material: "WRITABLE_BOOK"
slot: 13
lore:
- "&7Mevcut açıklama:"
- "&f%description%"
- ""
- "&7Açıklamayı beğenmediyseniz"
- "&7tekrar yazmak için tıklayın."
messages:
enter_description:
- "&b✏️ &7Lütfen şikayetin açıklamasını sohbete yazın."
- "&c30 saniye içinde yazmazsanız işlem iptal olur."
timeout: "&cSüre dolduğu için işlem iptal edildi."
success: "�AAFFRaporunuz başarıyla gönderildi."
cancelled: "&cİşlem iptal edildi."
rewrite_prompt: "&b✏️ &7Lütfen yeni açıklamayı sohbete yazın."
reasons:
insult:
name: "&cHakaret / Kötü Davranış"
material: "RED_WOOL"
slot: 10
lore:
- "&7Küfür, hakaret veya aşağılayıcı"
- "&7davranışlar için seçin."
abuse:
name: "&cGörevi Kötüye Kullanma"
material: "IRON_SWORD"
slot: 11
lore:
- "&7Yetkilerini kendi çıkarı için"
- "&7kullananlar için seçin."
random_punish:
name: "&cKeyfi Ban/Kick"
material: "BARRIER"
slot: 12
lore:
- "&7Sebepsiz yere ceza"
- "&7verildiğini düşünüyorsanız seçin."
afk:
name: "&cAFK / İlgilenmeme"
material: "CLOCK"
slot: 13
lore:
- "&7Sorularınıza cevap vermiyor"
- "&7veya ilgilenmiyorsa seçin."
other:
name: "&cDiğer"
material: "PAPER"
slot: 14
lore:
- "&7Yukarıdakilerden hiçbiri değilse"
- "&7bunu seçin."