Sunucumdaki Oyuncu Guid'siz Olduğu İçin Atamıyorum

Avatar

DionS

  • *
  • 86
İyi akşamlar sunucumdaki oyuncu bir şekilde key'siz girerek guid'siz olduğu için ban atamıyorum. Sadece rcon'dan kick atılabiliyor o da pek işe yaramıyor. Çözüm lazım. Şöyle birşey düşündüm mesela:

Kod: [Seç]
if(playerguid(player)=" ")
{
kick(player);
}

Bunun call of duty 4'ün kodlama diline dönüşmüş halini yapabilir miyiz? Yani oyuncu guid'siz ise atmasını istiyorum.

Call of Duty 4 Sunucudan Guid'siz Oyuncuyu Atmak
« Yanıtla #1 : 15 Şubat 2015, 23:56:44 »
Call of Duty 4 servere GUID'siz giren oyuncuları otomatik olarak sunucudan kicklemek mümkün. Bunun için Call of Duty 4/pb/pbsv.cfg dosyasında aşağıdaki komutu etkinleştirmek yeterli olacaktır. Call of Duty 4 PB klasöründe pbsv.cfg dosyanız yoksa oluşturunuz ve pb_sv_NoGuidGrace "1" değerini kontrol ederek CoD4 sunucuyu yeniden başlatınız.

Kod: [Seç]
pb_sv_NoGuidGrace "1"
// Default değer "1" saniyedir, oyuncunun anlayabilmesi maksadıyla gerekirse süresi artırılabilir.
// [Seconds to wait before No GUID kick]
// Holds the number of seconds PB will wait (default is 1) before kicking players who join without having a GUID; Refusing to enter a CDKey into the game causes the "no guid" condition.

İyi akşamlar sunucumdaki oyuncu bir şekilde key'siz girerek guid'siz olduğu için ban atamıyorum. Sadece rcon'dan kick atılabiliyor o da pek işe yaramıyor. Çözüm lazım. Şöyle birşey düşündüm mesela:

Kod: [Seç]
if(playerguid(player)=" ")
{
kick(player);
}

Bunun call of duty 4'ün kodlama diline dönüşmüş halini yapabilir miyiz? Yani oyuncu guid'siz ise atmasını istiyorum.

Avatar

DionS

  • *
  • 86
Ynt: Sunucumdaki Oyuncu Guid'siz Olduğu İçin Atamıyorum
« Yanıtla #2 : 16 Şubat 2015, 00:12:50 »
Pbsv.cfg 'de zaten pb_sv_NoGuidGrace "1" var. Sanırım bir hile kullanıyor nasıl engel olabiliriz ki?

Call of Duty 4 Manu Admin Mod Antiemptyguid Plugin
« Yanıtla #3 : 16 Şubat 2015, 01:05:03 »
Call of Duty 4 pb_sv_NoGuidGrace "1" komutunun çalışması gerek aslında, belki punkbuster servislerinde bir sorun vardır.

Manu admin mod üzerinde Call of Duty 4 sunuculara guid olmadan giren oyuncuları atmak için yöntem var mı diye araştırdım. Resmi sitesindeki forumda ya da download edilen modlar içerisinde mevcut bir plugin bulamadım. Malum, manu admin mod resmi sitesi oldukça büyük bir site iken sanırım yeniden yapılanma nedeniyle oldukça büyük veri kaybı yaşadı. Bu veri kaybından öncesinde kullanılan ama şu anki modlar içerisinde bulunmayan antiemptyguid.php plugin'i kullananlar mevcut yabancı sunucularda.

Manu admin mod 0.12 destekli antiemptyguid pluginini daha önce kullanmadım, o yüzden çalışıp çalışmadığını bilemiyorum. Antiemptyguid.php içeriği ile bu plugini config.cfg dosyası üzerinde aktive eden komutlar aşağıda. Php içerik üzerinde çalışılırsa son sürüm ManuAdminMod 1.0.0-Beta+7 sürümüne entegre edilebileceğini düşünüyorum.

Kod: [Seç]
[antiemptyguid]
enabled = 1
mode = "kick"
kickreason = "Empty GUID is not valid!"

Alıntı
// Call of Duty 4 Manu Admin Mod Antiemptyguid Plugin - antiemptyguid.php
<?php
$antiEmptyGuid = new AntiEmptyGuid();
 
// events and commands
$mod->registerEvent("playerJoined", "playerJoined", $antiEmptyGuid);
 
// default CVars
$mod->setDefaultCV("antiemptyguid", "enabled", 1);
$mod->setDefaultCV("antiemptyguid", "mode", "kick");
$mod->setDefaultCV("antiemptyguid", "kickreason", "Empty GUID is not valid!");
 
class AntiEmptyGuid {
 
        public function playerJoined ($guid)
        {
                global $mod;
                global $players;
               
                if (!$mod->getCV("antiemptyguid", "enabled"))
                {
                        return;
                }
               
                if (trim($guid) == "")
                {
                        switch ($mod->getCV("antiemptyguid", "mode"))
                        {
                                case "tempban":
                                        $players[$guid]->tempBan($mod->getCV("antiemptyguid", "kickreason"));
                                        break;
                                case "kick":
                                        $players[$guid]->kick($mod->getCV("antiemptyguid", "kickreason"));
                                        break;
                                case "ban":
                                        $players[$guid]->ban($mod->getCV("antiemptyguid", "kickreason"));
                                        break;
                        }
                }
        }
}
?>

Pbsv.cfg 'de zaten pb_sv_NoGuidGrace "1" var. Sanırım bir hile kullanıyor nasıl engel olabiliriz ki?

Avatar

DionS

  • *
  • 86
Ynt: Sunucumdaki Oyuncu Guid'siz Olduğu İçin Atamıyorum
« Yanıtla #4 : 16 Şubat 2015, 01:32:30 »
Bu kodları nasıl ve nerede çalıştıracağım açar mısınız biraz?

Call of Duty 4 Manu Admin Mod Guidcheck Plugin
« Yanıtla #5 : 16 Şubat 2015, 03:02:48 »
İçeriğinde yukarıdaki kodları bulunduran antiemptyguid adlı bir php dosyasını Manu admin mod v.0.12 beta scriptinin mod/plugins klasörüne attıktan sonra config.cfg dosyasından da antiemptyguid pluginini verdiğim komut ile etkinleştirip çalışıp çalışmadığını denemekten bahsetmiştim ama biraz önce Manu admin mod v.0.12 dosyalarını tekrar inceleyince guidchecks.php adlı bir pluginin mevcut olduğunu ve CoD4 guid numarasına sahip olmayan oyuncuların atılması için resmi sitesince yapıldığını farkettim. Call of Duty 4 guid numarasına sahip olmayan veya bozuk guidi bulunan ya da aynı guidi taşıyan oyuncuları tespit ettiğinde atmaya yarayan Manu admin mod komutları aşağıda. Bu komutlar config.cfg dosyasına yazıldığında çalışması gerek.

Kod: [Seç]
// Add to config.cfg
// Guidchecks Plugin
// Checks for PidChange [2 people with same guid] or for bad formed Guids [non hex chars / not 32 chars long]
[Guidchecks]
enabled = 1
kickpidchange = 1
checkvalid = 1

Son sürüm Manu admin mod mam_1.0.0-beta scriptini incelediğimde ise mod/configs/plugins/guidcheck.json dosyasının mevcut olduğunu yani bu versiyonda da guidcheck özelliğinin bulunduğunu gördüm. CoD4 guidcheck özelliğini etkinleştirmek için configs/config.json dosyasına komut yazılmasına gerek olup olmadığı, yazılacaksa hangi komutun yazılması gerektiği konusunda tam bir bilgim yok ama config.json dosyasındaki diğer komutları incelediğimde aşağıda renkli olarak işaretlediğim "guidchecks": true, komutunun Call of Duty 4 noguid kick özelliğini etkinleştireceğini tahmin ediyorum.

Alıntı
//mod/configs/plugins/guidcheck.json
{
    "guidchecks": {
        "enabled": true,
        "kickpidchange": true,
        "checkvalid": true
    }
}

Alıntı
//mod/configs/config.json
    "punishment": {
        "actions": [
            [0, "warn", {}],
            [3, "kill", {}],
            [5, "kick", {}],
            [10, "tempban", {
                    "time": 5
                }],
            [20, "tempban", {
                    "time": 20
                }],
            [50, "ban", {}]
        ],
        "announce": true,
        "defbanreason": "Banned by Admin",
        "defkickreason": "Kicked by Admin",
        "defkillreason": "Killed by Admin",
        "defwarnreason": "Warned by Admin",
        "deftempbandur": "5",
        "forcereason": false,
        "maxtempbandur": "1440",
        "pointsforwarn": 1,
        "punkbuster": true,
        "guidchecks": true,
        "savemode": "temp"
    },

Bu kodları nasıl ve nerede çalıştıracağım açar mısınız biraz?

Ynt: Sunucumdaki Oyuncu Guid'siz Olduğu İçin Atamıyorum
« Yanıtla #6 : 17 Şubat 2015, 02:45:44 »
Bu konu başlığına yazdığınız aşağıdaki alıntıdaki mesajınızı, farklı bir konuyu da içerdiği için Call of Duty 4 Servere Duplicate Nick İle Giren Oyuncuyu Atmak başlığıyla ayrı bir konu olarak açmak maksadıyla taşımıştım. Call of Duty 4 sunucudan GUID'siz oyuncuları atmak için önerdiğim hangi yöntemi kullanıp olumlu sonuç almıştınız?

İşe yaradı teşekkür ederim :) Bir de şeyi sormak istiyorum oyundaki birinin nickiyle geliyorlar atıyoruz ama zor oluyor. Onu engelleyebilir miyiz?

Avatar

DionS

  • *
  • 86
Ynt: Sunucumdaki Oyuncu Guid'siz Olduğu İçin Atamıyorum
« Yanıtla #7 : 17 Şubat 2015, 02:51:35 »
config.cfg'ye:

Kod: [Seç]
[antiemptyguid]
enabled = 1
mode = "kick"
kickreason = "Empty GUID is not valid!"

antiemptyguid.php'ye aşağıdakileri ekledim ve plugins klasörüne attım manuadminmod'da.

Alıntı
// Call of Duty 4 Manu Admin Mod Antiemptyguid Plugin - antiemptyguid.php
<?php
$antiEmptyGuid = new AntiEmptyGuid();
 
// events and commands
$mod->registerEvent("playerJoined", "playerJoined", $antiEmptyGuid);
 
// default CVars
$mod->setDefaultCV("antiemptyguid", "enabled", 1);
$mod->setDefaultCV("antiemptyguid", "mode", "kick");
$mod->setDefaultCV("antiemptyguid", "kickreason", "Empty GUID is not valid!");
 
class AntiEmptyGuid {
 
        public function playerJoined ($guid)
        {
                global $mod;
                global $players;
               
                if (!$mod->getCV("antiemptyguid", "enabled"))
                {
                        return;
                }
               
                if (trim($guid) == "")
                {
                        switch ($mod->getCV("antiemptyguid", "mode"))
                        {
                                case "tempban":
                                        $players[$guid]->tempBan($mod->getCV("antiemptyguid", "kickreason"));
                                        break;
                                case "kick":
                                        $players[$guid]->kick($mod->getCV("antiemptyguid", "kickreason"));
                                        break;
                                case "ban":
                                        $players[$guid]->ban($mod->getCV("antiemptyguid", "kickreason"));
                                        break;
                        }
                }
        }
}
?>
Bu konu başlığına yazdığınız aşağıdaki alıntıdaki mesajınızı, farklı bir konuyu da içerdiği için Call of Duty 4 Servere Duplicate Nick İle Giren Oyuncuyu Atmak başlığıyla ayrı bir konu olarak açmak maksadıyla taşımıştım. Call of Duty 4 sunucudan GUID'siz oyuncuları atmak için önerdiğim hangi yöntemi kullanıp olumlu sonuç almıştınız?