Yere GM'lerin item Atmasını Engelleme CONFIG ayarlı

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba arkadaşlar fırsat buldukça sistemleri sistemleri paylaşmaya çalışıyorum.
GM yere item atma Engelleme nasıl yapılır onu ögreneceğiz hemde CONFIG'den Aç/Kapa Şeklinde.

Hemen Kuruluma Geçelim.

Game/src/config.cpp Açın ve Aratın;

int gPlayerMaxLevel = 99;
Altına Ekleyin;

int gmyereitematamaz = 0;
Son Hali;



Aratın;

TOKEN("max_level") {
str_to_number(gPlayerMaxLevel, value_string);


gPlayerMaxLevel = MINMAX(1, gPlayerMaxLevel, PLAYER_MAX_LEVEL_CONST);


fprintf(stderr, "PLAYER_MAX_LEVEL: %d\n", gPlayerMaxLevel);
}
Altına Ekleyin;

TOKEN("GM_YERE_ITEM_ATAMAZ") {
str_to_number(gmyereitematamaz, value_string);
printf("GM_YERE_ITEM_ATAMAZ: 1\n");
continue;
}
Kodu Paste2'den almak için: TIKLAYIN ( )
Son Hali;



Game/src/config.h Açın ve Aratın;

extern int gPlayerMaxLevel;
Altına Ekleyin;

extern int gmyereitematamaz;
Son Hali;



Game/src/char_item_cpp Açın ve Aratın;

bool CHARACTER::DropItem(TItemPos Cell, BYTE bCount){
LPITEM item = NULL;
Altına Ekleyin;

if (gmyereitematamaz == 1) {
if (GetGMLevel() > GM_PLAYER)
{
ChatPacket(CHAT_TYPE_INFO, "|cFFff0000|H|h<Hata> GameMaster yere item atamaz.");
return false;
}
}
Kodu Paste2'den Almak için; TIKLAYIN ( )
Son Hali;



son olarak
channel1, channel2, channel3, channel4, game99 içindeki CONFIG dosyasının alt kısmına ekleyin

gm_yere_item_atamaz: 1

0 kapatır 1 açar​

Yere GM'lerin Item Atmasını Engelleme CONFIG Ayarları

Metin2 özel sunucularında güvenlik ve dengeli oyun deneyimi sağlamak adına birçok yapılandırma ayarı önemlidir. Bu ayarlardan biri de GM (Game Master) yetkililerinin oyun içi item atma davranışlarını kontrol etmektir. Özellikle PvP sunucularda GM'lerin yere item bırakması, oyun içi ekonomiyi bozabilecek veya hile olarak değerlendirilebilecek durumlara neden olabilir. Bu nedenle, GM'lerin yere item atmasını engellemek için bazı CONFIG ayarlarını düzenlemek gerekir.

CONFIG Dosyası Nedir?

Metin2 sunucu yapılandırmasında önemli bir yeri olan CONFIG dosyası, sunucu davranışlarını belirleyen anahtar ayarları içerir. Genellikle game/src/common/defines.h veya game/src/client_pack/setting.py gibi dosyalarda tanımlanan bu ayarlar, oyun içi kuralları belirler. Sunucu derlenirken bu ayarlar aktif hale gelir ve oyun davranışlarını yönlendirir.

Item Bırakma Ayarlarının Kontrolü

Birçok Metin2 özel sunucusu, geliştiriciler tarafından özelleştirilmiş kaynak koda sahiptir. Bu kaynak kodlarda GM komutları ve yetkileri genellikle C++ veya Python ile yazılmıştır. Yere item bırakma işlemi genellikle /drop komutuyla yapılır. Bu komutu devre dışı bırakmak veya sadece belirli yetkililerin kullanabilmesini sağlamak mümkündür.

CONFIG Ayarları Nasıl Yapılır?

1. defines.h veya Ayar Dosyasında Ayarlar:

#define ENABLE_GM_DROP_ITEM gibi bir tanım varsa, bu değeri false yaparak GM'lerin yere item bırakmasını engelleyebilirsiniz. Eğer bu tanım yoksa, doğrudan C++ kaynak kodda DropItem() fonksiyonuna yetki kontrolü eklenebilir.

2. Python Script Tarafında Ayar:

Py ROOT dosyalarında, genellikle game.py veya command.py dosyalarında, CMD_DROP komutuna yetki kontrolü getirebilirsiniz. Örneğin:

if player.GetStatus() < ADMIN_LEVEL:
chat.AppendChat(1, 'Bu komutu kullanma yetkiniz yok.')

Bu şekilde, sadece belirli yetki seviyesindeki kullanıcılar drop komutunu kullanabilir.

Sunucu Derleme ve Aktif Etme

CONFIG ayarlarını yaptıktan sonra, sunucuyu yeniden derlemeniz gerekir. Game server ve auth server yapılandırılmışsa, derleme işlemi tamamlandıktan sonra server_info.lua ve diğer yapılandırma dosyalarıyla birlikte çalışır. Derleme işlemi sırasında hata oluşmaması için tüm dosya yollarının doğru olduğundan emin olun.

Sonuç

Metin2 özel sunucularında güvenliği artırmak ve hile riskini azaltmak için GM yetkilerinin sınırlı tutulması çok önemlidir. Yere item atma yetkisinin kontrol altına alınması, oyun içi dengenin korunmasına yardımcı olur. Metin2Lobby olarak, bu tür yapılandırma ayarlarıyla ilgili daha fazla örnek ve kaynak kod paylaşımı yapmaya devam ediyoruz.



How to Configure Settings to Prevent GMs from Dropping Items on Ground

In private Metin2 servers, many configuration settings are crucial for ensuring security and balanced gameplay. One such setting involves controlling how GM (Game Master) staff can drop items within the game. In PvP-focused servers, allowing GMs to drop items on the ground might lead to economic imbalances or be perceived as cheating. Therefore, adjusting certain CONFIG settings to prevent GMs from dropping items on the ground is necessary.

What is a CONFIG File?

The CONFIG file holds significant importance in Metin2 server configurations, as it contains key parameters that define server behavior. These settings are typically defined in files like game/src/common/defines.h or game/src/client_pack/setting.py. When the server is compiled, these settings become active and shape in-game rules.

Controlling Item Drop Permissions

Many private Metin2 servers use custom-coded source code. In such codebases, GM commands and permissions are usually written in C++ or Python. The action of dropping an item on the ground is often executed via the /drop command. It's possible to disable this command entirely or restrict its usage to specific roles only.

How to Configure These Settings?

1. Settings in defines.h or Similar Config Files:

If a definition like #define ENABLE_GM_DROP_ITEM exists, you can set it to false to prevent GMs from dropping items. If not available, you can add permission checks directly into the DropItem() function in the C++ source code.

2. Python Script-Side Configuration:

Within Py ROOT files, usually in game.py or command.py, you can apply permission checks to the CMD_DROP command. For example:

if player.GetStatus() < ADMIN_LEVEL:
chat.AppendChat(1, 'You do not have permission to use this command.')

This ensures only users with a certain privilege level can execute the drop command.

Recompiling and Activating Server

After making the CONFIG adjustments, you must recompile your server. If both the game server and auth server are properly configured, once compilation completes, the settings will work in conjunction with files like server_info.lua. Ensure all file paths are correct to avoid errors during compilation.

Conclusion

To enhance security and reduce cheating risks in private Metin2 servers, limiting GM privileges is highly important. Controlling item drop permissions helps maintain in-game balance. At Metin2Lobby, we continue to provide more examples and source code related to such configuration settings.
 

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

Geri
Üst Alt