(Lua) Güvenlik Sistemi

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 308

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
virus total sonuçları:

indirme linki:

quest'in kaynak kodları:

Kod:
-- Turkmmo: Sorts -- quest guvenlik begin     state start begin         when 20087.chat."Karakter Güvenlik Hizmeti" begin         local name = pc.get_name         say_title("Safety System ")         say("Merhaba "..name.."")         say("Demek Karakterine Güvenlik Hizmeti")         say("Almak İstiyorsun Pekala")         say("Unutma Her Işınlanmada bu Şifre Sorulur.")         local miktar = 10000000 --Gold Miktari Giriniz--         say("Bu İşlemin Ücreti "..miktar.." Yang")         say("Kabul Ediyor Musun ?")         local sorgu = select(locale.yes,locale.no)         if sorgu == 2 then         say_title("Safety System ")         say("Pekala "..name.."")         say("Sana Bu Hizmeti Sunabilirdim Ama Sen İstemedin.")         elseif sorgu == 1 then         say_title("Safety System")         say("Pekala "..name.."")         say("Şimdi İşlemlere Başlayalım.")         say("İlk Önce Yapman Gereken")         say("Güvenlik Şifresi Belirlemek. Kutuyu Doldur")         say("NOT: Sadece Rakamlardan Oluşmalı.")         local guvenliksifre = tonumber(input())         if guvenliksifre == nil then         say_title("Safety System")         say("Malesef Güvenlik Şifresini Boş Bırakamazsın.")         say("Üzgünüm Gerekli Alanları Doldurmalısın !")         else         pc.setqf("guvenlik",1)         pc.setqf("guvenliksifre",guvenliksifre)         say_title("Safety System")         say("Tamam "..name.."")         say_reward("Belirlediğin Şifre "..guvenliksifre.." Olmuştur.")         say("İyi Oyunlar Dileriz.")         pc.change_gold( -miktar )             end         end     end         when login with pc.getqf("guvenlik") == 1 begin         say_title("Safety System")         say("Karakterine Güvenlik Hizmeti Aldığın")         say("İçin Güvenlik Şifreni Gir.")         local benimsifrem = pc.getqf("guvenliksifre")         local girilen = tonumber(input())         if girilen != benimsifrem         say_title("Safety System")         say("Üzgünüm "..pc.get_name().."")         say("Şifreyi Yanlış Girdiğin İçin.")         say("Seni Oyundan Atıyorum.")         pc.disconnect_with_delay(3)         else         say_title("Safety System")         say("Tebrikler "..pc.get_name().."")         say("Şifreni Dogru Girdiğin İçin")         say("Karakterini Kontrol Edebilirsin.")                 end             end         end     end end

fonksiyon: 10 milyon yang'a karşılık karakterinize aldığınız güvenlik hizmeti. Işınlanırken belirlemiş olduğunuz kodu girmeniz halinde oyuna devam edebilirsiniz, eğer girmezseniz yada yanlış yanlış girerseniz oyundan atılırsınız.

ilgili dosyayı ftp'den qust dizinine attıktan sonra,
putty'den login olup:
cd /usr/game/share/locale/turkey/quest && ./qc guvenlik_sistemi.lua
girmeniz yeterlidir.

keyifli oyunlar.

Kod:
[B]for DevSheeN[/B]

(Lua) Güvenlik Sistemi ve Metin2 Quest Geliştirme

Metin2 sunucularında quest geliştirme sürecinde, güvenlik en önemli konulardan biridir. Lua dili ile yazılmış quest sistemleri, hem güçlü hem de tehlikeli olabilir. Yanlış yapılandırılmış bir quest, sunucu kararsızlığına veya hatta veri kaybına neden olabilir. Bu nedenle, Lua tabanlı quest sistemlerinde güvenliği artırmak amacıyla bazı önemli stratejilerin uygulanması gerekir.

Güvenlik Açıklarını Tanımlamak

Quest sistemlerinde karşılaşılan en yaygın güvenlik sorunları arasında kötü niyetli kullanıcıların quest komutlarını manipüle etmesi, yetkisiz item veya EXP kazanımı, quest durumlarının değiştirilmesi gibi senaryolar yer alır. Özellikle açık kaynaklı quest dosyaları, saldırganlar tarafından incelenip zafiyetlerden faydalanılabileceği için büyük risk taşır.

Güvenlik İçin Önerilen Uygulamalar

Sunucu tarafında tüm quest işlemlerinin doğrulanması, güvenlik açıklarının önlenmesinde kilit rol oynar. Örneğin, bir questten ödül alma işlemi sırasında, oyuncunun gerçekten questin tamamlayıcı koşullarını yerine getirip getirmediği kontrol edilmelidir. Ayrıca, quest değişkenlerinin (flag, state) manipülasyonunu engellemek için hash tabanlı doğrulamalar kullanılabilir.

Lua Güvenlik Katmanları

Lua scriptleri içinde güvenliği artırmak için sandbox (koruma alanı) mantığı uygulanabilir. Yani, quest scriptlerinin sadece belirli fonksiyonlara erişimine izin verilir. Bu sayede, potansiyel olarak zararlı olan fonksiyonlar devre dışı bırakılır. Örneğin, io.open(), os.execute() gibi sistem seviyesinde işlemler yapan fonksiyonlar, quest içinde kullanım için uygun değildir ve engellenmelidir.

Hata Ayıklama ve İzleme

Her quest sisteminde hata ayıklama (debug) araçlarının bulunması, hem geliştirme hem de güvenlik açısından kritiktir. Quest loglama mekanizmaları sayesinde, kullanıcıların quest üzerindeki her hareketi izlenebilir. Bu sayede, şüpheli davranışlar yakalanabilir ve gerekli önlemler alınabilir.

Metin2 Quest Editörleri ve Güvenlik

Metin2 quest editörleri, kullanıcı dostu arayüzlerle quest geliştirmeyi kolaylaştırır. Ancak, bu araçlar da güvenliği gözeten yapılarla sunulmalıdır. Örneğin, export edilen quest dosyaları dijital imzayla korunabilir. Böylece, dosyanın kimlik doğrulaması sağlanmış olur.

Sonuç

Metin2 quest geliştirme sürecinde güvenlik, ihmal edilmemesi gereken bir konudur. Lua tabanlı quest sistemleri, güçlü scriptleme kabiliyetleriyle beraber bazı riskler de barındırır. Bu risklerin minimize edilmesi için doğru doğrulama mekanizmaları, sınırlı erişim hakları ve düzenli log analizleri gereklidir. Güvenli bir quest sistemi, hem oyuncuların deneyimini artırır hem de sunucu sahiplerinin sorumluluklarını hafifletir.


(Lua) Security System and Metin2 Quest Development

In the process of developing quests for Metin2 servers, security stands out as one of the most important aspects. Quest systems written in Lua can be both powerful and dangerous. Incorrectly configured quests may lead to server instability or even data loss. Therefore, implementing certain key strategies is essential to enhance security in Lua-based quest systems.

Identifying Security Vulnerabilities

Common security issues in quest systems include malicious users manipulating quest commands, unauthorized item or EXP gains, and altering quest states. Especially open-source quest files pose significant risks, as attackers can examine them and exploit vulnerabilities.

Recommended Practices for Security

Validating all quest operations on the server side is crucial in preventing security flaws. For instance, during a reward collection process from a quest, it must be verified whether the player has actually fulfilled the required conditions. Additionally, hash-based validation can prevent manipulation of quest variables such as flags and states.

Lua Security Layers

To enhance security within Lua scripts, sandboxing logic can be applied. This ensures that quest scripts have access only to specific functions. Potentially harmful functions like io.open() or os.execute() should be disabled within quest environments to avoid system-level operations.

Debugging and Monitoring

Having debugging tools in every quest system is critical for both development and security. With logging mechanisms, every action taken by players in quests can be monitored. This allows detection of suspicious behavior and enables necessary countermeasures.

Metin2 Quest Editors and Security

Metin2 quest editors facilitate quest development through user-friendly interfaces. However, these tools should also incorporate security-focused structures. For example, exported quest files can be protected with digital signatures to ensure authentication.

Conclusion

Security is a critical aspect that must not be overlooked in the Metin2 quest development process. Lua-based quest systems bring powerful scripting capabilities along with potential risks. To minimize these risks, proper validation mechanisms, limited access rights, and regular log analysis are required. A secure quest system enhances both player experience and reduces server owner responsibilities.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt