- 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.
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:
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:
Uygulama tek bir çalıştırılabilir dosya (.exe) üzerinden çalışır ancak ISROR'un beklediği tüm protokolleri aktif olarak sunar.
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:
(Çalıştırdıktan sonra [http://127.0.0.1:18080/](http://127.0.0.1:18080/) adresinden kontrol panelini açabilirsiniz.)
Projeyi Derleme:
Tam Yerel Doğrulama & Hızlı Testler (Smoke Test):
Canlı Sertifikasyon Doğrulaması (Gerçek Veritabanı İle):
Windows x64 İçin Canlı Yayın Paketi Oluşturma (Publish):
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!
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
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
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!


