GTA Serisi => Mod Galerisi => Konuyu başlatan: deksdeveloper - 13 Mayıs 2026, 13:10:40
Başlık: vc-mp diriltme operasyonu - boş beleş işler müdürlüğü
Gönderen: deksdeveloper - 13 Mayıs 2026, 13:10:40
Selam dün canım sıkıldı, vc-mp'i gözüme kestirdim ve ziggi tarafından paylaşılan, 10 yıllık vc-mp reposunu (https://github.com/ziggi/vc-mp) ayağa kaldırdım.
Neler yaptım?
RakNet kaynak dosyalarını yeniden entegre edip eksik .cpp/.h bağımlılıklarını ayağa kaldırdım. Eski VC:MP header yapısını modern RakNet isimlendirmesiyle eşleştiren yönlendirme katmanı oluşturdum. ID_PLAYER_SYNC, ID_VEHICLE_SYNC, ID_PASSENGER_SYNC, ID_RCON_COMMAND gibi özel packet ID'lerini tekrar tanımladım. Projeyi modern sistemlerde derlemek için sıfırdan Win32 uyumlu CMakeLists.txt yazdım. VS2022/MSVC uyumluluğu için legacy CRT ve linker problemlerini düzelttim, özel legacy_fix.cpp stub köprüsü ekledim. Python tabanlı otomatik modernizasyon scripti yazarak eski C++ sentaksını güncel standarda uyarladım. anticheat.cpp içindeki fread/FileCheckSum mantık hatasını düzelttim. Direct3D initialization crash'lerini çözmek için UI oluşturma sürecini TheGameLoop fazına taşıdım. Araç spawn ve sync süreçlerinde oluşan null-pointer / invalid pointer crash'lerini giderdim. GetPacketID tarafında güvenli packet length kontrolü ve bellek koruması ekledim. Ağ trafiği için ayrı vcmp_net_debug.log mimarisi kurup RPC/network debugging sistemini izole ettim. Kritik #pragma pack(1) sızıntılarını push/pop yapısına çevirerek RakNet memory alignment bozulmasını düzelttim. Sunucu tarafında pasif bırakılmış logging sistemini tekrar aktif hale getirdim. RakNet Receive() akışını analiz etmek için low-level network diagnostics ekledim. SA-MP RakNet'inden gelen isLogon timeout mekanizmasını tespit edip devre dışı bıraktım (oyuncular 30 saniye sonra kickleniyordu çünkü SA-MP login flow'u olmadan isLogon hiç true olmuyordu). RakNet içindeki tüm SA-MP uyumsuzluklarını audit ettim (şifreleme, cookie, auth, rate limiting, query handler, OMP encryption stub'ları). SA-MP'ın sessizleştirdiği ICore::logLn/printLn stub'larını gerçek konsol çıktısına bağladım -- artık rate limit ihlalleri ve bağlantı olayları görünür. Sunucu build'ine _DO_PRINTF tanımı ekleyerek RakPeer bağlantı kopma/kick/ban debug mesajlarını aktif ettim. Rate limit ihlalcileri için ban süresini 0'dan 60 saniyeye çıkardım (anında yeniden bağlanma engeli). Screenshot dosya yolu fonksiyonundaki 3 kritik UB/logic bug'ı düzelttim -- misuse, boş path, eksik backslash.
Eğer caymazsam embedded gamemode yapısını kaldırıp Lua tabanlı bir scripting VM entegre ederek runtime scripted gamemode desteği eklemeyi planlıyorum. Şimdilik bu kadar. (https://i.hizliresim.com/sfxnjnx.png) (https://hizliresim.com/sfxnjnx)
Başlık: Ynt: vc-mp diriltme operasyonu - boş beleş işler müdürlüğü
Gönderen: Necip - 13 Mayıs 2026, 21:28:04
Ben Edith(Bitroast) yapacağın işin amına goyam asd:ASD:ADS:ADS :kalp: :kalp: :kalp: