Author Topic: Blocking Silent Connections  (Read 3392 times)

Due to the problem with silent connections, I have been trying to figure out just how Badspot's server blocks them. I need to give this to someone so she isn't being eavesdropped by hidden connections. I already know how to tell a connection is silent connected, but I need a way to block it completely from connecting.

Apparently, the silent connections aren't calling autoAdminCheck. I've been told onConnectionRequest is blocked. I can't test because, currently, my internet is messed up where I can't host. Does anyone know a place in the code where a pure connection, without client, can be stopped before reading into the server?

For instance, what's the command for the password check?
« Last Edit: August 27, 2010, 02:39:14 PM by MegaScientifical »

GameConnection::onConnectRequest isn't blocked and is called by the "silent connections".

GameConnection::onConnectRequest isn't blocked and is called by the "silent connections".

Code: [Select]
function GameConnection::onConnectRequest( %client, %netAddress, %name )
{
   Echo("Connect request from: " @ %netAddress);
   if($Server::PlayerCount >= $pref::Server::MaxPlayers)
      return "CR_SERVERFULL";
   return "";
}

Syntax for the default command. This also functions like password checks? I'm curious how to adapt this with the check and all, considering how it seems to work from this command. And, as I said, I can't host to check this myself.

By this logic, I'd assume he just made a "CR_BADARGS" return in there for no name. Not taking advantage of the simple block method or something.

Edit:

Code: [Select]
package NoSilent {
function GameConnection::onConnectionRequest(%this, %netAddress, %name) {
if(%this.CheckCommand()) {
echo("\c2Silent Connection Blocked: " @ %netAddress);
return "CR_BADARGS";
}
return Parent::onConnectionRequest(%this, %netAddress, %name);
}
};
activatePackage(NoSilent);

Like that?
« Last Edit: August 27, 2010, 03:00:22 PM by MegaScientifical »

Code: [Select]
package NoSilent {
function GameConnection::onConnectRequest(%this, %netAddress, %lanName, %netName, %prefix, %suffix, %int) {
if(%this.CheckCommand()) {
echo("\c2Silent Connection Blocked: " @ %netAddress);
return "CR_SILENT";
}
return Parent::onConnectRequest(%this, %netAddress, %lanName, %netName, %prefix, %suffix, %int);
}
};
activatePackage(NoSilent);

Like that?

What is a "silent connection"?

What is a "silent connection"?
I believe it's where you connect to the server, and can see the chat. It doesn't let you download files or actually play, and it doesn't show you logged in.

What is a "silent connection"?
I believe it's when you're attempting to connect ("sending punch packet", "sending challenge request", etc).

Oh, silly Megascience.

He was spying on our chat because he was banned from Eksi's server and Eksi just kept deleting his client.

Oh, silly Megascience.

He was spying on our chat because he was banned from Eksi's server and Eksi just kept deleting his client.
I remember I did that first at Eksi's server when his name was still xC and it actually made a client on the playerlist with a BL_ID of 0.

I was on a server with a BL_ID in the player list of -1

It was weird. I think I screenshotted it.

I was on a server with a BL_ID in the player list of -1

It was weird. I think I screenshotted it.
That's not weird at all.

Quite normal, actually.

That's not weird at all.

Quite normal, actually.
First time I ever saw it, but in the strange world you live in, it probably happens all the time.

Just kidding Kalphiter lol

It's using a simpler, yet actually default to Torque, type of connection to join a server. The most you can do is listen in on the chat since chat sends to all connections, and not all clients. (Since the connection doesn't make a client.)

I won't give any specifics, I don't want you guys spamming it. I only want a block for it since Slick likes to stalk my friend with it.

you can also join passworded servers that you want to spy on that your friend gave you the password too :D