Kod:
service.h içine ekleyin: #define ENABLE_GOHOME_IFNOMAP
char.cpp içinde if (!map_allow_find(index)) geçen yeri tamamen şu blokla değiştirin:
Kod:
if (!map_allow_find(index)) { sys_err("Invalid map warp attempt: Player %s (ID: %u), MapIndex: %d, Pos: (%d, %d)", GetName(), GetPlayerID(), index, m_posWarp.x, m_posWarp.y); #ifdef ENABLE_GOHOME_IFNOMAP if (!GoHome()) { sys_err("GoHome failed for %s (ID: %u), warping to fallback.", GetName(), GetPlayerID()); WarpSet(1, 469300, 964200); } #else if (LPDESC d = GetDesc()) { d->SetPhase(PHASE_CLOSE); } #endif return; }
Kod:
(Deneme Sayısı Takibi) char.h içerisine şu değişkeni ekleyin: private: int m_iInvalidWarpAttempts = 0;
Kod:
Ve yukarıdaki kod bloğuna şu kontrolü dahil edebilirsiniz: if (++m_iInvalidWarpAttempts >= 3) { SendNotice("3 kez yasaklı haritaya girmeye çalıştığınız için bağlantınız kesiliyor."); sys_err("Too many invalid map attempts: %s (ID: %u)", GetName(), GetPlayerID()); if (LPDESC d = GetDesc()) d->SetPhase(PHASE_CLOSE); return; }
Kod:
SYSERR: Jun 09 13:12:45 :: Invalid map warp attempt: Player TestUser (ID: 1024), MapIndex: 999, Pos: (10000, 15000) SYSERR: Jun 09 13:12:45 :: GoHome failed for TestUser (ID: 1024), warping to fallback.
MaviAyGames | Gelişmiş Harita Giriş Kontrolü | GoHome + Güvenli Loglama
Metin2 özel sunucularında güvenlik ve kullanıcı deneyimi en üst düzeyde tutulmalıdır. Bu bağlamda, MaviAyGames tarafından sunulan Gelişmiş Harita Giriş Kontrolü sistemi, hem sunucu sahipleri hem de oyuncular için önemli avantajlar sunmaktadır. Bu sistem sayesinde, belirli haritalarda erişim kontrolleri yapılabilmekte, GoHome fonksiyonu ile oyuncuların güvenli çıkışları sağlanabilmekte ve loglama işlemleri sayesinde tüm giriş çıkışlar takip edilebilmektedir.
Harita Erişim Kontrolü Nedir?
Harita erişim kontrol sistemi, oyuncuların belirli haritalara giriş yapabilmesi için bazı kriterlere sahip olması gerektiğini tanımlar. Bu kriterler; seviye, sınıf, eşya, görev tamamlama durumu veya PvP durumu gibi değişkenler olabilir. Bu sayede sunucu yöneticileri, daha adil ve dengeli bir oyun ortamı yaratmayı hedeflerler.
Gelişmiş Özellikler
- Oyuncu seviyesine göre harita erişimi
- PvP statüsüne göre sınırlama
- Görev tabanlı giriş izni
- Grup bazlı erişim kontrolü
- Yetkili karakterler için özel izinler
GoHome Sistemi
GoHome, oyuncuların oyun dışına çıktıklarında belirlenen konuma geri dönmelerini sağlayan gelişmiş bir sistemdir. Bu sayede oyuncular, oyun içi death veya logout sonrası güvenli bir bölgeye otomatik olarak taşınır. Bu özellik, özellikle Metin2 gibi PvP odaklı oyunlarda hayati önem taşır.
Avantajları:
- Oyuncuların can güvenliğini artırır
- Eşya kaybını önler
- Sunucu deneyimini iyileştirir
Güvenli Loglama Sistemi
Loglama, herhangi bir güvenlik ihlali veya hata durumunda analiz yapılabilmesi için kritik öneme sahiptir. Bu sistem, oyuncuların haritaya giriş çıkışlarını, GoHome kullanımını ve diğer kritik olayları kayıt altına alır. Günlük loglar, sunucu sahiplerinin olası sorunları hızlıca teşhis etmesine yardımcı olur.
Loglanan Bilgiler:
- Oyuncu kimliği
- Giriş yapılan harita
- Tarih ve saat
- Eylem türü (giriş, çıkış, GoHome)
Kurulum ve Entegrasyon
Sistem, C++ tabanlı Metin2 sunucu kaynak koduna entegre edilebilir. Kurulum sırasında gerekli yapılandırmalar config dosyası üzerinden yapılır. Ayrıca, Python tabanlı GUI araçlar ile kolay yönetim imkanı sunulur. Bu sayede teknik bilgi seviyesi düşük kullanıcılar bile sistemi kolayca yönetebilir.
Özellikler:
- Kolay kurulum
- Yapılandırılabilir kurallar
- Otomatik log temizleme
- Gerçek zamanlı eylem takibi
Sonuç
MaviAyGames tarafından geliştirilen Gelişmiş Harita Giriş Kontrolü sistemi, Metin2 özel sunucuları için güçlü bir güvenlik ve deneyim katmanı sağlar. GoHome ve güvenli loglama ile birleştiğinde, oyuncu memnuniyeti ve sunucu güvenliği bir arada bulunur. Bu tür sistemler, Metin2 geliştiricileri için kritik öneme sahiptir ve sunucu performansını doğrudan etkiler.
MaviAyGames | Advanced Map Access Control | GoHome + Secure Logging
In Metin2 private servers, security and user experience must be maintained at the highest level. In this context, the Advanced Map Access Control system provided by MaviAyGames offers significant advantages for both server owners and players. With this system, access controls can be set on specific maps, safe exits are ensured through the GoHome function, and all entry-exit events can be tracked via logging operations.
What is Map Access Control?
Map access control defines that players must meet certain criteria to enter specific maps. These criteria may include level, class, items, quest completion status, or PvP status. This allows server administrators to create a fair and balanced gaming environment.
Advanced Features
- Map access based on player level
- Restrictions based on PvP status
- Quest-based access permission
- Group-based access control
- Special permissions for admin characters
GoHome System
GoHome is an advanced system that ensures players return to a designated location when they exit the game. This way, players are automatically transported to a safe zone after dying or logging out in-game. This feature is crucial especially in PvP-focused games like Metin2.
Benefits:
- Increases player safety
- Prevents item loss
- Improves server experience
Secure Logging System
Logging is critical for analysis during any security breach or error occurrence. This system records player map entries/exits, GoHome usage, and other key events. Daily logs assist server owners in quickly diagnosing potential issues.
Logged Information:
- Player ID
- Map entered
- Date and time
- Action type (entry, exit, GoHome)
Installation and Integration
The system can be integrated into the C++ based Metin2 server source code. Configuration is done through a config file during installation. Additionally, a Python-based GUI tool provides easy management. This allows even users with low technical knowledge to manage the system easily.
Features:
- Easy installation
- Configurable rules
- Automatic log cleaning
- Real-time action tracking
Conclusion
The Advanced Map Access Control system developed by MaviAyGames provides a powerful security and experience layer for Metin2 private servers. Combined with GoHome and secure logging, player satisfaction and server security coexist. Such systems are critically important for Metin2 developers and directly impact server performance.
