Skocz do zawartości
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek
Zaloguj się, aby obserwować  
Angel

Blokowanie graczy z darmową wersją gry

Polecane posty

Jako że CS jest darmowy i można na nim grać na serwerach społecznościowych to sporo banów dzisiaj poleciało....

Na alliedach znalazłem coś takiego, może się komuś przydać 😉

 

 

#pragma semicolon 1

#include <sourcemod>
#include <SteamWorks>

#define PLUGIN_VERSION "1.0.0"

public Plugin myinfo = {
    name        = "Free2BeKicked - CS:GO",
    author      = "Asher \"asherkin\" Baker, psychonic",
    description = "Automatically kicks non-premium players.",
    version     = PLUGIN_VERSION,
    url         = "http://limetech.org/"
};

public OnPluginStart()
{
    CreateConVar("anti_f2p_version", PLUGIN_VERSION, "Free2BeKicked", FCVAR_DONTRECORD|FCVAR_NOTIFY);
}

public void OnClientPostAdminCheck(int client)
{
    if (CheckCommandAccess(client, "BypassPremiumCheck", ADMFLAG_ROOT, true))
    {
        return;
    }
    
    if (k_EUserHasLicenseResultHasLicense != SteamWorks_HasLicenseForApp(client, 624820))
    {
        KickClient(client, "You need a paid CS:GO account to play on this server");
        return;
    }
    
    return;
}

źródło -> https://forums.alliedmods.net/showpost.php?p=2627229&amp;postcount=3
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

  • Lubię to! 2
  • Kocham to! 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 COMMUNITY SERVERS ]

– Added a setting “sv_prime_accounts_only”. When enabled, only prime accounts can connect to the game server.

  • Lubię to! 1
  • Kocham to! 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Poczytałem chwilę i to nie jest blokowanie graczy z "darmową wersją" gry. To sprawdza, czy dany gracz ma status Prime. W rezultacie każda osoba, która kupiła CS:GO przed F2P i nie dokupiła sobie statusu Prime, nie będzie mogła wejść na serwer. Nie wiem, czy o to nam chodzi.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak zakładałem wątek na alli o to mi chodziło aby gracze bez prima dostawali kicka, po za tym plugin już jest tak jak by nie aktualny

 

[ COMMUNITY SERVERS ]
– Added a setting “sv_prime_accounts_only”. When enabled, only prime accounts can connect to the game server.

Edytowano przez szogun

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Macie rację, teraz wszystko się będzie przez kilka dni zmieniać jak w kalejdoskopie, ale macie rację dodając ten CVAR Valve zrobiło ukłon w naszą stronę 😉

  • Lubię to! 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Co masz na myśli?
Szczerze powiedziawszy jeszcze go nie sprawdzałem, admini czuwają nad przebiegiem rozgrywki u mnie na serwerze

  • Lubię to! 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
3 minuty temu, Angel napisał:

Co masz na myśli?
Szczerze powiedziawszy jeszcze go nie sprawdzałem, admini czuwają nad przebiegiem rozgrywki u mnie na serwerze

Pomimo ustawienia u mnie nadal noprime wchodzi nawet mowa coś na allied że ten cvar nie działa więc coś w tym być musi

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ogólnie to plugin ma sens. Po dokładniejszej analizie stwierdzam, że wpuszcza on graczy nawet bez statusu Prime, ale z grą csgo w bibliotece, czyli wszystkich, którzy mieli csgo przed update`em do free to play. Taka opcja jest lepsza niż zwykły cvar, gdyż pozwala na dowolną reakcję. Właściciel w takim wypadku może kickować z konkretnym powodem, banować lub nawet wpuszczać graczy F2P, jeżeli mają określone przywileje(np. VIP`a).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie wiem czy tylko ja mam tak na swoim Serwerze czy wy też, ale po wgraniu pluginu, GOTV nie może wejść na Serwer, jest kickowane i uznawane, że nie ma statusu prime. Może ktoś podpowiedzieć co zrobić? 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
4 godziny temu, HOW?! napisał:

Nie wiem czy tylko ja mam tak na swoim Serwerze czy wy też, ale po wgraniu pluginu, GOTV nie może wejść na Serwer, jest kickowane i uznawane, że nie ma statusu prime. Może ktoś podpowiedzieć co zrobić? 

public void onclientpostadmincheck(int client)
{
    if (checkcommandaccess(client, "bypasspremiumcheck", admflag_root, true))
    {
		return;
    }
    if (!IsValidClient(client))
		return;
    if (k_euserhaslicenseresulthaslicense != steamworks_haslicenseforapp(client, 624820))
    {
        kickclient(client, "you need a paid cs:go account to play on this server");
        return;
    }
    
    return;
}

bool IsValidClient(int client)
{
    if (client <= 0 || client > MaxClients) {
        return false;
    }
   
    if (!IsClientInGame(client)) {
        return false;
    }
   
    if (IsFakeClient(client)) {
        return false;
    }
  
    return true;
}

 

Niby działa.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
#pragma semicolon 1

#include <sourcemod>
#include <SteamWorks>

#define PLUGIN_VERSION "1.0.0"

public Plugin myinfo = {
    name        = "Free2BeKicked - CS:GO",
    author      = "Asher \"asherkin\" Baker, psychonic",
    description = "Automatically kicks non-premium players.",
    version     = PLUGIN_VERSION,
    url         = "http://limetech.org/"
};

public OnPluginStart()
{
    CreateConVar("anti_f2p_version", PLUGIN_VERSION, "Free2BeKicked", FCVAR_DONTRECORD|FCVAR_NOTIFY);
}

public void onclientpostadmincheck(int client)
{
    if (checkcommandaccess(client, "bypasspremiumcheck", admflag_root, true))
    {
		return;
    }
    if (!IsValidClient(client))
		return;
    if (k_euserhaslicenseresulthaslicense != steamworks_haslicenseforapp(client, 624820))
    {
        kickclient(client, "you need a paid cs:go account to play on this server");
        return;
    }
    
    return;
}

bool IsValidClient(int client)
{
    if (client <= 0 || client > MaxClients) {
        return false;
    }
   
    if (!IsClientInGame(client)) {
        return false;
    }
   
    if (IsFakeClient(client)) {
        return false;
    }
  
    return true;
}

Czyli kod powinien wyglądać tak jak wyżej aby GOTV mogło wejść na Serwer, a gracze bez prime nie?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@HOW?! Ta.

Zmień sobie jeszcze

if (k_euserhaslicenseresulthaslicense != steamworks_haslicenseforapp(client, 624820))

Na

if (k_EUserHasLicenseResultDoesNotHaveLicense == SteamWorks_HasLicenseForApp(client, 624820))

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zawsze możesz użyć sv_prime_accounts_only po za tym plugin w żadne sposób nie wywala gotv musi być winny inny plugin

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
12 minut temu, szogun napisał:

Zawsze możesz użyć sv_prime_accounts_only po za tym plugin w żadne sposób nie wywala gotv musi być winny inny plugin

Wywala, plugin bierze GOTV jako gracza bez prime, sam tak u siebie miałem 😜

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
7 minut temu, Weak. napisał:

Wywala, plugin bierze GOTV jako gracza bez prime, sam tak u siebie miałem 😜

Ciekawe bo mam to samo u siebie i gotv non stop jest na serwerze

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się
Zaloguj się, aby obserwować  

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×