( search forums )
Nicks security based on IP-address
Soldat Forums - Soldat Talk - Developers Corner
Deleted User
July 16, 2005, 6:55 am
Well... i've mentioned about the idea in a neighbour topic and i don't know if the idea was realized before me.

The story is so far:
I wanted to make some stats for my Soldat servers (kills/deaths/rates...). But there was a problem - nicks security. i've decided to assign every nick a number of IP-addresses.

How it works?
Every player has his own account. Every account has a number of nicks (infinite). Every nick has a number of IPs (i've set the number of IPs to 3). Every nick has its own number of IPs but IPs can the same within one account. All of that is stored in the DB. Registering account, adding a nick, adding IPs to nick is available on web.
There is my script (i've called it 'probe') on server's side that is monitoring server's console for a 'has joined' string. When a player joins the game my 'probe' gets the list of players in the game and their IPs. Then it checks if the pair 'nick&IP' can be found in the DB. If it finds the pair it does nothing otherwise it kicks the player.
One more module is so called 'summary'-script. It reads the soldat-server's kill-logs and updates the DB.

It is possible to make statistics not only by nick but by account too. Whatever you can imagine :) The logs are very smart ;)

All of that is realized in PHP+MSSQL.

My working is beta can be found here (in Russian, sorry):
http://game.aaanet.ru/soldat/stat.php - server's online.
http://game.aaanet.ru/soldat/players.php - players stats.

I thinks that all of this was realized before but i had no time to seek for it (and learn how to use it). That's why i've wrote my own version. So if anybody needs it i can share my simple sources of PHP-code and MSSQL-functions for free.

[EDIT] I've forgotten to mention about firewall settings on our server. You will not be able to join my soldat-server because firewall lets only a few number of networks. But you can try to manage your account at http://game.aaanet.ru/soldat/account.php [/EDIT]

SERIAL KILLeR
July 16, 2005, 7:25 am
Isnt it the same like this http://www.soldatforums.com/topic.asp?topic_id=23199 ?

Deleted User
July 16, 2005, 7:48 am
quote:Originally posted by SERIAL KILLeRIsnt it the same like this http://www.soldatforums.com/topic.asp?topic_id=23199 ?


You see... My version of 'security' is for standalone servers and it does not require any additional clients for playing (except for browser ;)).

PS. I don't want to be the best or smth like that. If anybody likes it he can use it.

Deleted User
July 16, 2005, 8:05 am
Much like my NR-Service program, but its still very nice. I think NR is much more efficient though ;)

Deleted User
July 16, 2005, 10:15 am
quote:Originally posted by EnEsCeMuch like my NR-Service program, but its still very nice. I think NR is much more efficient though ;)

Well... I think so (efficient). But i'm working on adding custom commands for players :) For example if 'Soldier' says 'rate' server will output his rate (or kills, or deaths, or smth else). A la Counter-Strike :)

[EDIT]
I've added command '/stats' to my servers. When a player says '/stats' (via the key 'T') server says how many kills/deaths player has and kills/deaths rate.
[/EDIT]

[EDIT]
I've added command '/top' to my servers. When a player says '/top' server gives the list of top 5 players by kills/deaths rate.

And there is no firewall for soldat now.
[/EDIT]

Deleted User
July 19, 2005, 9:04 pm
wow nice script, from what i saw off the site its got some good stat features + ip protection, cant wait for a dl

grand_diablo
July 19, 2005, 9:12 pm
umh nick security based on IPs... wouldnt this be problematic for dynamic ips?

Deleted User
July 20, 2005, 7:29 am
quote:Originally posted by grand_diabloumh nick security based on IPs... wouldnt this be problematic for dynamic ips?

Yes... It will be... EnEsCe has a better solution in this case. But it is still not very hard to change your current IP via web.

"DL" will be available soon.

[EDIT]
Now it can restart soldat server with setting a game-mode you want (DM, CTF, etc...)
[/EDIT]

hock3y
July 26, 2005, 4:35 pm
quote:Originally posted by logrusquote:Originally posted by EnEsCeMuch like my NR-Service program, but its still very nice. I think NR is much more efficient though ;)

Well... I think so (efficient). But i'm working on adding custom commands for players :) For example if 'Soldier' says 'rate' server will output his rate (or kills, or deaths, or smth else). A la Counter-Strike :)

[EDIT]
I've added command '/stats' to my servers. When a player says '/stats' (via the key 'T') server says how many kills/deaths player has and kills/deaths rate.
[/EDIT]

[EDIT]
I've added command '/top' to my servers. When a player says '/top' server gives the list of top 5 players by kills/deaths rate.

And there is no firewall for soldat now.
[/EDIT]


The /stats and /top command sound very interesting and cool, I can't wait to see a download for this.

i am ahab
July 26, 2005, 4:44 pm
quote:
umh nick security based on IPs... wouldnt this be problematic for dynamic ips?

in essence, unless you actually go out of your way and pay extra for a static ip, then you get a dynamic ip by default. my point being that nearly everyones is actually dynamic, but most broadband connections appear to not be as most are always on and the only time a new ip can be given is on reconnect to yr isp....

what was EnEsCe's creative solution to this? just curious.... not wanting to pick holes or anything.


FliesLikeABrick
July 26, 2005, 7:31 pm
not true ahab, many dsl customers' IPs change without intentionally reconnecting to the network, some even use something similar to proxying, similar to how aol users hit sites with multiple IPs.

enesce's solution was to have a program that runs on the user's computer which automatically updates the NRserver with their new IP, it checks every XXX seconds (default was 900 i think)

it also allowed you to change options without going to the nr website or emailing him or anything, like soldat name, password, etc etc.

i am ahab
July 26, 2005, 8:48 pm
oh hey brick cheers for the info on enesce's crafty solution. indeed clever.

i presume he streams a tcp packet to his NRserver containing username and current IP et other interesting stuff when he needs to, or at a timeout -> whichever is first.

hmm good point and true about the addresses.....

im with you on the proxying, and ive seen a good few sites that allow you to use their list of free proxies to surf the web.

but ive never seen details of a dsl customers ip changing without a renew or reconnect command having been sent to their isp..... and i didnt know about AOL users hitting sites with multiple ip's.... is this some sort of 'aol security' where you use more than one of aol's servers to access your information with the aim of protecting your identity? [ but just resulting in a more crash prone service :O ]


FliesLikeABrick
July 26, 2005, 9:58 pm
he doesnt stream anything, it just sends a packet to the server every XXX (like i said, default 900) seconds containing information, primarily the account name, current soldat nickname, and current IP.


as for proxying, yes there are services like Tor for anonymous internet usage, but your ping times on games will suck horribly. im talking strictly about ISP proxying and stuff. AOL is most notorious for caching to optimize their network. My aforementioned comments on proxying do not apply to soldat as much, except to indicate that DSL users' IPs do change without modem resets



the AOL thing is not about security, but if a dial-up user hits a site, they will download most of the images under separate IPs. This is because AOL has huge servers which cache/proxy most web content, then spoon-feed it out to the individual clients. Security is an added side-effect, and this is why dial-up users very rarely need to worry about firewalling their connection or anything. It is strictly functional and is not for securty and i dont see how it could be "Crash-prone"

enesce's solution to the dynamic ip problem is the simplest and best solution, undeniably. having to go to a website before playing is inconvenient, but does provide another solution.

having the application run automatically on the computer is not only convenient for updating the IP, but also provides easy access to settings such as the current name you wish to protect, etc.



my apologies to logrus for spending most of my time in this thread discussing enesce's application(s)

Deleted User
July 26, 2005, 10:02 pm
Scripts are there => [URL]

PS. I'm sorry for beeing so untidy in my scripts

i am ahab
July 26, 2005, 11:13 pm
hmm all good stuff bricky.

and yes sorry logrus i didnt mean to hijack your thread. im just looking into this kinda thing as its a future interest for something im doing.

im happy to chat away about this, but not in logrus' thread dude, but brickeh you dam php netfiend just to wrap up ;) ....
i only thought he may stream the packet as from what i know tcp stream communication is an awful lot more reliable for getting packets to a destination (i forget if it guarentees arrival but i highly doubt it) as opposed to udp which just broadcasts, much like some sort of 'fire and forget' missile. i would use a tcp stream if i were thinking of designing it.... but as ive never made anything yet i can hardly claim to be right now can i.

yes i see what you mean about how users can 'mask' their ip's. cheers for clearing that up...

cheers for the aol info..... i only mention aol being crash prone as:
a) i hear from the grapevine and people who i know that have used it that its as stable as a soggy biscuit.
b)typically the more parts you add to something, the more there is to go wrong. doesnt hold as true in coding on the small scale but for super large companies with thousands of servers. well lets just say im glad i dont work on their helpdesk....

Deleted User
July 26, 2005, 11:54 pm
i am ahab, its ok about this thread.

About stability of my scripts (if someone use them)... summary.php and zond.php are running as services under Windows on my servers. If zond.php process disappers it will be restarted immideatelly, and summary.php is started every 5 minutes.

FliesLikeABrick
July 28, 2005, 5:53 pm
as for the AOL dialup/IP thing, observe the paste from my website logs below. one user hit a couple files at once, but his hits are from ips of multiple AOL proxy servers.



195.93.21.67 - - [05/May/2005:15:06:40 -0400] "GET /host/ddznappy84/vamplikes.png HTTP/1.1" 200 4512 "http://vampirefreaks.c...

195.93.21.65 - - [05/May/2005:15:06:40 -0400] "GET /host/ddznappy84/vamphart.png HTTP/1.0" 200 8228 "http://vampirefreaks.co...

195.93.21.71 - - [05/May/2005:15:06:41 -0400] "GET /host/ddznappy84/vampdislike.png HTTP/1.0" 200 6526 "http://vampirefreaks...


3 file hits from one person, but 3 different (but very similar IPs). AOL owns quite a few large domain range(s)


edit: and dont anybody even think about whining about me pasting an IP. those IPs will not resolve to any single person on the internet, and even if they did, it would pose no security risk whatsoever to that person