2L Development · Kurulum rehberi

2L-WebPanel'i sunucuna kuralım

Bu sayfayı baştan sona sırayla takip et. Kod bilmene gerek yok: sadece dosya kopyalayacak, birkaç satır yapıştıracak ve birkaç butona basacaksın. Bitirdiğin adımın yanındaki kutuyu işaretle, nerede kaldığını sayfa hatırlar.

Toplam süre: yaklaşık 20 dakika 8 adım QBox (qbx_core) sunucular için

Önce büyük resim: bu sistem nasıl çalışıyor?

2L-WebPanel, FiveM sunucunun içinde çalışan bir yönetim paneli. Sen onu tarayıcıdan (Chrome gibi) açıyorsun. Lisans kontrolü ve Discord botu bizim tarafımızda, 2L-Cloud'da çalışıyor. Yani kendi botunu kurman, token girmen gerekmiyor.

Başlamadan önce elinde olması gerekenler

Çalışan bir QBox sunucusuqbx_core, ox_inventory ve oxmysql kurulu ve sorunsuz açılıyor olmalı.
Lisans anahtarın2L-WP-XXXX-XXXX-XXXX-XXXX şeklinde. Satın aldıktan sonra 2L Development'tan alırsın.
Bir Discord sunucunVe o sunucuda yönetici (Administrator) yetkin.
Sunucu dosyalarına erişimDosyaları kopyalayıp düzenleyebileceğin bir yer: uzak masaüstü, FTP veya hosting panelin.
screencapture · isteğe bağlıOyuncunun ekranını canlı izlemek istersen bu ücretsiz resource sunucunda olmalı.
illenium-appearance · isteğe bağlıDiscord'dan /webpedmenu komutu için gerekir.
1

Dosyaları indir ve yerine koy

yaklaşık 3 dakika
  1. keymaster.fivem.net sitesine, satın alırken kullandığın hesapla gir.
  2. Granted Assets sekmesinde 2L-WebPanel'i bul ve Download'a bas. Bir zip dosyası inecek.
  3. Zip dosyasına sağ tıkla, Tümünü ayıkla de. İçinden 2L-WebPanel adında bir klasör çıkacak.
  4. Bu klasörü sunucunun resources klasörünün içine kopyala. Diğer 2L scriptlerin varsa onların yanına, [2L] klasörüne koyabilirsin.
sunucu klasörün
server/ ├── server.cfg └── resources/ ├── [qbx]/ ├── [ox]/ └── [2L]/ ├── 2L-WebPanel/ ← buraya │ ├── config/ │ ├── server/ │ ├── web/ │ └── fxmanifest.lua └── (diğer 2L scriptlerin)
Klasörün adı tam olarak 2L-WebPanel olmalı. Sonuna "-main" veya "(1)" gibi ekler gelmişse sil.
2

Lisans anahtarını sunucuya tanıt

yaklaşık 2 dakika
  1. Sunucu klasöründeki server.cfg dosyasını Not Defteri ile aç (sağ tık → Birlikte aç → Not Defteri).
  2. ensure oxmysql, ensure qbx_core ve ensure ox_inventory satırlarını bul. Aşağıdaki iki satırı bunların altına yapıştır.
  3. 2L-WP-XXXX-XXXX-XXXX-XXXX yazan yeri kendi lisans anahtarınla değiştir. Tırnak işaretleri kalsın.
  4. Kaydet (Ctrl + S).
# 2L lisansı (tüm 2L scriptleri bu tek satırı kullanır) set 2lpanel:license "2L-WP-XXXX-XXXX-XXXX-XXXX" ensure 2L-WebPanel
Başka 2L scriptlerin de varsa: onlar da aynı lisans satırını kullanır. Lisans satırını bir kez eklemen yeter. Scriptleri ensure [2L] ile başlatıyorsan, ayrıca ensure 2L-WebPanel yazmana gerek yok.
Lisans anahtarını kimseyle paylaşma. Ekran görüntüsü alırken de gizle. Anahtar senin sunucunun IP adresine kilitlidir; değişiklik sadece 2L Development tarafından yapılabilir.
3

Kendini panelin yöneticisi yap

yaklaşık 3 dakika

Panelde her şeyi yapabilen kişilere MasterAdmin denir. Panel seni Discord hesabından tanır, bu yüzden önce Discord ID'ni öğrenmen gerekiyor.

a) Discord ID'ni kopyala

  1. Discord'da sol alttaki dişli simgesine bas: Kullanıcı Ayarları.
  2. Gelişmiş bölümüne gir, Geliştirici Modu'nu aç.
  3. Ayarları kapat. Kendi profil resmine sağ tıkla, Kullanıcı ID'sini Kopyala'ya bas.
ID sadece rakamlardan oluşur, 17-20 hanedir. Örnek: 123456789012345678

b) ID'ni dosyaya yaz

  1. 2L-WebPanel/config/permissions.lua dosyasını Not Defteri ile aç.
  2. MasterAdmins yazan kısmı bul ve tırnakların arasına kendi ID'ni yapıştır.
  3. Ortağın da yönetici olacaksa bir alt satıra onunkini ekle. Kaydet.
Config.Permissions.MasterAdmins = { 'BURAYA-DISCORD-ID', -- Sen 'ORTAGININ-ID', -- (varsa) ortağın, yoksa bu satırı sil }
Her ID'nin başında ve sonunda tek tırnak ', sonunda virgül , olmalı. Bunlardan biri eksik olursa panel açılmaz.
4

Panelin kapısını aç (port)

yaklaşık 3 dakika

Panel, sunucunda 3001 numaralı kapıdan (port) yayın yapar. Dışarıdan girebilmen için bu kapının açık olması gerekiyor. Ayarların hazır geliyor, çoğu kişinin sadece kapıyı açması yeterli.

Sunucun Windows ise

Sunucuda başlat menüsüne PowerShell yaz, üzerine sağ tıkla, Yönetici olarak çalıştır de. Açılan pencereye bunu yapıştırıp Enter'a bas:

New-NetFirewallRule -DisplayName "2L-WebPanel" -Direction Inbound -Protocol TCP -LocalPort 3001 -Action Allow

Sunucun Linux ise

sudo ufw allow 3001/tcp
Hosting firmasından sunucu kiraladıysan (Zap, Nitrado vb.) firmanın kendi panelinde de bir "port / firewall" ayarı olabilir. Orada da 3001 TCP'yi aç. Bulamazsan firmaya "3001 TCP portunu açar mısınız?" diye yazman yeterli.
Kendi alan adımla (ör. panel.sunucum.com) ve https ile kullanmak istiyorum

Bu ileri seviye ve isteğe bağlı. IP adresiyle de panel sorunsuz çalışır. Alan adı kullanmak istersen config/config.lua içindeki Web bölümünü bu şekilde düzenle ve önüne bir yönlendirici (Caddy veya nginx) kurman gerekir:

PublicUrl = 'https://panel.sunucum.com', -- normalde 'auto' TrustProxy = true, -- yönlendirici kullanıyorsan true

Yönlendirici kullanmıyorsan PublicUrl = 'auto' ve TrustProxy = false kalmalı. Kurulumda yardım istersen destek kanalına yaz.

5

Sunucuyu başlat ve lisans onayı al

onay süresine göre değişir

Lisansın ilk kez kullanıldığında güvenlik için sunucunun IP adresi bizim tarafımızda onaylanır. Bu sadece bir kere yapılır.

  1. Sunucuyu başlat (txAdmin'den Start veya Restart).
  2. Konsolda sarı bir "Lisans IP onayı bekliyor" yazısı ve parantez içinde sunucunun IP adresini göreceksin. Bu normal.
  3. 2L Development Discord sunucusunda ticket aç. Lisans anahtarını ve konsolda yazan IP adresini gönder.
  4. "Onaylandı" mesajı gelince sunucuyu bir kez yeniden başlat. Artık konsolda yeşil "lisans geçerli" yazısını görmelisin.
Konsol · onaydan ÖNCE
[2L-WebPanel] Web paneli çalışıyor · port 3001 [2L-WebPanel] İnternetten: http://123.45.67.89:3001 [2L-WebPanel] 2L-Cloud: Lisans IP onayı bekliyor (123.45.67.89). 2L Development ile iletişime geçin. [2L-Hud] 2L lisansı doğrulanamadı: Lisans IP onayı bekliyor (123.45.67.89)
Kırmızı yazılar diğer 2L scriptlerinden gelir; onaydan sonra kaybolur.
Konsol · onaydan SONRA (restart)
[2L-WebPanel] Web paneli çalışıyor · port 3001 [2L-WebPanel] İnternetten: http://123.45.67.89:3001 [2L-WebPanel] 2L-Cloud: bağlı · lisans geçerli [2L-WebPanel] Giriş kodu almak için konsola yazın: webpanel giris
Beyaz yazan adres senin panel adresin. Bir sonraki adımda bunu kullanacağız.
Sunucunun IP adresi değişirse (başka makineye taşınma, yeni hosting) lisans yeniden onay ister. Taşınmadan önce destek kanalına haber ver.
6

Panele ilk kez gir

1 dakika
  1. Bilgisayarında tarayıcıyı (Chrome, Edge, Opera...) aç.
  2. Konsolda İnternetten: yazan adresi adres çubuğuna yaz. Örnek: http://123.45.67.89:3001
  3. Discord ile Giriş Yap'a bas.
  4. Discord "2L uygulaması hesabını görmek istiyor" diye sorar: Yetkilendir de.
  5. Panelin ana sayfası açılır. Sol menüde Yetki Yönetimi ve Ayarlar & Lisans görüyorsan MasterAdmin olarak girdin.
http://123.45.67.89:3001
Sarı çerçeveli butona bas.
Discord girişi çalışmazsa yedek yol: sunucu konsoluna webpanel giris yaz. Çıkan 8 haneli kodu giriş ekranındaki "konsol koduyla giriş" kısmına gir. Bu yolla panel sadece görüntüleme modunda açılır; bir şey değiştiremezsin.
7

2L botunu Discord sunucuna ekle

yaklaşık 3 dakika

Ekip sistemi, rol okuma ve Discord'daki /web komutları için 2L botunun Discord sunucunda olması gerekiyor.

  1. Panelde sol menüden Ayarlar & Lisans'a gir.
  2. Botu Sunucuya Ekle butonuna bas.
  3. Discord açılır. Listeden kendi Discord sunucunu seç ve Devam → Yetkilendir de. İzinlerin işaretini kaldırma.
  4. Panele geri dönersin. Discord sunucun artık lisansına bağlı.
  5. Çok önemli: Discord'da Sunucu Ayarları → Roller'e gir. 2L rolünü tut ve sürükleyerek, botun vereceği rollerin (ekip rolleri) üstüne taşı. Kaydet.
Discord · Sunucu Ayarları · Roller
Kurucu
Yönetim
2LBOT
LSPD Ekibi↑ 2L bunun üstünde
Ballas Ekibi
Oyuncu
Discord, botun kendi rolünden yukarıdaki rolleri yönetmesine izin vermez. 2L rolü ekip rollerinin üstünde olmalı.
Ekip kanallarının açılacağı kategoriler gizliyse (herkes göremiyorsa), o kategoriye sağ tıkla → Kategoriyi Düzenle → İzinler. 2L rolünü ekle ve Kanalı Görüntüle ile Kanalları Yönet'i yeşil yap. Yoksa ekip açarken "yetersiz yetki" hatası alırsın.
8

Yetkilileri ekle (rollere yetki ver)

5 dakika

Ekibindeki diğer yetkililer panele kendi Discord hesaplarıyla girer. Kimin neyi yapabileceğini Discord rollerine göre sen belirlersin. Kimseye şifre vermene gerek yok.

  1. Panelde sol menüden Yetki Yönetimi'ne gir. Discord sunucundaki roller listelenir.
  2. Bir role tıkla (ör. "Moderatör").
  3. Sağ tarafta o rolün yapabileceklerini işaretle. Örneğin: karakterleri görme, oyundan atma, canlandırma.
  4. Kaydet'e bas. O role sahip herkes artık panele girebilir.
  5. Discord'dan da komut kullanmalarını istiyorsan Discord Komutları grubundaki kutuları işaretle (ör. /webrevive).
Yetki Yönetimi · Moderatör
Karakterler
Karakter listesi ve detaylarıplayers.view
Oyundan atmaplayers.kick
Canlandırma / iyileştirmeplayers.revive
Para ekleme / çıkarmaplayers.edit_money
Discord Komutları
/webrevive · canlandırmadiscord.webrevive
/webban · ban atmadiscord.webban
Az yetkiyle başla, gerektikçe ekle. Para, ban ve veritabanı yetkilerini sadece güvendiğin rollere ver.
Birinin Discord rolünü alırsan panelden de birkaç dakika içinde otomatik çıkar. Discord'dan komut denemek için herhangi bir kanala /webrevive yazıp oyuncunun sunucu ID'sini seçmen yeterli.

Tebrikler, kurulum bitti

Panelin çalışıyor. Bundan sonrası tamamen isteğe bağlı küçük ayarlar. Hepsi 2L-WebPanel/config/ klasöründeki dosyalarda, her satırın yanında Türkçe açıklaması var. Değişiklikten sonra konsola restart 2L-WebPanel yazman yeterli.

  • Panel adı ve logosu: config.lua → Branding
  • İşlem kayıtlarının Discord kanallarına gitmesi: config.lua → AuditLog → Webhooks
  • Discord komutlarının log kanalı ve /webbring konumları: commands.lua
  • Ekip sistemi (kategoriler, yetkili rolleri): discord.lua → Teams

Sorun mu var?

Ekranda gördüğün yazıyı aşağıda bul ve tıkla. Çözemezsen ekran görüntüsüyle (lisans anahtarını gizleyerek) destek kanalına yaz.

Konsolda Lisans IP onayı bekliyor yazıyor

Normal; ilk kurulumda böyle yazar. 5. adımdaki gibi ticket açıp lisans anahtarını ve IP'yi gönder. Onaydan sonra sunucuyu bir kez yeniden başlat.

Bu IP (...) lisans için onaylı değil

Sunucunun IP adresi değişmiş veya lisans başka bir makinede kullanılıyor. Yeni IP'yi destek kanalına bildir; IP değişikliğini sadece 2L Development yapabilir.

Lisans geçersiz veya askıda

server.cfg'deki anahtarı kontrol et: boşluk, eksik harf veya tırnak hatası olabilir. Doğruysa destek kanalına yaz.

Tarayıcıda panel adresi açılmıyor (sayfa yüklenmiyor)

Neredeyse her zaman port kapalıdır. 4. adımı tekrar yap ve hosting firmanın panelindeki firewall ayarını kontrol et. Adresin sonunda :3001 olduğundan ve başında http:// yazdığından emin ol (https değil).

Port 3001 kullanımda

Sunucunda başka bir program aynı kapıyı kullanıyor. config.lua → Web → Port değerini 3002 gibi başka bir sayıya çevir. 4. adımdaki komutta da 3001'i aynı sayıyla değiştir.

Discord rollerinize panel yetkisi verilmemiş

Giren kişinin hiçbir rolüne yetki verilmemiş. Bir MasterAdmin Yetki Yönetimi'nden o kişinin rolüne en az bir yetki vermeli. Kendin için bu yazıyı görüyorsan 3. adımdaki Discord ID'yi kontrol et.

Discord sunucusunda olmadığınız için panele giremezsiniz

Panele girmek için botun bağlı olduğu Discord sunucusunda üye olmak gerekir. Kişiyi önce Discord sunucuna davet et.

2L scriptleri açılmıyor: 2L lisansı doğrulanamadı

Scriptler lisansı sadece sunucu açılırken kontrol eder. Lisans satırının server.cfg'de olduğundan ve IP onayının geldiğinden emin ol, sonra sunucuyu yeniden başlat.

Ekip açarken yetersiz yetki / Missing Permissions

7. adımın son iki maddesini kontrol et: 2L rolü ekip rollerinin üstünde mi, ve ekip kategorisinde 2L rolüne "Kanalı Görüntüle" ve "Kanalları Yönet" verildi mi?

Discord'da /web komutları görünmüyor

Discord'u Ctrl + R ile yenile. Hâlâ yoksa botu 7. adımdaki gibi yeniden ekle.

Komut yazınca Sunucunun paneline ulaşılamadı

FiveM sunucun kapalı veya 2L-WebPanel çalışmıyor. Sunucu konsolunda ensure 2L-WebPanel yazıp tekrar dene.

Komut yazınca Bu komut için yetkiniz yok

Rolüne Yetki Yönetimi → Discord Komutları'ndan o komutun yetkisi verilmemiş.