Requesting quote/is this even possible on Waterfall fork.

Status
This thread has been locked.

Airee

she/her - Airee Systems
Supreme
Feedback score
13
Posts
351
Reactions
207
Resources
0
Fork of a fork. Only need functionality of IP forwarding changed.
Strip the periods away from the players IP address, take the first 3 digits and the last 3 digits and place them in the first and second octet respectively, leaving the remaining octets at 0. For example, 202.165.124.232 --> 202.232.0.0, 141.253.6.52 --> 141.652.0.0. This would be what the server would believe the players IP is.
Is this possible? How much would making such a change cost?
 
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

Airee

she/her - Airee Systems
Supreme
Feedback score
13
Posts
351
Reactions
207
Resources
0
Just curious.. why is this needed?
Protection of basically the only potentially personally identifying piece of information Minecraft servers have to deal with. I figure that's enough of the IP that we can check it for alternate accounts and confidently ban it but not enough to use for malicious purposes.[DOUBLEPOST=1552491069][/DOUBLEPOST]Other than payment information.
 
Last edited:

GotoFinal

Feedback score
1
Posts
33
Reactions
15
Resources
0
Store hash (like sha1 or even md5 can be enough here) of ip address then, not perfect but should make everything legal and simple.
 

FireFlower

Feedback score
6
Posts
228
Reactions
48
Resources
0
Protection of basically the only potentially personally identifying piece of information Minecraft servers have to deal with. I figure that's enough of the IP that we can check it for alternate accounts and confidently ban it but not enough to use for malicious purposes.[DOUBLEPOST=1552491069][/DOUBLEPOST]Other than payment information.

You're going to end up false banning a lot of people.
 

Airee

she/her - Airee Systems
Supreme
Feedback score
13
Posts
351
Reactions
207
Resources
0
You want to mislead the IPs of connected addressed (proxies - users) to not be accurate aka to be changed (replacing - mixing numbers), which the IP itself would be not accurate to the player so eventually IP ban wouldn't work as it should.
The possibility of collision is very low.
 

Airee

she/her - Airee Systems
Supreme
Feedback score
13
Posts
351
Reactions
207
Resources
0
What are you talking about? The collision is not measured with possibilities, we are telling you how it will happen if you want to save wrong IPs.
I do not think you understand.
 

GotoFinal

Feedback score
1
Posts
33
Reactions
15
Resources
0
Why do you say that?
Ban for IP will be always a bad idea, by banning single IP you can actually ban multiple people, as some very small cities/villages, or just some small housing estate, many people might be connected to internet via single IP address, it is actually pretty common thing.
Also near all ipv4 addresses are already used, so by reducing amount of stored information you will ban someone by accident, or a lot of people...

just hash them so then you are not storing any data of player, but you can still compare it, and you can still ban that IP (but you need ban hash of IP or wait for next try of given hash to connect to server so you can get real IP for ban)
But you should not ban per IP anyways. (at least not ipv4)
 

FireFlower

Feedback score
6
Posts
228
Reactions
48
Resources
0
Why do you say that?
Imagine every person in the world was numbered. So you now have 7.5 billion unique numbers for each person. Now imagine you ban people based on their number. That's an ip ban. Imagine now that you change the number 7,123,123 to 7,000,000. And also change the number 7,456,456,456 to 7,000,000. Now imagine you banned based on the new number (i.e. 7,000,000). When you ban the number 7,000,000. You're really banning multiple people.
 

Airee

she/her - Airee Systems
Supreme
Feedback score
13
Posts
351
Reactions
207
Resources
0
Imagine every person in the world was numbered. So you now have 7.5 billion unique numbers for each person. Now imagine you ban people based on their number. That's an ip ban. Imagine now that you change the number 7,123,123 to 7,000,000. And also change the number 7,456,456,456 to 7,000,000. Now imagine you banned based on the new number (i.e. 7,000,000). When you ban the number 7,000,000. You're really banning multiple people.
Your missing a critical detail.
We're not dealing with 7.5 billion people, we're dealing with 25 thousand people.
 

GotoFinal

Feedback score
1
Posts
33
Reactions
15
Resources
0
You know that hashing with SHA-2 (256, 512 bits etc), would again require de-hashing which technically is impossible. Hashing does not work as decryption/encryption but it would require to find the right match for the hash. Which can go on and on, even for the computer that is difficult and can take forever to do so.

So hashing IPs does not even make any sense...it is like saving the extra files that you know you will never use nor be able to use them.
Airee, I do indeed know what you want, but you can't just visually impaire or change IP.

IP is unique, you need them in order to regulate functions properly that is just how it is.
It's like you would want to replace a car engine with banana..
Jesus, please tell me you are not a developer as it would be scary...

That's the whole idea, that is what Airee want to achieve, so they don't need to store IP.
You don't need to "unhash" it... you only want to be able to compare IP of multiple layers to find possible multi accounts and other stuff like that.

But ok, I will explain this like for children without any dev knowledge:
Assume that we have 3 players:
Player A: IP: 1.2.3.4, hash: a563cd (it would be longer ofc)
Player B: IP: 2.3.4.5, hash: acccd2
Player C: IP: 1.2.3.4, hash: a563cd

And bam, you can easily find that Player A and Player C have same IP address (as hash is this same, just like comparing passwords for login system works), now let's ban them.
And for ban, just like I said, you need to ban hash of IP too. So we have list of banned ips:
bannedIps: [a563cd]

And now when some player want to join to server:
Player B tries to join:
- Proxy now can access (as that's how socket works, we only don't want to store that IP in logs and other stuff) their real IP, so 2.3.4.5 is found.
- Proxy hash this IP and get "acccd2"
- it is not on our ban list so we allow this player to join.

Player A tries to join:
- Proxy now can access their real IP, so 2.3.4.5 is found.
- Proxy hash this IP and get "a563cd"
- this player is banned so we don't allow this connection.

The only limiting part is that you need to implement ban system on proxy side - but who the hell would implement this on server side if you are using proxy anyways.

And bam, you don't need to store any IP addresses on your server, simple and working.

And Airee only wants to change forwarded IP from proxy to server, as real IP of each connection on server will be IP of proxy, so you can send anything you want here, it is only used by plugins to compare IPs, but not to anything that is needed for server to work. It's just additional info added by proxy servers to simplify plugin creation.

Please, never sell your plugins.

Your missing a critical detail.
We're not dealing with 7.5 billion people, we're dealing with 25 thousand people.
and I've forgot the most important issue that Notifyz had remember me due to his poor knowledge of anything: IPs are NOT unique.
Many IPS (especially local ones) will assign you random IP from pool on each connection, so thip ip will change after restarting router or just each few days due to automatic restarts from IPS side. (also mobile internet works like that)
So by banning single IP you will ban random person from single place. After few days or router reset he will not be banned anymore, and what is worse, one of his friend might be banned, or just other random person.
People often play with friends who live close to them, so by banning single IP you can both ban them all because they might use same IP, or you might make this ban randomly change between multiple people each day.

But sure, you can hash IPs, and use this just as a helper tool to find multi accounts, but don't just assume that same IP == same player, you need to check much more.

Also it would be much simpler to just filter IPs from logs etc...
 
Last edited:
Status
This thread has been locked.
Top