Learn · modules

Minecraft istemcisinde DevTest nedir?

DevTest, bazı müşterilerde kalan bir geliştirici modülüdür; tamamlanmamış kodu test etmek için yapılmış, oyunculara gerçek bir özellik veya ayar sunmak için değil.

TRtrolPublished 3 min read

Minecraft'ta DevTest Nedir?

DevTest, bazen bir istemcinin modül listesinde, net bir iş tanımı olmayan bir modül olarak karşınıza çıkabilir. Bu ne bir KillAura varyantı ne de gizlenmiş bir aimbot'tur: istemciyi oluştururken geliştiricilerin devam eden kodu denemek için kullandıkları bir artıklık kod parçasıdır. Yazılımı dağıtan kişiler için yazıldığı için, DevTest tutarlı bir davranışa sahip değildir. Belirli bir derlemede ne yaptığı, onu en son değiştiren geliştiricilerin neyi ayıkladığına tamamen bağlıdır ve bu, sürümler arasında veya aynı sürümün iki derlemesi arasında bile değişebilir.

Çoğu zaman, DevTest modül listesinde ya hiçbir şey yapmayan ya da kimsenin etiketlemeye yeltendiği bir yer tutucu olarak bulunur. Bu, bir QA aşamasından geçmiş bir "TODO: yayın öncesinde kaldır" yorumunun programlama karşılığıdır.

DevTest Nasıl Çalışır?

DevTest, bunun amacı asla oyuncuya yönelik sabit bir işlevsellik sağlamak olmadığı için, sabit bir oyuncuyla etkileşimli işlevi yoktur. Geliştiriciler, modülü üzerinde çalıştıkları şeye bağlarlar: yeni bir render yolu, bir paket işleyici, hareket kodu veya istemciyi çökertmeden bir şeyin çalıştığını doğrulamak için sadece bir çalışma alanı.

İşte nedeni:

Çünkü genellikle yıpranmış bir şekilde gönderilme eğilimindedir. Ayarlar yok, boş bir açıklama veya gerçek bir modül kendini açıklayacağı yerde yer tutucu metin. Yayın yapısında etkinleştirildiğinde hiçbir şey yapmayabilir. Geliştiricilerin göndermeden önce kaldırmayı unuttukları herhangi bir test kodunu da çalıştırabilir.

Müşteri geliştiricileri, test ettikleri şeylerin çoğunun yalnızca gerçek bir sunucuya karşı doğru şekilde çalıştığı, bir sandbox'a karşı değil, bu tür bir modül yuvasına güvenirler. Çalışan istemci içindeki hızlı bir açma/kapama anahtarı, her deney için ayrı bir derleme oluşturmaktan daha iyidir. İstemci gönderildiğinde, yuva bazen listede kalır çünkü kaldırmak ek iş demektir veya ekibin yine de bir sonraki geliştirme döngüsünde yeniden kullanmayı planladığı için.

Neden var?

Çoğu istemci çalışması gerçek sunuculara karşı yapılır. Yeni bir hareket modülünü veya bir render hook'unu test etmek, kodu yükleyip çalışıp çalışmadığını ummak yerine, gerçek anticheat kontrollerine ve gerçek oyuncu davranışına nasıl tepki verdiğini görmeyi gerektirir. DevTest işte tam da bunun için bir yuva. Geliştiriciler onu aktif olarak oluşturdukları şeye bağlar, istemciyi başlatır ve canlı bir sunucuya karşı test eder.

Derleme gönderildiğinde, DevTest ya temizlenir ya da bir sonraki test döngüsü için yerinde bırakılır çünkü kaldırmak, bir sonraki hafta yeniden eklemek ve yeniden yapılandırmak yerine onu olduğu gibi bırakmak daha hızlıdır.

Kullanmak güvenli mi

Burada tek bir cevap yok, çünkü DevTest tek bir özellik veya tek bir davranış değil, bir yer tutucu. Eğer derlemenizde etkisizse, onu etkinleştirmek hiçbir şey yapmaz ve diğer kullanılmayan ayarlardan daha fazla risk taşımaz. Eğer paket manipülasyonu veya yarım kalmış bir hareket hilesi gibi bir şey için kod testine bağlıysa, etkinleştirmek gerçek bir sunucunun anticheat'ına karşı test edilmemiş bir davranışı tetikleyebilir, çünkü gerçek bir maçta çalışması amaçlanmamıştı.

Etiketlenmemiş bir geliştirici modülünü öngörülemez olarak ele alın. Zararsız, ölü bir geçiş olduğunu varsaymayın ve gizli bir özellik olduğunu da varsaymayın. Ne yapması gerektiği belli olana kadar ne de ne de diğeri değildir.

Üretim müşterileri bunun yerine ne yapıyor

Tamamlanmış bir istemci, bir şeyler ifade eden adlara, yaptıklarıyla eşleşen açıklamalara ve etiketleriyle aynı şekilde davranan ayarlara sahip modüller gönderir. Bir özellik hazır değilse, bir derlemeye gönderilmez. Eğer gönderilirse, geliştiriciler ne yaptığını anladıkları ve belgelemesi için istekli oldukları için olur.

Sıkça Sorulan Sorular