Rehbere geç

Dokümantasyon 9.6.24

Adım adım kurulum

Boş bir sunucudan çalışan, panele bağlı bir korumaya kadar yaklaşık 20 dakikalık rehber. Her adımın sonunda neyi kontrol edeceğinizi yazdık; bir adım tutmazsa bir sonrakine geçmeyin.

Başlamadan önce#

Kuruluma başlamadan önce aşağıdakilerin hazır olduğundan emin olun.

  • Güncel bir FiveM sunucu yapısı (artifact) ve açık OneSync (set onesync on). OneSync kapalıyken sunucu tarafı kontrollerin çoğu çalışamaz; anticheat açılışta bunu uyarı olarak yazar.
  • Kurulu ve çalışan oxmysql. Anticheat veritabanına yalnız oxmysql üzerinden bağlanır, ayrı bir MySQL şifresi istemez.
  • Panelde bir hesap ve indirme izni olan bir plan.
  • Veritabanının ve resources klasörünün yedeği. Güncelleme yapıyorsanız configs, admins, editable, locales ve bridge klasörlerinizi ayrıca saklayın.
  • Sunucuya dosya yükleyebileceğiniz bir erişim (FTP, txAdmin dosya yöneticisi ya da uzak masaüstü) ve SQL çalıştırabileceğiniz bir araç (HeidiSQL ya da phpMyAdmin).

1. Panelde sunucunuzu ekleyin#

Lisans anahtarı sunucuya özeldir, bu yüzden kurulum panelde sunucuyu tanımlamakla başlar.

  1. Müşteri panelinde Sunucular sayfasını açın ve Sunucu ekle'ye basın.
  2. Sunucu adını, framework'ü (QBCore, Qbox ya da ESX) ve envanter scriptini seçin.
  3. Veritabanı bağlantısı alanında Script üzerinden bağla seçili kalsın. Bu modda MySQL şifresi istenmez ve veritabanı portunu internete açmanız gerekmez.
  4. Kaydettikten sonra sunucuyu açın ve Lisans anahtarı kartındaki değeri Kopyala ile alın. Birden çok sunucunuz varsa her biri için kendi anahtarını kullanın.
  5. Kontrol: sunucu listede görünüyor ve lisans anahtarını kopyaladınız.

2. Sunucuya özel paketi indirin#

Paket, seçtiğiniz sunucu için indirme anında oluşturulur; birkaç saniye sürebilir.

Paketin içinde şunlar vardır: tosun-ac (ana kaynak, zorunlu), tosun-ac-guardian (anticheat'i durdurulmaya karşı koruyan küçük kaynak, önerilir) ve varsa tosun_render (kanıt videosu bileşeni). tosun-ac klasöründe ayrıca INSTALL.sql (tüm tabloları kuran tek SQL dosyası), KURULUM.txt (kısa kurulum notu) ve INTEGRATION.md (diğer scriptlerle uyum rehberi) bulunur.

Yeni bir paket indirmek çalışan sunucuyu güncellemez. Dosyaları siz yerleştirip kaynağı yeniden başlatana kadar hiçbir şey değişmez.

  1. Panelde İndir sayfasına gidin.
  2. Sunucunuzu seçip İndir'e basın.
  3. ZIP dosyasını bilgisayarınızda bir klasöre çıkarın.

3. Dosyaları yerleştirin#

Sunucunun resources klasöründe [tosun] adında bir klasör açın. Köşeli parantezli klasörler FiveM'de yalnız gruplama içindir. Paketteki tosun-ac, tosun-ac-guardian ve varsa tosun_render klasörlerini bu klasöre kopyalayın.

Klasör adlarını değiştirmeyin. Diğer scriptler anticheat'e exports['tosun-ac'] adıyla ulaşır ve Guardian tosun-ac adını izler; ad değişirse entegrasyonlar ve koruma çalışmaz.

Klasörlerin içinden dosya silmeyin. Paket bütünlük denetimi eksik ya da değiştirilmiş dosyayı fark eder.

resources/
  [tosun]/
    tosun-ac/
    tosun-ac-guardian/
    tosun_render/

4. Veritabanı tablolarını kurun#

Anticheat banları, tespitleri, logları ve ayarları oyun veritabanınızda tutar. Tablolar oxmysql'in bağlandığı veritabanına, yani framework tablolarınızın olduğu veritabanına kurulmalıdır.

INSTALL.sql mevcut verilerinizi silmez; tablolar CREATE TABLE IF NOT EXISTS ile kurulur ve zaten var olan tablolara dokunulmaz.

oxmysql'in kullandığı veritabanı kullanıcısının bu veritabanında CREATE ve ALTER yetkisi olmalıdır. Paylaşımlı hostinglerde bu yetki kapalıysa SQL'i hosting panelinden siz çalıştırın.

  1. Veritabanının yedeğini alın.
  2. HeidiSQL'de oyun veritabanını seçin, Dosya → SQL dosyası yükle ile tosun-ac/INSTALL.sql dosyasını açın ve çalıştırın (F9). phpMyAdmin'de aynı işlem İçe aktar sekmesinden yapılır.
  3. Komut satırını tercih ediyorsanız aşağıdaki komutu kullanın.
  4. Veritabanında ts_anticheat, ac_detections ve admin_logs tablolarının oluştuğunu kontrol edin.
mysql -u KULLANICI -p VERITABANI_ADI < INSTALL.sql

5. Eski kurulumlarda eksik kolonları tamamlayın#

Eski bir sürümden geçiyorsanız tablolarınız vardır ama yeni kolonları eksik olabilir. Konsolda Unknown column 'log_message' in 'field list' gibi bir hata görürseniz, yedek aldıktan sonra aşağıdaki komutları çalıştırın. Komutlar yalnız eksik kolonları ekler, mevcut veriye dokunmaz.

Bu sözdizimi MariaDB içindir. MySQL 8'de IF NOT EXISTS yoktur: önce SHOW COLUMNS FROM admin_logs; ile eksik kolonlara bakın ve yalnız onları ADD COLUMN ile ekleyin.

Hata devam ederse admin_logs tablosu başka bir scripte ait olabilir. SHOW CREATE TABLE admin_logs; çıktısını destek ekibine gönderin.

ALTER TABLE admin_logs
  ADD COLUMN IF NOT EXISTS log_message LONGTEXT NULL,
  ADD COLUMN IF NOT EXISTS log_playerid LONGTEXT NULL,
  ADD COLUMN IF NOT EXISTS log_playername LONGTEXT NULL,
  ADD COLUMN IF NOT EXISTS log_type VARCHAR(20) NOT NULL DEFAULT 'LOG',
  ADD COLUMN IF NOT EXISTS log_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  ADD COLUMN IF NOT EXISTS created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

ALTER TABLE ac_detections
  ADD COLUMN IF NOT EXISTS player_id INT NULL,
  ADD COLUMN IF NOT EXISTS player_name VARCHAR(100) NOT NULL DEFAULT '',
  ADD COLUMN IF NOT EXISTS license VARCHAR(100) NULL,
  ADD COLUMN IF NOT EXISTS steam VARCHAR(50) NULL,
  ADD COLUMN IF NOT EXISTS discord VARCHAR(50) NULL,
  ADD COLUMN IF NOT EXISTS ip VARCHAR(40) NULL,
  ADD COLUMN IF NOT EXISTS detection_type VARCHAR(60) NOT NULL DEFAULT '',
  ADD COLUMN IF NOT EXISTS detail TEXT NULL,
  ADD COLUMN IF NOT EXISTS reason VARCHAR(512) NOT NULL DEFAULT '',
  ADD COLUMN IF NOT EXISTS punishment VARCHAR(10) NOT NULL DEFAULT 'LOG',
  ADD COLUMN IF NOT EXISTS ban_id VARCHAR(20) NULL,
  ADD COLUMN IF NOT EXISTS screenshot VARCHAR(512) NULL,
  ADD COLUMN IF NOT EXISTS config VARCHAR(100) NULL,
  ADD COLUMN IF NOT EXISTS config_key VARCHAR(100) NULL,
  ADD COLUMN IF NOT EXISTS server_id INT NULL,
  ADD COLUMN IF NOT EXISTS created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

6. server.cfg ayarlarını ve temel ayarları yapın#

Aşağıdaki satırları server.cfg dosyasına ekleyin. set satırları ensure satırlarından önce gelmelidir, çünkü kaynak başlarken bu değerleri okur. oxmysql ve framework'ünüz anticheat'ten önce başlamalıdır.

qb-core yerine kendi framework kaynağınızı yazın (qbx_core ya da es_extended). tosun_render satırını yalnız paketinizde varsa ekleyin.

tosun_ac_license zorunlu olan tek ayardır. Panel veri bağlantısı ve çevrimiçi bakiye düzenleme varsayılan olarak açıktır; bunlar için satır eklemeyin. Eski kurulumlardan kalan set tosun_db_bridge_enabled ve set tosun_db_bridge_money_write satırları 9.6.14 ve sonraki paketlerde yok sayılır, silebilirsiniz. Daha eski paketler bağlantıyı açmak için bu satırlara hâlâ ihtiyaç duyar; bu yüzden güncel paketi panelden indirin.

İsteğe bağlı ayarlar: tosun_ac_panel_key (Site Ayarları → AntiCheat API Anahtarı; boşsa anticheat bu anahtarı veritabanından kendisi bulur) ve tosun_ac_central_token (AC API Tokenları sayfasında bileşeni fivem olan token; boşsa panel anahtarı kullanılır).

Lisans ve anahtarlar için yalnız set kullanın. setr değeri oyunculara, sets ise herkese açık sunucu listesine gönderir. Anahtarları configs/anticheat_config.lua dosyasına yazmayın, çünkü bu dosya oyunculara da gider. İsterseniz server.cfg yerine yalnız sunucuda yüklenen configs/anticheat_server.lua içindeki credentials tablosunu kullanın; ikisi de doluysa server.cfg geçerlidir.

  • ts.Framework.framework: "auto" bırakın; QBCore, Qbox ve ESX kendiliğinden tanınır. Tanınmazsa "qb", "qbox", "esx" ya da "standalone" yazın.
  • ts.punishType: ilk gün 'LOG' ile yalnız kayıt alın, panelde ne yakalandığını gördükten sonra 'BAN' yapın.
  • ts.Debug: false kalsın. Açıkken yöneticiler dahil herkes tespit edilir.
  • webPanelKey, Central.token ve licenseLock.licenseKey alanları boş kalsın.
set onesync on

set tosun_ac_license "LISANS_ANAHTARINIZ"

ensure oxmysql
ensure qb-core
# ... diğer framework ve envanter kaynaklarınız ...
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian

7. Yönetici yetkisi verin#

Yetkililer tespitlerden muaf olur ve oyun içi yönetici menüsünü açabilir. Önerilen yol server.cfg içindeki ACE izinleridir.

tosun.admin yönetici menüsü ve muafiyet içindir; tosunac.admin oyun içinden tosunac_setup komutunu çalıştırabilmek içindir. license değerini kendi değerinizle değiştirin.

Alternatif olarak tosun-ac/admins/anticheat_admins.lua dosyasındaki Admins listesine license:, steam: ya da discord: kimliklerini ekleyebilir veya yetkiyi panelden verebilirsiniz.

Yalnız txAdmin yöneticisi olan biri tespitlerden muaf olur ama oyun içi menüyü açamaz; menü için yukarıdaki yollardan biri gerekir.

Menüyü oyunda /ts ya da /tsmenu yazarak veya F7'ye basarak açın. Kısayol ts.AdminMenu.openKeyControl ayarından değiştirilebilir.

add_ace group.admin tosun.admin allow
add_ace group.admin tosunac.admin allow
add_principal identifier.license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx group.admin

8. İlk başlatma ve doğrulama#

İlk kurulumda yalnız kaynağı değil, sunucuyu tamamen yeniden başlatın; böylece başlatma sırası sorunları baştan görünür.

  1. Sunucuyu yeniden başlatın ve konsolda kırmızı bir tosun-ac hatası olup olmadığına bakın.
  2. Sunucu konsolunda tosunac_doctor çalıştırın; riskli ya da çelişen ayarları listeler.
  3. tosunac_db_status ile panel veri bağlantısının durumuna, tosunac_integration ile diğer scriptlerle kurulan bağlantılara bakın.
  4. Konsolda [AC-Guardian] Aktif satırını görün.
  5. Sunucunuzun temiz olduğundan eminseniz tosunac_setup çalıştırın. Komut önce arka kapı taraması yapar, sonra temiz kaynakları ve sunucudaki olayları izin listesine alır. Hile bulaşmış bir kaynaktan şüpheleniyorsanız çalıştırmayın; komut o anki durumu güvenilir kabul eder.
  • Panelde sunucunuz çevrimiçi görünüyor ve oyuncu sayısı güncelleniyor.
  • Yönetici hesabıyla oyuna girince menü /ts ile açılıyor.
  • Panelin log bölümünde yeni satırlar oluşuyor.
  • Normal bir oyuncu hesabıyla 10-15 dakika oynayınca panelde beklenmedik bir tespit çıkmıyor.
tosunac_doctor
tosunac_db_status
tosunac_integration
tosunac_setup

9. Panel veri bağlantısını kontrol edin#

Bu bağlantı varsayılan olarak açıktır; server.cfg'ye satır eklemeniz ya da panelde açmanız gerekmez. Yetkili panel kullanıcıları oyuncu, karakter, envanter, araç, ban ve tespit verilerini ihtiyaç olduğunda görebilir. Veritabanının tamamı kopyalanmaz ve MySQL şifreniz sunucunuzda kalır. Bağlantı yalnız veri okur; tek istisna aşağıda anlatılan çevrimiçi bakiye düzenlemedir.

Her sayfada 25 kayıt gelir, aynı anda tek istek işlenir ve bir yanıt en fazla 64 KB'dir. Bağlantı boştayken oyun veritabanında sorgu çalıştırmaz. QBCore, Qbox ve ESX'in standart tabloları desteklenir; size özel tablolar otomatik eşlenmez.

Çevrimiçi bakiye düzenleme de varsayılan olarak açıktır. Yalnız yönetici ve sahip rolündeki panel kullanıcıları (ekonomi yetkisi) kullanabilir. Düzenleme bakiyeye ekleme yapmaz, nakit ya da banka toplamını girdiğiniz değere ayarlar. Karakter çevrimiçi olmalıdır. Beklenen güncel bakiye tutmazsa istek stale_balance ile reddedilir ve hiçbir şey değişmez. Panel göndermeden önce bir onay özeti gösterir ve her istek denetim kaydına yazılır. Sonucu belirsiz kalan bir istek otomatik olarak tekrarlanmaz; yeniden denemeden önce oyundaki bakiyeyi kontrol edin.

Gelişmiş elle yönetim için server.cfg'ye set tosun_db_bridge_manual "1" ekleyin. Bu durumda tosun_db_bridge_enabled ve tosun_db_bridge_money_write eskisi gibi server.cfg'den okunur; "1" yapılmayan ayar kapalı kalır. configs/anticheat_config.lua içinde eski tam aynalamayı bilerek açtıysanız (ts.panelMirror.enabled = true), aynalama çalışmaya devam etsin diye bağlantı kendiliğinden kapalı kalır.

Topluluk siteniz de aynı bağlantıyı kullanır. Oyun veritabanı ayarı olmadan Oyuncular, Banlar ve Tespitler sayfaları verileri oyun sunucusundan okur; MySQL kullanıcısı veya açık veritabanı portu gerekmez. Bu modun neleri gösterdiği ve isteğe bağlı doğrudan SQL bağlantısının ne zaman eklenmeye değer olduğu Veritabanı ve bridge → “Yalnız lisansla topluluk sitesi” bölümündedir.

  1. Panelde Sunucular → sunucunuz → Tosun Connect kartını açın. Kaynak çalışırken kartta durum Bağlantı hazır olmalıdır.
  2. Sunucu konsolunda tosunac_db_status ile de bağlantının durumunu kontrol edebilirsiniz.
  3. Bağlantıyı bir sunucu için kapatmak isterseniz aynı kartta Bağlantıyı kapat'a basın. O sunucu için tüm okumalar ve bakiye düzenlemeleri durur. Bağlantıyı aynı karttan yeniden açabilirsiniz.

10. Diğer scriptlerinizi uyumlu hale getirin#

Oyuncuyu ışınlayan, silah veren ya da donduran scriptler anticheat'e haber vermezse bu davranışlar hile gibi görünebilir. En sık durumlar ve çözümleri:

MarkTeleport'u her script çağırabilir. AllowWeapon ve SetExempt geniş muafiyet verdiği için yalnız güvendiğiniz kaynaklardan kabul edilir. Bunları kullanan scriptlerin adlarını virgülle ayırarak ekleyin; listede zaten olan adları silmeyin.

  • Oyuncuyu ışınlıyor (ev, garaj, hapishane, hastane): oyuncuyu taşımadan hemen önce exports['tosun-ac']:MarkTeleport(src) çağırın.
  • Kısa bir menü açıp oyuncuyu donduruyor (kıyafet, berber): exports['tosun-ac']:MarkTeleport(src, 15000).
  • Envantere koymadan silah veriyor (arena, paintball): exports['tosun-ac']:AllowWeapon(src, "WEAPON_PISTOL", ms). Güvenilir kaynak gerekir.
  • Oyuncuyu bir süre tamamen tespit dışı tutmak gerekiyor (ara sahne, özel yeniden doğma): exports['tosun-ac']:SetExempt(src, ms, "sebep"). Güvenilir kaynak gerekir.
set tosun_ac_trusted_resources "my-clothing,my-housing,my-arena"

11. Güncelleme yapın#

Güncellemeyi bakım zamanında yapın ve kendi ayarlarınızı koruyun.

Panel anahtarınız daha önce anticheat_config.lua içinde durduysa oyunculara gitmiş olabilir. Panelde yeni bir anahtar oluşturup server.cfg'yi de güncelleyin; güncelleme eski anahtarları kendiliğinden iptal etmez.

  1. Panelden yeni paketi indirin.
  2. Sunucudaki tosun-ac klasörünü yedekleyin; configs, admins, editable, locales ve bridge klasörlerindeki kendi değişikliklerinizi ayrıca saklayın.
  3. Eski tosun-ac, tosun-ac-guardian ve tosun_render klasörlerini silip yenilerini koyun. Üstüne kopyalamak kaldırılmış eski dosyaları geride bırakır.
  4. Kendi ayarlarınızı geri taşıyın. Yeni sürümde eklenen satırları kaybetmemek için dosyayı tamamen değiştirmek yerine yalnız değiştirdiğiniz değerleri aktarın.
  5. Sürüm notlarında veritabanı değişikliği varsa 4. ve 5. adımları yeniden uygulayın.
  6. Sunucuyu yeniden başlatın ve 8. adımdaki kontrolleri tekrarlayın.

12. Sorun giderme#

En sık görülen belirtiler ve çözümleri:

Destek isterken sürüm numarasını (fxmanifest.lua içindeki version), konsoldaki hatanın tamamını ve tosunac_doctor çıktısını ekleyin. Lisans ve API anahtarlarını kimseyle paylaşmayın; destek ekibi bunları istemez.

  • Unknown column '…' in 'field list': tablolar eski bir sürümle kurulmuş. 5. adımdaki SQL'i çalıştırın.
  • Table '…' doesn't exist: INSTALL.sql içe aktarılmamış ya da yanlış veritabanına aktarılmış. oxmysql'in bağlandığı veritabanına aktarın.
  • oxmysql hataları ve anticheat'in ilk saniyede durması: ensure oxmysql satırını ensure tosun-ac satırının üstüne alın.
  • Lisans geçersiz uyarısı: başka bir sunucunun lisansı girilmiş, set satırı ensure satırından sonra yazılmış ya da setr kullanılmış. Lisansı doğru sunucunun kartından yeniden kopyalayın.
  • Yönetici menüsü açılmıyor: kişi yalnız txAdmin yöneticisi. 7. adımdaki ACE satırlarını ekleyin ve oyuna yeniden girin.
  • Masum oyuncuya tespit: panelde tespiti açıp hangi kontrolün tetiklendiğine bakın, ilgili scripte 10. adımdaki çağrıyı ekleyin. Beklerken o kontrolün cezasını panelden LOG'a çekin.
  • Panelde sunucu çevrimdışı görünüyor: tosunac_doctor çıktısına bakın; tosun_ac_panel_key doluysa paneldeki anahtarla aynı olduğundan emin olun.
  • Paket indirilemiyor: İndir sayfasındaki uyarıyı okuyun; planınız indirmeye izin vermiyor ya da sunucu eklenmemiş olabilir.

Kiralık sitenin sahibi olarak ilk giriş#

TosunDev panelinde kendi kiraladığınız siteyi seçin ve Site yönetimi bağlantısını açın. Giriş yapılmamışsa sitenin giriş sayfasına yönlenirsiniz; başarılı girişten sonra site yönetimine dönersiniz. E-posta ile kaydolduysanız site oluşturulurken geçerli olan TosunDev e-postanız ve parolanız kullanılır. Site oluşturulduktan sonraki parola değişikliklerinin site hesabına kendiliğinden yansıdığını varsaymayın.

  1. Sitenin adresini ve seçilen site kaydını eşleştirin; TosunDev ana hesabı ile başka bir müşterinin sitesini karıştırmayın.
  2. İlk Kurulum/Site yönetimi açılışını gizli bir tarayıcı penceresinde deneyin: giriş ekranı, başarılı giriş, doğru sitenin yönetimi sırasını kontrol edin.
  3. Site yönetiminde bağlantıyı kendi FiveM sunucu kaydınıza bağlayın. Web siteye giriş parolası, Tosun lisansı ve MySQL parolası farklı değerlerdir.
  4. Sahip yetkisi veya parola hatasında ortak admin parolası kullanmayın. İlgili sitenin hesap kurtarma ve sahiplik kontrolüyle ilerleyin.

Lisansı panelden alıp doğru sunucuya yerleştirin#

TosunDev hesabınızda Sunucular bölümünü açın, kuracağınız FiveM sunucusunu seçin ve bu kaydın Tosun AC lisansını kopyalayın. tac_live_ ile başlayan Tosun lisansı; Cfx.re server license, sv_licenseKey, Discord bot tokeni veya web panel API anahtarı değildir. Başka sunucunun anahtarını kullanmayın.

  1. server.cfg dosyasında tosun_ac_license satırının tırnakları arasına kendi Tosun lisansınızı yazın; YOUR_SERVER_LICENSE metnini olduğu gibi bırakmayın.
  2. Satırı ensure tosun-ac satırından önce koyun. Yalnız set kullanın; setr ve sets kullanmayın.
  3. Dosyayla yapılandırıyorsanız yalnız configs/anticheat_server.lua içindeki credentials.licenseKey alanını doldurun. Boş olmayan server.cfg değeri dosyadaki değerin önüne geçer.
  4. Lisansı bir ekran görüntüsünde, Discord mesajında veya oyunculara giden shared config içinde paylaşmayın. Panel anahtarı ve merkezi token varsa kendi ayrı alanlarına yazılır.
set tosun_ac_license "YOUR_SERVER_LICENSE"
# Alternative: configs/anticheat_server.lua
# credentials.licenseKey = "YOUR_SERVER_LICENSE"

Tek SQL dosyası ve iki farklı veritabanı#

Yeni ZIP içindeki tek içe aktarma noktası tosun-ac/INSTALL.sql dosyasıdır. Aynı tabloları ikinci bir eski SQL dosyasıyla tekrar kurmayın. Bu dosya oxmysql üzerinden FiveM sunucunuzun kullandığı oyun veritabanına aittir; kiraladığınız web sitesinin hesap ve tema veritabanına rastgele aktarılmaz. Eski tablolar eksik sütunlarla kaldıysa yeni kurulum dosyası önce gerekli sütunları onarır, sonra varsayılanları ekler; mevcut ban ve özel ayarları korur.

  1. Önce doğru oyun veritabanının yedeğini alın; bağlantının kullandığı veritabanı adını kontrol edin.
  2. HeidiSQL/phpMyAdmin içe aktarma ekranında yalnız INSTALL.sql dosyasını çalıştırın; konsolda mysql komutu kullanıyorsanız hedef veritabanını açıkça belirtin.
  3. tosunac_db_check gerçek sorgu kontrolünü, tosunac_db_status köprünün durumunu gösterir. Köprü varsayılan olarak açıktır ve server.cfg satırı gerektirmez. Manuel modda (set tosun_db_bridge_manual "1") tosun_db_bridge_enabled "1" yoksa veya configs/anticheat_config.lua içinde eski tam yansıtma (ts.panelMirror.enabled = true) bilerek açıksa enabled=false beklenen durumdur. Lisansın girilmesi MySQL bağlantısı oluşturmaz.
  4. Panel bağlantısı (Tosun Connect) ve çevrimiçi bakiye düzenleme varsayılan olarak açıktır. server.cfg dosyasına tosun_db_bridge_enabled veya tosun_db_bridge_money_write satırı eklemeyin; eski satırlar 9.6.14 ve sonraki paketlerde yok sayılır ve silinebilir (daha eski paketler, güncel paket kurulana kadar bu satırlara ihtiyaç duyar). Bakiyeyi yalnız admin veya owner rolündeki panel kullanıcıları ayarlar: karakter çevrimiçi olmalı, beklenen bakiye tutmalı (tutmazsa stale_balance döner ve hiçbir şey değişmez), panel göndermeden önce onay özeti gösterir, her istek denetim kaydına yazılır ve belirsiz sonuç otomatik tekrarlanmaz; önce oyundaki bakiyeyi kontrol edin. İşlem toplamı ayarlar, üzerine ekleme yapmaz. Bağlantıyı bir sunucuda tamamen kapatmak için (tüm panel okumaları ve bakiye düzenlemeleri durur) Panel → Sunucular → sunucu → Tosun Connect kartı → Bağlantıyı kapat yolunu kullanın; aynı karttan yeniden açabilirsiniz. Oyun DB parolasını web siteye veya oyunculara göndermeyin.
mysql -u YOUR_DB_USER -p YOUR_GAME_DATABASE < tosun-ac/INSTALL.sql

# txAdmin console:
tosunac_db_check
tosunac_db_status

ZIP dosyasından txAdmin başlangıcına#

Arşivdeki tosun-ac, tosun-ac-guardian ve tosun_render klasörlerini resources içindeki aynı seviyeye taşıyın. Her klasörün kökünde kendi fxmanifest.lua dosyası bulunur. discord-bot klasörü FiveM resource değildir; ensure discord-bot yazılmaz. Yeni paket Render için yalnız gta5 oyun tanımı kullanır; eski common + gta5 manifestini yeni pakete taşımayın.

  1. Oyun veritabanının çalışan mysql_connection_string satırını koruyun. oxmysql, mevcut framework ve envanter önce; tosun_render, tosun-ac ve guardian sonra başlatılır.
  2. txAdmin konsolunda refresh çalıştırın, ardından aşağıdaki sıralamayı uygulayın. tosun-render takma adı desteklense de klasör ve belgelerdeki kanonik ad tosun_render olarak kalır.
  3. tosun_render_status komutu started ve mevcut dosya durumunu göstermelidir. Bu sonuç oyun içi video çekiminin testi yerine geçmez; bir test oyuncusuyla görüntüyü ayrıca kontrol edin.
  4. İlk hata satırını okuyun: missing dependency için bağımlılığı, could not find resource için klasörü, lisans hatası için seçili sunucuyu kontrol edin. Her hatayı lisans değiştirerek çözmeye çalışmayın.
set tosun_ac_license "YOUR_SERVER_LICENSE"

ensure oxmysql
# Start your existing framework/inventory here.
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian

# txAdmin console:
tosun_render_status
tosunac_doctor
tosunac_db_check
tosunac_db_status

Panel yetkisini sınırlandırıp sonucu doğrulayın#

Menü erişimi sunucu tarafında ACE, düzenlenebilir admin kimlikleri ve panel yetki kayıtlarıyla doğrulanır. all metni tek başına bir kimlik veya yetki kaydı değildir. allowedIds için license:..., discord:... veya fivem:... gibi tam kimlikler kullanılır; gerçek kimlikleri oyuncunun sunucu tarafındaki kimlik listesinden alın. Bir alanın örneği yetki vermiş sayılmaz.

  1. Bir test yöneticisine yalnız gerekli rolü verin; menü açma ve izin verilen bir işlemi sınayın.
  2. Panelde yetkiyi kaldırın ve aynı oyuncunun menü/işlem erişimini tekrar deneyin. Yeni paket etkin sunucuda varsayılan yaklaşık 5 saniyelik yoklamayla değişikliği çeker; ağ gecikmesi varsa durumunu izleyin.
  3. Etkin ACE veya admins.lua kaydı ayrıca yetki verebilir. Panel yetkisini kaldırırken bu bağımsız izinleri de inceleyin; yalnız çevrimiçi oyuncu telemetry kaydı yetki kaynağı değildir.
  4. Normal test oyuncusunda menü kapalı kalmalı. Para, ban ve silah gibi hassas işlemleri gerçek müşterilere zarar vermeyen test hesabıyla doğrulayın.
ts.AdminMenu.allowedIds = {
    "license:YOUR_EXACT_PLAYER_IDENTIFIER",
    "discord:YOUR_DISCORD_USER_ID"
}
# Examples are placeholders, not grants.

Discord botunu aynı paketten ayrı bir servis olarak kurun#

Discord botu Node.js üzerinde çalışır; FiveM resources içinde başlatılmaz. Arşivde discord-bot uygulaması, örnek ayarlar ve kurulum yönergeleri bulunur. Discord Developer Portal üzerinden kendi uygulamanızı ve botunuzu oluşturun; Application ID, Guild ID, kanal ve rol ID değerlerini kendi Discord sunucunuzdan alın. Bot tokenini yalnız özel ortam dosyasında saklayın.

Kiralık sitenin DB hesabı varsayılan olarak sağlayıcının localhost adresine bağlıdır. Botu ayrı FiveM makinesinde çalıştırmak bu bağlantıyı otomatik açmaz. Bot aynı site sunucusunda yönetilen bir servis olarak çalışmalı veya yalnız kendi site DB kullanıcınıza ait, sağlayıcı tarafından onaylanan özel bağlantı hazırlanmalıdır. Sağlayıcının root hesabını kullanmayın ve MySQL’i herkese açmayın. SQL’siz köprü, botun tüm eski doğrudan SQL komutlarını kendiliğinden desteklemez; oyun tablosu isteyen komutları ayrı doğrulayın.

Sitenizin sahibi olarak Site yönetimi → Discord bot ekranında bot tokeni, Client ID ve Guild ID alanlarını kaydedin. Özel bot kurulum dosyasını indir düğmesinden alınan dosyayı yalnız kendi bot klasörünüzde .env adıyla saklayın. Bu dosya ZIP içindeki boş örnekten farklıdır: yalnız seçilen sitenin anahtarlarını içerir. İndirilen .env dosyasını paylaşmayın ve kaynak kontrolüne eklemeyin.

  1. Node.js 22 veya üstü desteklenen LTS sürümünü kurun; discord-bot klasöründe kurulum betiğini çalıştırın ve örnek ayar dosyalarını hazırlayın.
  2. Botu bot ve applications.commands kapsamlarıyla kendi sunucunuza ekleyin. Herkese Administrator vermek yerine kullandığınız komut ve kanalların gerekli izinlerini seçin.
  3. Botun siteye ait veritabanı ve HTTPS API adresini ayarlayın. Komut imza anahtarı Tosun lisansı değildir; site ile bot arasında yalnız bu bot için özel olarak yapılandırılmalıdır. Ana SaaS anahtarını dağıtmayın.
  4. npm run doctor komutundaki bütün zorunlu kontroller başarılı olmadan servisi başlatmayın. doctor Discord’a giriş yapmaz ve komut göndermez; gerçek çevrimiçi durum ve rol denemesini ayrıca yapın.
cd discord-bot
sh setup.sh
# Configure the private .env and site bot settings first.
npm run doctor
npm start

Yeniden başlatmada gereksiz taramayı azaltma#

Her açılışta kaynakların içerik SHA256 özeti kontrol edilir. Dosyası ve tarama politikası değişmeyen kaynaklarda pahalı imza ve olay analizi yeniden yapılmaz; sunucu KVP alanındaki doğrulanmış önbellek kullanılır. Dosya, istisna veya tarama kuralı değişirse ilgili analiz yenilenir. Bu kontrol sıfır disk erişimi veya sabit bir resmon değeri vaat etmez.

  1. KVP önbelleğini normal güncellemede silmeyin; bozulmuş veya doğrulanamayan kayıt yeniden analiz edilir.
  2. Başlangıç kataloğu Lua/JS dosyalarındaki açıkça yazılmış olay adlarını toplar; dinamik olaylar, okunamayan/escrow dosyaları ve DLL dosyaları tam taranmış sayılmaz.
  3. Manuel otomatik kurulum güvenlik analizinin tamamlanmasını bekler. Eksik, şüpheli, değişmiş veya zaman aşımına uğramış kaynak kendiliğinden onaylanmaz.
  4. Güncellemeden sonra önce test sunucusunda bir oyuncuyla giriş, normal oyun ve yönetici işlemlerini kontrol edin; resmon ölçümünü oyuncu sayısı ve framework yüküyle birlikte değerlendirin.