Bugün sizlere, /i gibi belirli komutların yalnızca izin verdiğim kullanıcılar tarafından çalıştırılmasını sağlayan sunucu taraflı yöntemimi tanıtmak istiyorum. Kendi araştırmalarım sonucunda bu konuda hazır bir çözüm bulamadığım için, tamamen kendi geliştirdiğim bir yöntemle bu sorunu çözdüm.
Eğitimimi tamamladıktan sonra oluşturduğum bu sistem sayesinde, belirlediğim komutları yalnızca izinli kullanıcılar kullanabiliyor. Bu, sunucumda yetkisiz erişimi önlememi ve güvenliği artırmamı sağladı.
Eğer siz de belirli komutların sadece belirli kişiler tarafından kullanılmasını istiyorsanız, bu yöntemi incelemenizi tavsiye ederim.
1. cmd_gm.cpp dosyasının başına tüm içerikleri ekledikten sonra şunu ekleyin:
static const char* kAUTHORIZED_EXECUTORS[] = {
"[DEV]Prupouse",
"Nume2",
nullptr
};
static bool IsAuthorizedExecutor(const char* name)
{
for (int i = 0; kAUTHORIZED_EXECUTORS[i]; ++i)
if (strcmp(name, kAUTHORIZED_EXECUTORS[i]) == 0)
return true;
return false;
}
Daha Çok Göster
2. cmd_gm.cpp'de istediğiniz herhangi bir komuta şunu ekleyin:
if (!IsAuthorizedExecutor(ch->GetName()))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Nu ai permisiune pentru comanda asta.");
return;
}
Yukarıdaki kodda herhangi bir "ACMD(do..) { " ifadesinden sonra, ilk { işaretinden sonra komutun başında olmalıdır, örnek:
ACMD(do_destroy_client)
{
if (!IsAuthorizedExecutor(ch->GetName()))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Nu ai permisiune pentru comanda asta.");
return;
}
Kendi Sunucularımda bunları her daim yaptım sizlerde yapmak isterseniz tavsiyemdir. İyi Forumlar dilerim.