[Tool/Web/Other] [SAMP RCON] - Controle seu servidor а distвncia
#1

SAMP-RCON v.2.0
Hoje vos trago mais uma aplicaзгo em C#, porйm dessa vez trabalhando com sockets.

Antes de mais nada quero frisar que este й meu primeiro contato com sockets e, por isso, pode ter pontos a melhorar, mas o sistema estб funcional e estбvel.

O programa envia e recebe atravйs de threads e de forma assнncrona.

Nгo vou trabalhar a seguranзa de forma robusta, pois a conexгo ocorre de forma privada, obviamente. Somente os envolvidos no servidor terгo acesso ao programa.


Seguranзa:
Obviamente eu tinha que limitar o nъmero de tentativas para evitar um possнvel flood e bloquear caso ocorra muitas tentativas.
Код:
#define MAX_LOGIN_ATTEMPTS					(5)
#define BLOCK_LISTEN_DELAY					(5) // Minuto(s)
MAX_LOGIN_ATTEMPTS = Nъmero mбximo de tentativas. Caso exceda o limite, a conexгo se torna invбlida e impossнvel de conectar (temporariamente).
BLOCK_LISTEN_DELAY = Tempo (em minutos) que a conexгo ficarб inativa em caso de muitas tentativas falhas.
Configuraзгo:
Include:
Код:
#define SOCKET_SEND_PORT					(5001)
#define SOCKET_RECEIVE_PORT					(5002)
Programa:
Код:
private Int16 portReceive = 5001;
private Int16 portSend = 5002;
Nгo confundam!!!
Se repararem nas portas elas estгo invertidas, mas na verdade estб correto jб que a conexгo ocorre da seguinte forma:
SOCKET_SEND_PORT (5001) >>> portReceive (5001) ~~~~~~> O socket da include envia os bytes para o programa e o mesmo os recebe e realiza a conversгo.
portSend (5002) >>> SOCKET_RECEIVE_PORT (5002) ~~~~~~> O socket do programa envia os bytes (convertidos posteriormente no plugin) para a include.
Funзхes:
Код:
public OnSRconCmdReceived(cmd[], id, args[])
Essa callback й chamada sempre que o cliente envia dados ao servidor.
Cada parвmetro corresponde a um campo de texto (como mostrado na screenshot abaixo).

Parвmetros:
cmd: Comando que serб enviado ao servidor. (campo obrigatуrio / mнnimo 1 caractere)
id: ID relacionado ao comando. (campo opcional / em caso de campo nulo o valor retornado й -1)
args: Campo adicional para demais argumentos. (campo opcional / em caso de campo nulo o valor й... nulo)


Код:
stock SRCON_SendSocketData(data[100])
Funзгo que envia dados ao cliente.

Parвmetro:
data: Informaзхes a serem enviadas ao cliente. (mбx. 100 caracteres)

Screenshot:





Download:
SAMP RCON + Include


Changelog:
Код:
	[07/05/2018]
		* Reformulaзгo do design.
		* Adicionado funзгo SRCON_SendSocketData para enviar dados ao cliente.
		* Caixa de texto colorida.
Crйditos:
F1N4L pelo programa;
BlueG pelo plugin socket;
SAMP Team.
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)