User Compare Script

Corne

Member
Jan 12, 2016
39
4
40
Name of the script: Server Compare Script

Functions of the script: Hi Guys i have multiple Teamspeak servers and i would like to monitor/compare current online users across all my teamspeak servers

Why do you want it: I Have found that some users tend to create problems/trolling on the servers and would like to have it display on which teamspeak servers they are simultaneously. We most likely wont need to use login details to connect to the teamspeak servers as we can compare based on the uid. Also i would like to add as many teamspeak servers. As i get teamspeak servers id like to remove old servers and Add new servers when needed. I also feel this will assist us greatly by teaching us the ts hopping habits of users. I very simple interface for displaying the info would suffice.

Screenshots: I just drew something in excel but im sure anything that can do the job is good enough HERE

Original source (if any): none. Have been thinking about this for a while
Other notes: A Bonus will be if the online time and channel can be displayed.
Doing this in PHP will be ideal as is will only do the comparison when someone opens the PHP script in a browser

As Always thanks guys appreciate it
 
Last edited:

Kieran

Tag me
Contributor
Jan 1, 2016
459
286
122
I would be happy to help but I sadly don't have time for that at the moment.
Though, if somebody wants to do it and needs help/assistance because its too much work, I would also work on it a bit if they push it to github repo.
 

EscuderoKevin

Well-Known Member
Jul 2, 2015
380
181
130
Wait, do you like check alllllllllllllllll users uid ?

I think its not possible or good idea.

You need save all UID in all Servers and then compare ?

i have 1 server from 10 days , now i have 700 UIDS :/
 

Corne

Member
Jan 12, 2016
39
4
40
Well all online users

Lets say there are 7 servers, 20-40 per server
Wont be to bad. Im also running of a beefy server
 

Corne

Member
Jan 12, 2016
39
4
40
Id also suggest more than one Compare mechanism
Perhaps a site where you can sort by field as per my screenshot below.
In this example users are compared on multiple variables. This is due to the fact that users can have different names or use different IP`s ir have different DBID and UID`s.
If the comparison can be made and all data just populate the fields, I can manually sort by field and look for similarities.

Please see this link below

Keep in mind this is only for "Now online/currently Active" users. Perhaps we can base it of the 1st part of the script built by @Nicer HERE.

Regards
 

Corne

Member
Jan 12, 2016
39
4
40
Hi Guys have anyone had any ideas regarding my request perhaps?
 

Norvik

Retired Staff
Contributor
Jul 18, 2015
635
588
157
Hi Guys have anyone had any ideas regarding my request perhaps?
What kind of idea do you expect? A script like that can be achieved in about 20 minutes since you just gotta get a list of all clients of every sever and you simply check for similar stuff in them?
 

Corne

Member
Jan 12, 2016
39
4
40
Would you mind assisting with the script? I do not have development skills, thus the reason for asking assistance.
 
Last edited:

Corne

Member
Jan 12, 2016
39
4
40
Hi Guys, Have anyone perhaps had a chance to help out with this script yet?
 

XRV-Webix

Member
May 2, 2016
111
55
64
Hello @Corne. If you compare other fields than uid, you will end up putting 2-3 (or more) users on the same bag. And this is even more true if you compare different fields from different servers.
Take for example the username "Snake". I just checked my database and i got 18 entries with the username "Snake", Only 3 of them have the same uid (so it's the same person), the others 15 have different uid, and all data are different.
Half of them are even originated from arab speaking countries.

What you want will join all those 18 "profiles" into 1 which is wrong.
 

Corne

Member
Jan 12, 2016
39
4
40
Can the comparison be done per uid? Heep in mind all these servers all my own server so the DBID`s and UID`s will be different.
 

XRV-Webix

Member
May 2, 2016
111
55
64
You can compare by clid.
On a normal behavior, the clid should be the same for the same user on all servers. (unless the client creates a new identity).
 

Corne

Member
Jan 12, 2016
39
4
40
Which is fine but id also like to compare based on other criteria spesified "IP`s, DBID and UID`s, Name"

My suggestion would be this. Compare users based on more than one criteria. Combine results results on a table, and mark each matched criteria with perhaps a number (Could be any other type of mark) and lastly make the results filterable/arrangeble by field.
 

XRV-Webix

Member
May 2, 2016
111
55
64
@Corne, like i said before, that won't be accurate. You'll be matching different users to the same criteria.
The DBID and UID will be always different on different servers... so, no win there.
You can use the ClID to show you the different Names and IP's the user had and that's the most accurate data that you can get.
 

Corne

Member
Jan 12, 2016
39
4
40
That is the purpose of the script.
Together with matching up users purposely, i need to also match potential users as well.
Id like to catch/remove trollers which most likely DO NOT use exactly the same UID`s on each server but their IP`s might be the same across servers, OR they might use the same Identity with different names across the servers, OR they might use the same name with different Identities across the server.

We are not looking for a foolproof script. Just a simplified way of comparing the users currently online between server without having to open each server`s yatqa "Users" tab and comparing the users manually.
I do understand that there will be actual "Wrong and inaccurate" comparisons, which is fine. we can determine if they are indeed inaccurate by looking at all the info, or probably would not even be noticed if the users does not troll.

I am trying to develop my idea as to include possible comparisons that might yield results even if we cannot match it up with a current example.

Kind regards
 

XRV-Webix

Member
May 2, 2016
111
55
64
My suggestion (it's how i have my setup done), is to move your teamspeaks's database to MySQL and enable the data replication (master-master) on all servers.
This will bring you many benefits:
  • 1 database for all servers.
  • 1 table with all users.
  • You can see "in live" all the user's IP's and Nicknames.
  • You can ban at once the user from all servers.
  • Search and comparison on a MySQL database is 10.000x faster than using the Teamspeak query.
  • Easy development (actually, you don't even need to develop anything... Just run a MySQL instruction on PHPMyAdmin to get the necessary information).
 

Corne

Member
Jan 12, 2016
39
4
40
I see. Have no knowledge on doing any of this or migrating all the different DB`s into one but il do some research. If its possible.
Maybe that`s just to much for comparing some info. I appreciate your advise and solutions, thank you.
 
Top