Jump to content
Sign in to follow this  
Tajin

Getting the IP of a connected client?

Recommended Posts

I haven't seen anything like that so far. :j:

Does anyone know of a good way to find out the ip of a player connected to the server?

I was thinking of using that to identify which players on the server are also on teamspeak, without having to rely on name-comparison.

Share this post


Link to post
Share on other sites
I haven't seen anything like that so far. :j:

Does anyone know of a good way to find out the ip of a player connected to the server?

I was thinking of using that to identify which players on the server are also on teamspeak, without having to rely on name-comparison.

You could call a extension that retrieves the ip. Though every player has to have this extension on their computer.

Share this post


Link to post
Share on other sites

I know, but the GUID would be of no use in Teamspeak.

Shouldn't a server-side extension be able to fetch the ips of connected clients?

I'd rather avoid any client-side requirments.

Share this post


Link to post
Share on other sites
I know, but the GUID would be of no use in Teamspeak.

Yeah, i read the question wrong. Anyway, as i said. Write a extension that retrieves the ipadress and return the result into the game.

Shouldn't a server-side extension be able to fetch the ips of connected clients?

I'd rather avoid any client-side requirments.

Maye you could listen on the arma ports or smth.

Share this post


Link to post
Share on other sites

Hmm interesting.

It's not what I initially had in mind, but meanwhile I came up with a different solution.:

I should be able to open a BErcon connection via PHP and fetch the playerlist (with IPs) from there.

I don't know much about extensions, so I guess I'll try that first.

Share this post


Link to post
Share on other sites
I know, but the GUID would be of no use in Teamspeak.

Shouldn't a server-side extension be able to fetch the ips of connected clients?

I'd rather avoid any client-side requirments.

You could create an extension that is called onPlayerConnected that parses the logs for their name or playerid and returns the IP address.

Either way with communicating with Teamspeak it will get tricky.

Share this post


Link to post
Share on other sites
You could create an extension that is called onPlayerConnected that parses the logs for their name or playerid and returns the IP address.

Either way with communicating with Teamspeak it will get tricky.

So the arma3server also logs the ip of each clients that connects?

I think Teamspeak has a SDK that can be used for the communication.

Share this post


Link to post
Share on other sites
So the arma3server also logs the ip of each clients that connects?

I think Teamspeak has a SDK that can be used for the communication.

Logged by both arma and battleye.

When a client connects to the server it outprints 4-5 lines of information which will include their player id, name, ip and guid.

Share this post


Link to post
Share on other sites
Logged by both arma and battleye.

When a client connects to the server it outprints 4-5 lines of information which will include their player id, name, ip and guid.

I see. Then your approach might be better.

Share this post


Link to post
Share on other sites

I might be wrong but I think the regular rpt only contains the ID but not the IP.

I thought about filtering the logs too, but it seemed a bit slow and unreliable.

Anyway, using BErcon to get the playerlist directly from BattleEye works like a charm.

My php script first fetches the playerlist from BE, checks if a certain name is present. If that is the case, it starts a serverquery with teamspeak and checks if the player-IP from BE is in the list of clients.

So right now im using the url-fetch.dll from killzonekid for that and it works ok.

Someone smarter than me could probably combine all that in one extension, skipping the whole php-part.

Share this post


Link to post
Share on other sites
I might be wrong but I think the regular rpt only contains the ID but not the IP.

I thought about filtering the logs too, but it seemed a bit slow and unreliable.

Anyway, using BErcon to get the playerlist directly from BattleEye works like a charm.

My php script first fetches the playerlist from BE, checks if a certain name is present. If that is the case, it starts a serverquery with teamspeak and checks if the player-IP from BE is in the list of clients.

So right now im using the url-fetch.dll from killzonekid for that and it works ok.

Someone smarter than me could probably combine all that in one extension, skipping the whole php-part.

Ah, you were right. They must of changed that in the past 5 months or so. I was just going to suggest using Battleye.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×