[FilterScript] [R.P.S] Rcon Protection System (/rSenha) [/rcon login = kick]
#1

Eu e um amigo meu aqui de Portugal pensamos em abrir um servidor de samp, eu iria ser o scripter/dono do servidor e ele iria pagar o host apenas.
Comecei a desenvolver o gamemode e a fazer tudo o que me competia, e com tanta gente aн a dizer que estгo a sofrer ataques aos servidores (alguns deles logam-se na rcon e banem o pessoal dos servidores, ...) eu fiz este sistema para kickar quem usar (/rcon login ...).
Mas tambйm, vбrias pessoas precisam do sistema de rcon, entгo criei um comando que й colocado no gamemode que loga o jogador na Rcon.
Lembrando, a senha que tiver na rcon no server.cfg deve coincidir com a senha que colocar no sistema /rSenha.

pawn Код:
/*
                  _ ____        _____          __  __
                 (_)  _ \ ___  |_   _|__  __ _|  \/  |
                 | | |_) / __|   | |/ _ \/ _` | |\/| |
                 | |  __/\__ \   | |  __/ (_| | |  | |
                 |_|_|   |___/   |_|\___|\__,_|_|  |_|

                  • Inteliggent Programming Style •
                   [R.P.S] Rcon Protection System

                        Funcionalidades:
         - Para se logar na rcon, use /rSenha [senha]
                   - /rcon login desativado;
*/


//Includes
#include <a_samp>

//Defines
#define Vermelho (0xEE0000FF)
#define Branco   (0xFFFFFFFF)

//News
enum jInformacoes
{
   jNome[24],
}
new jInfo[MAX_PLAYERS][jInformacoes];

//Calbacks
public OnPlayerConnect(playerid)
{
   GetPlayerName(playerid, jInfo[playerid][jNome], 22);
   return true;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
new rps[256], idx;
if(!strcmp(cmdtext, "/rcon", true))
{
   rps = strtok(cmdtext, idx);
   if(!strlen(rps)) return SendClientMessage(playerid, Vermelho, "[R.P.S] RCON desativada!");
   if(strcmp(rps, "login", true) == 0)
   {
      SendClientMessage(playerid, Vermelho, "[R.P.S] Vocк foi kickado por tentar logar-se na RCON!");
      Kick(playerid);
      return true;
   }
   return true;
}

if(!strcmp(cmdtext, "/rSenha", true))
{
   rps = strtok(cmdtext, idx);
   if(!strlen(rps)) return SendClientMessage(playerid, Branco, "Use: /rSenha [Senha]");
   if(strcmp(rps, "5541236", true) == 0) //5541236 substitua pela sua senha RCON (que estб configurada no server.cfg)
   {
      SendRconCommand("login 5541236"); //5541236 substitua pela sua senha RCON (que estб configurada no server.cfg)
      SendClientMessage(playerid, Branco, "[R.P.S] Vocк logou-se como Administrador RCON");
   }
   else
   {
      SendClientMessage(playerid, Vermelho, "[R.P.S] Senha errada!");
   }
   return true;
}

return false;
}

strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}
P: Como altero a senha no sistema?
R: Procure por:
pawn Код:
if(strcmp(rps, "5541236", true) == 0)
SendRconCommand("login 5541236");
Altere o 5541236 pela senha desejada.

Hб uns dias apenas testei o /rSenha, nгo testei o /rcon login porque meu samp estб com uns problemas :/
Mas se encontrarem qualquer tipo de bug, avisem-me!
O sistema й muito simples, mas tambйm eficaz (:

Agradecimentos: Kn1f3 por me ter dado uma luz (:
[iPs]Team
Reply
#2

Sistema Simples e Util..
Reply
#3

Nem funcionou.
Reply
#4

Quote:
Originally Posted by [Ips]Guh
Посмотреть сообщение
Sistema Simples e Util..
gostei tambйm,muito util ,parabйns.
Reply
#5

o Que Acham de :

pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
     SendClientMessage(playerid, 0xFFFFAAAA, " O Rcon Foi Desativado, Й Vocк Foi Kickado"); return Kick(playerid);
}
*- * O MELHOR CODE DO BRASIL !

Pelo Menos Ninguem Hackeia , Sou foda.
Reply
#6

Nгo Jonathan..You Fail !!
Assim nгo terб como utilizar os comandos de Rcon, com o sistema do digo vocк irб logar na rcon sem "logar" na rcon(/rcon login).
Entretanto no momento em que vocк posta isso aqui alguйm jб vai saber que existe outra forma e caso tentem e nгo consigam pelo rcon login jб vгo tentar desta forma !!
Por isto й recomendбvel que em cada mode o proprietбrio edite completamente as mensagens e o comando..
Reply
#7

Quem Disse que й ?

Eu disse : Pelo Menos Ninguem Hackeia.

Nгo Disse Que ia Utilizar os Comandos de Rcon.
Reply
#8

Coloquei agradecimentos, tinha-me esquecido
Reply
#9

Eu ainda acho mais eficaz um sistema de colocar nicks definidos a acessar a RCON, caso o manolo consiga se logar na RCON e seu nick nгo estiver na lista dos definidos retornar em um banimento, muito melhor e assim seria 100% sem riscos.
Reply
#10

Quote:
Originally Posted by [Ips]Guh
Посмотреть сообщение
SerбббMais mesmo assim..para que uma discussao dessas por 4 Linhas
Quem estб discutindo ? O.o


Quote:
Originally Posted by Jonathan_Feitosa
Посмотреть сообщение
Quem Disse que й ?

Eu disse : Pelo Menos Ninguem Hackeia. Sou Foda

Nгo Disse Que ia Utilizar os Comandos de Rcon.
Nгo disse que vocк iria utilizar os comandos Rcon em momento algum, disse que desta forma anularia todos os comandos, o que nгo й o objetivo deste FilterScript, ele apenas impede o /rcon login !!
Leia atentemente que vocк verб o que eu realmente quis dizer.

Atenciosamente,
Falcon.
Reply
#11

Mano Nгo Estamos Brigando й Sim Discutindo..

Esse FS Estб Completamente Bugado, Eu ( e luxurion) Entra com a Senha do server.cfg й Pega *- *

Vamos Parar de Off Topic.
Reply
#12

ta errado, й tipo assim. os comandos tem uma hierarquia, tipo Rcon primeiro, GM depois, num vai funfa.
ъnico jeito de bloquear a rcon pelo que eu saiba, й na public OnRconLoginAttempt.
Reply
#13

  • Nгo da para se redefinir um comando RCON. (Apagб-lo)
  • Para "desativar a RCON de vez" apenas coloque "rcon 0" em seu arquivo "server.cfg"
  • E, sim, o mйtodo mais simples й apenas definir um nъmero de tentativas de login RCON. (Ou, esqueceram que й possнvel tentar logar RCON antes de entrar no servidor?, qual a diferenзa?)
  • Usar comandos para fazer isso de login Rcon nгo й muito apropriado. (Tal que esta funзгo nгo existe em SA-MP) .
  • RCON й PRЙ-Definida, ela vem PRIMEIRO, nгo depois!
  • Em questгo de seguranзa, concordo, em parte, com [S]trong.
Exemplo (Wiki):
pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
    if(!success)
    {
        new
            IP[ 16 ]
        ;
        for( new i = 0; i < MAX_PLAYERS; i++ )
        {
            GetPlayerIp( i, IP, sizeof IP );
            if( !strcmp( ip, IP , true ) )
            {
                SendClientMessage(i, -1, "RCON: Senha Invбlida!");
                SetPVarInt( i, "Tentativas", GetPVarInt( i, "Tentativas" ) + 1);
               
                if( GetPVarInt( i, "Tentativas" ) == 1 )
                return Kick(i);
            }
        }
    }
    return 1;
}
Se, concorda com meu ponto de vista ou nгo, fique para vocк! Nгo й necessбrio responder a essa mensagem. Jб basta as "construtivas/criativas/pacнficas" (Кnfase nas aspas) mensagens acima.



SAMP Wiki - RCON

SA-MP Wiki - Query_Mechanism LEIA
Reply
#14

Entendi LuxurioN, irei ler.
Reply
#15

Quote:
Originally Posted by [S]trong
Посмотреть сообщение
Eu ainda acho mais eficaz um sistema de colocar nicks definidos a acessar a RCON, caso o manolo consiga se logar na RCON e seu nick nгo estiver na lista dos definidos retornar em um banimento, muito melhor e assim seria 100% sem riscos.
Sim... Todo meu sistema de admin й por nomes definidos... e tudo possui senha

---
Foi atй bem pensado, porйm, como o jб foi dito, hб possibilidade de logar na RCON sem entrar no gamemode...
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)