Determine a computer ID in Flash/AIR game

2019-07-13 13:31发布

I'm creating an online multiplayer game in which I want to prevent players from joining a game using multiple clients/accounts on one computer. I can't simply do a server sided check for the IP-address because I still want e.g. people in the same office to be able to play together.

Therefore I'd like to generate some kind of computer ID/hash on the client which it sends along to the server. I know that is easily hackable, but it will stop at least those "cheaters" who can't or won't change their client software.

Is there a way to generate such an ID/hash in my game client? It's made in Flash and AIR (there are two versions, browser and desktop). The value doesn't need to be globally unique, because I will check for IP-address + ID

2条回答
家丑人穷心不美
2楼-- · 2019-07-13 13:55

You could use the MAC address of the network card. AIR has access to get a list of all of the networking interfaces available: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetworkInfo.html

NetworkInfo.networkInfo.findInterfaces()

You should be able to use any value returned in that vector, since MAC addresses are unique.

查看更多
放我归山
3楼-- · 2019-07-13 14:00

Along with MAC address, your program could generate one or more random numbers and store them in Encrypted Local Storage (if not stored already.) This could identify users too (with some chance of collisions, but this chance can be made very low.)

查看更多
登录 后发表回答