Paylaşım - ISRORCertBill - Birleştirilmiş ISROR Certification ve Billing Sistemi | SroCave - SRO Destek Forumu

Paylaşım ISRORCertBill - Birleştirilmiş ISROR Certification ve Billing Sistemi

  • Konbuyu başlatan Konbuyu başlatan Gojo*
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 5

Gojo*

Yeoha
Katılım
14 Ocak 2025
Mesajlar
15
Tepkime puanı
566
Puanları
3
SroCave ailesine selamlar,

Silkroad Online sunucu geliştiricileri için altyapı yönetimi her zaman kritik bir konudur. Bugün, ISROR sertifikasyon (certification) ve faturalandırma (billing) projelerini temel alan, temizlenmiş ve tek çatı altında birleştirilmiş harika bir açık kaynaklı sürümü sizlerle paylaşıyoruz: ISRORCertBill.

Bu projenin temel amacı; sertifikasyon ve faturalandırma kısımlarını orijinal işlevselliklerini koruyarak yönetimi çok daha kolay tek bir projede birleştirmek ve kurulum aşamasını basitleştirmektir. SroCave farkıyla sunucunuzun altyapısını çok daha modern bir hale getirebilirsiniz.

🌟 Temel Yenilikler ve Değişiklikler​

  • Tek Proje: ISRORCertBill ve ISRORBilling daha temiz bir mimari ile tek bir projede (ASP.NET Core - net8.0) birleştirildi.
  • Orijinal İşlevsellik: Sertifikasyon, billing, giriş (login), e-posta, bildirim ve NationPing özellikleri eksiksiz olarak korundu.
  • Dinamik Yapılandırma: Kaynak koda gömülü (hardcoded) ayarlar kaldırılarak, tüm yapılandırma değerleri appsettings.json dosyasına ve veritabanına taşındı.
  • Yeni Kontrol Mekanizmaları: Özellik açma/kapama (feature toggles), durum/sağlık sayfaları (status/health pages) ve otomatik sürüm derleme özellikleri eklendi.
  • Hata Düzeltmeleri: Tarayıcı/favicon isteklerinden kaynaklanan spam logları ve NationPing port çakışması çökmeleri (crashes) tamamen giderildi.
  • Kompakt Sürüm Paketlemesi: Yayınlanan sürüm oldukça sadedir; sadece exe dosyası, appsettings.json, Database ve Patches klasörünü içerir.

⚠️ Önemli Kurulum Notu (Yerel / Gizli Sunucular İçin)​

Local (yerel) veya private bir sunucu barındırıyorsanız, sertifikasyon veritabanının, sunucu modüllerinizin (server modules) gerçekten ulaşabileceği bir IP adresini yayınladığından emin olmalısınız.

Bunu sağlamak için SQL üzerinden aşağıdaki sorguyu kendi IP adresinize göre düzenleyip çalıştırmalısınız:

Kod:
USE SILKROAD_CERTIFICATION;

UPDATE dbo._ServerMachineSET szPublicIP = 'SİZİN_SUNUCU_LOCAL_IP_ADRESİNİZ',szPrivateIP = 'SİZİN_SUNUCU_LOCAL_IP_ADRESİNİZ'WHERE nID = 1;

📥 İndirme ve Kaynak Kodları​

Bu modern altyapıya ait kaynak kodlarına ve derlenmiş sürümlere aşağıdaki bağlantıdan ulaşabilirsiniz:



Geliştirici Kaynakları ve Krediler:

  • devtekve / ISRORBilling
  • DummkopfOfHachtenduden / ISRORCert

⚙️ Teknik Detaylar ve Yapılandırma (Appsettings.json)​

Uygulama tek bir çalıştırılabilir dosya (.exe) üzerinden çalışır ancak ISROR'un beklediği tüm protokolleri aktif olarak sunar.

Ağ Bağlantı Noktaları (Network Surfaces)​

  • Billing HTTP: Kestrel tarafından yapılandırılır. Varsayılan: [http://0.0.0.0:18080](http://0.0.0.0:18080)
  • NationPing TCP: NationPingService tarafından yapılandırılır. Varsayılan: 0.0.0.0:12989
  • Certification TCP: appsettings.json içerisinde üzerine yazılmadığı sürece veritabanındaki sertifikasyon sunucusu tablosundan (ServerMachine) otomatik çekilir.

Sertifikasyon (Serializer) Seçimi​

Orijinal protokoller ve paketleyiciler korunmuştur. Kullanacağınız oyun dosyalarına göre appsettings.json üzerinden Serializer tipini belirtebilirsiniz:

  • Old: VSRO 1.188 dosyaları için kullanın.
  • New: ISROR 2015+ dosyaları için kullanın. (Orijinal kayıt düzenine uygun olduğu için varsayılan olarak "New" seçilidir.)

Özellik Açma / Kapama (Feature Toggles)​

Bölgesel testler için sistemin belirli parçalarını kapatabilirsiniz:
Kod:
"Features": {"Billing": true,"Certification": true,"NationPing": true}

💻 Geliştiriciler İçin Komutlar (Build & Test Scripts)​

Projeyi kendi ortamınızda derlemek, test etmek veya canlı ortama hazırlamak için PowerShell üzerinden kullanabileceğiniz komutlar şunlardır:

Projeyi Yerelde Çalıştırma:
Kod:
dotnet run --project src\ISRORUnified\ISRORUnified.csproj
(Çalıştırdıktan sonra [http://127.0.0.1:18080/](http://127.0.0.1:18080/) adresinden kontrol panelini açabilirsiniz.)

Projeyi Derleme:
Kod:
dotnet build src\ISRORUnified\ISRORUnified.csproj

Tam Yerel Doğrulama & Hızlı Testler (Smoke Test):
Kod:
powershell -ExecutionPolicy Bypass -File scripts\VerifyLocal.ps1powershell -ExecutionPolicy Bypass -File scripts\CompatibilityAudit.ps1powershell -ExecutionPolicy Bypass -File scripts\SmokeTest.ps1

Canlı Sertifikasyon Doğrulaması (Gerçek Veritabanı İle):
Kod:
powershell -ExecutionPolicy Bypass -File scripts\ValidateLiveCertification.ps1 -DbConfig "Data Source=127.0.0.1;TrustServerCertificate=True;Initial Catalog=SILKROAD_CERTIFICATION;User ID=sa;Password=1"

Windows x64 İçin Canlı Yayın Paketi Oluşturma (Publish):
Kod:
powershell -ExecutionPolicy Bypass -File scripts\Publish.ps1
Bu komut, artifacts/publish/win-x64/ dizinine tamamen bağımsız (self-contained) ve kullanıma hazır bir paket çıkaracaktır. İçerisinde yalnızca .exe, appsettings.json, Database (SQL scriptleri) ve Patches yer alacaktır.

Silkroad sunucu mimarisini bir üst seviyeye taşıyan bu birleştirilmiş yapıyı test etmeyi ve değerli geri dönüşlerinizi SroCave yorumlarında paylaşmayı unutmayın. İyi forumlar!
 
Etiketler Etiketler
devtekve dummkopfofhachtenduden harvi8 isror 2015 files isror billing isror certification isrorbilling isrorcert isrorcertbill silkroad asp.net core emulator silkroad c# emulator silkroad isror server files silkroad nationping silkroad private server kurulumu silkroad server development sro certification error fix sro isror emulator sro kestrel sunucu srocave vsro 188 certification

Geri
Üst Alt