Socket Plugin Connect Problem
#1

I'm preparing an client, I tested it on windows and it worked perfectly.

But when I switched to my Linux VPS ubuntu, the server simply closes when using socket_connect

Code:

Код:
public OnPlayerConnect(playerid)
{
	new pIP[16];
	new string[32];

	bac_Socket[playerid] = socket_create(TCP);
        GetPlayerIp(playerid, pIP, sizeof(pIP));

	IsACConnected[playerid] = false;
	IsCheater[playerid] = false;
	UpdateNeeded[playerid] = false;

	format(string, sizeof(string), "connected |%d| ,%s,", playerid, CURRENT_VERSION); // azeite
    
	socket_connect(bac_Socket[playerid], pIP, 4000);
	socket_send(bac_Socket[playerid], string, sizeof(string));

	return 1;
}

public onSocketAnswer(Socket:id, data[], data_len)
{
	new playerid;
	new output[4][512];
	new md5Hash[512];

	explode(output, data, "'"); // template: [ playerid'status'UID'md5Hash ]

	playerid = strval(output[0]);
	md5Hash = output[3];

	if(strfind(output[1], "secure", true) != -1)
	{
		playerid = strval(output[0]);
	    IsACConnected[playerid] = true;
	}
	else if(strfind(output[1], "cheater", true) != -1)
	{
		SendClientMessage(playerid, ANTICHEATER_COLOR, "[BrasilianZ Anti-Cheater]: {FFFFFF}Vocк foi kickado do servidor. Motivo: Arquivos suspeitos foram detectados.");
	    return SetTimerEx("KickP", 1500, false, "i", playerid);
	}
	else if(strfind(output[1], "off", true) != -1)
	{
	    IsACConnected[playerid] = false;
	}
	else if(strfind(output[1], "online", true) != -1)
	{
	    IsACConnected[playerid] = true;
	}
	else if(strfind(output[1], "updateneed", true) != -1)
	{
	    IsACConnected[playerid] = true;
	    UpdateNeeded[playerid] = true;
	}
	else
	{
	    IsACConnected[playerid] = false;
	}

	if(strcmp(SERVER_MD5HASH, md5Hash))
	{
		SendClientMessage(playerid, ANTICHEATER_COLOR, "[BrasilianZ Anti-Cheater]: {FFFFFF}Seu Cliente Anti-Cheater foi modificado.");
	    return SetTimerEx("KickP", 1500, false, "i", playerid);
	}

	return 1;
}
Result:
Server log:

Код:
socket_connect(): Socket ID 0 has failed to connect.
I believe it happened because port 4000(TCP/UDP) is not released on Linux. If that is the problem, please tell me how to release it.

> sorry my bad english
Reply
#2

UP UP
Reply
#3

socket such a funny word
like a sock and pocket
Reply
#4

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)