I am just going to throw this idea out there for a worthy programmer to make use of it, or to explain to me why it would not work. When a chunk is sent to the player, replace all ore blocks not touching air with stone in the outgoing data. When a player mines and finds a vein, this code will update the client with only the contigious blocks of the veign. As long as the server sends entire "true" chunks to players, the players will be receiving the data that marks the position of the ore. The only way to stop hacking is to simply not send this data to the client.
That would also hinder servers that need to update their plugins; there simply is no all good counter to xray. I've heard of some sort of ore obfuscator but I'm not aware of what it exactly does or if it can be avoided.
I have that plugin, or at least I did until the update. It works very well. Basically, any blocks that are not adjacent to transparent blocks appear as ores, obsidian, TNT, and chests to users. When a user uses x-ray or if there's a glitch that lets them see through the ground, they see ores everywhere. When the user tries to mine to the ore, it's just stone or something.
As for the updating thing, I acknowledge that it would be difficult to pull off and very annoying to deal with, but it would work.
I am just going to throw this idea out there for a worthy programmer to make use of it, or to explain to me why it would not work. When a chunk is sent to the player, replace all ore blocks not touching air with stone in the outgoing data. When a player mines and finds a vein, this code will update the client with only the contigious blocks of the veign. As long as the server sends entire "true" chunks to players, the players will be receiving the data that marks the position of the ore. The only way to stop hacking is to simply not send this data to the client.
They pretty much have that! It's called Obfuscator. Though it's a bit different. Let me point out that replacing ores with stone would still allow hackers to x-ray and see ores that are adjacent to air blocks in caves. Obfuscator replaces regular blocks with ores and other valuable blocks, so if a hacker sees one of these blocks, they can't tell if it's real or not.
I am just going to throw this idea out there for a worthy programmer to make use of it, or to explain to me why it would not work. When a chunk is sent to the player, replace all ore blocks not touching air with stone in the outgoing data. When a player mines and finds a vein, this code will update the client with only the contigious blocks of the veign. As long as the server sends entire "true" chunks to players, the players will be receiving the data that marks the position of the ore. The only way to stop hacking is to simply not send this data to the client.
Well I'll be damned, that's a good way to do it. I hadn't realized how it worked, but that's efficient and stops it. This one version I saw replaced all non-air-adjacent blocks with diamond ores, though
Rollback Post to RevisionRollBack
I would love it if you checked out my "about me" page on my profile and looked at my threads I'm always happy to see new posters.
Well I'll be ****ed, that's a good way to do it. I hadn't realized how it worked, but that's efficient and stops it. This one version I saw replaced all non-air-adjacent blocks with diamond ores, though
If you see an ore with x-ray, though, you know it's a real ore in a cave. Obfuscator's method is fully effective at preventing orefinding.
The most effective way to get rid of x-ray is to do everything server-side, as in you send keystrokes through the client to the server and get the .ogg (sound) and the .gif (video) files in reply from the server. By processing everything behind the server there is almost nothing you can do when the files come back. Than it would be quite hard to modify it (use x-ray). This will put a huge amount of load on the server, as what the client will typically do will be done on the server. Another way and it should hardly effect the server's load, if you make it so server-side if the players position is behind a block which is in front of the ore/chest then the data would be received by the client that there is stone and it would be sent no differently to the client than the real stone so you would never be able to know what it really is until all that is separating you from the ore vein is air or ore of the same type. This would although not fulfill the Forcing texture-pack for SMP server but, this should solve the X-ray chest/ore problem. There is one other problem with this as well, server-side lag could cause the ores to not update quickly enough, So you could miss that diamond ore. You could force a texture pack by making it run similar to a mod. As in a mod that contains numbers randomly generated with the server using the same algorithm. this will make a password renewed every minute or so or you'll get the connection timeout as you only have 1 minute and 15 seconds until you get a connection timeout error. This could be mixed with the texture pack, But it could still be decompiled and than recompiled without the texture pack. But very hard to do unless you know java-script. You can never have a 100% chance that no one is using X-ray though. All though pretty close to 100%.
I see were you're going with that, but if you have the ram needed per player plus the processing abilities (cpu) than you could solve the lag problem. If you want custom sounds that's a little off topic from the main topic, but because you brought that up and I like were your going with that i'll state it could be solved by telling a program to play files with specific names. If 8 bits are sent from the server to play a certain installed file, than you could replace that file by replacing it with one of the same name and format but different sound data so you could bring back the retro explosion sound or install a sound pack from the internet. but yes it could cause considerable lag if you can't afford the high-end hardware needed to run the server without lag or you could limit the number of people on your server to minimize the effect.
"Which makes a server capable to force a texture pack on the client, no matter what."
"...impossible to use a transparent texture pack, so called x-ray texture packs."
"...no more cheating. no more base reveal."
Force a texturepack 'no matter what'? Ever used a mod before? Anyone could modify their client to let them use their own texturepack. If you don't want players cheating on your server, use Spigot and enable Orebfuscator to replace unseen blocks with ores, so they cannot see secret bases.
I have that plugin, or at least I did until the update. It works very well. Basically, any blocks that are not adjacent to transparent blocks appear as ores, obsidian, TNT, and chests to users. When a user uses x-ray or if there's a glitch that lets them see through the ground, they see ores everywhere. When the user tries to mine to the ore, it's just stone or something.
They pretty much have that! It's called Obfuscator. Though it's a bit different. Let me point out that replacing ores with stone would still allow hackers to x-ray and see ores that are adjacent to air blocks in caves. Obfuscator replaces regular blocks with ores and other valuable blocks, so if a hacker sees one of these blocks, they can't tell if it's real or not.
That's because the fake ores couldn't block your view to caves like it would normally with mods, but hey those suck anyways.
You both forgot Air blocks. Orebfuscator replaces a large majority of blocks with Air so any X-ray texturepacks must render all of the random ores in the way. One major side effect of this is that without Advanced OpenGL on to calculate what to render, your game just renders everything, and that can cause FPS drops on high render distances and/or on slow computers. Thankfully, Minecraft does have Advanced OpenGL. The setting is very effective on laptops btw, because it uses more CPU and less GPU.
You both forgot Air blocks. Orebfuscator replaces a large majority of blocks with Air so any X-ray texturepacks must render all of the random ores in the way. One major side effect of this is that without Advanced OpenGL on to calculate what to render, your game just renders everything, and that can cause FPS drops on high render distances and/or on slow computers. Thankfully, Minecraft does have Advanced OpenGL. The setting is very effective on laptops btw, because it uses more CPU and less GPU.
What blocks are replaced into air exactly? From what I know, blocks that have 6 blocks adjacent (AKA you shouldn't be able to see them) to them are made into some random ore and that's all obfuscator does.
What blocks are replaced into air exactly? From what I know, blocks that have 6 blocks adjacent (AKA you shouldn't be able to see them) to them are made into some random ore and that's all obfuscator does.
Orebfuscator is highly configurable and customizable, mainly because some servers only want some anti-xray stuff built in to avoid as much lag as possible. From github.com/lishd/Orebfuscator/wiki/Configuration-File:
AirGeneratorMaxChance:
Chance that the AntiTexturePackAndFreecam feature generates an air block
Default: 43
That will solve the x-ray problem, but it won't force a texture pack. Does Orebfuscator have the ability to make more advanced calculations like for instance, if there was a square of cobblestone on the X and Z axes could it hide the cobblestone and hide the air by sending data to the client that the block is stone until the player is within 3 blocks of it. Can you hide entities with Orebfuscator because a dungeon could be identified by X-raying for mobs and finding 5 zombies in one place. The world seed was displayed in the past to anyone, could that data be sent to a client that's hacked? If you get the world seed its all over. Can the plugin stop the glow stone bug were you can x-ray for blocks near air blocks and not suffocate, because that bug has been around perhaps since glow stone was invented in alpha 1.2.0 that can get you x-ray for dungeons, abandon mineshaft chests, hidden bases, lava, and ravines. Now yes it could block the ores, moss stone, etc. If you find a cave below Y 16 with low lava. You could get lots of diamond probably 25 if your good at it. Now unless your a very experienced cheater/hacker these wouldn't be commonly exploited as glow stone (or tnt) must be in the same block as your head, and if there's any air between your view and the underground area as well as slabs, block 34, block 36, block 90, block 119, mushroom, basically any block with empty space on the texture (transparent pixels). It was earlier said that blocks are hidden when not within a certain range of a player or chain of air blocks around a player. Then you could fill the hidden data with stone, So there for the client would display solid barren stone when you look beyond 6 blocks of stone from air blocks touching the player, but at the same time if there's a cave from surface to bedrock that won't work. Maybe you could calculate what can be seen by the player server-side so they couldn't do the x-ray Mod/texture pack.
"Now I have to use this standard resolution texture pack on my computer that only has two gigabytes of RAM"
That is just one of the many reasons why this should not be implemented. Another thing. What if it just sucks? The server owner may have an entirely different idea of what is good than you do. And one final thing I can think about. For 32+ Res texture packs, everyone would have to use third party tools to get it working properly (unless that eventually gets fixed). So people who have no experience modding would potentially lose interest in their favorite server.
I am highly in favor of certain parts of this idea. Role-play servers and the likes would profit greatly from a way to force a texturepack on people, and as you say, x-Ray texturepacks could theoretically be hindered with this as well. BUT! Make it possible to turn optional or forced by a new option in the server-properties! That way those servers who do not depend as much on the texturepack still have the ability to provide the player with a fitting texturepack if they want to, while role-play-servers can force it to the player, enriching the environment of that particular server-type.
And to all nay-sayers: This would hardly make any difference unless you play on a role-play-server, or a server which highly appreciates a player to use a certain texturepack, in which case you would likely be locked out unless you use it anyways. Any other server would go un-touched. And if my little tweak was added, not even that would be a problem.
And about it maybe being an uggly texturepack, then you would bring it up with the owner, as it nonetheless is THAT persons server, so setting it up to that persons liking is in fact, would you know it, that persons choice entirely.
Who is honestly that stupid to think that enabling this one feature which in a way ADDS freedom and complexity to certain multiplayer-environments automagically turns all servers into texture-monopolitan dictatorships? Calm down a Notch and actually THINK about it instead of blurting out random nonsense.
Anyways, you have my full support, as long as this is added as an option, rather than a change to the current system.
Orebfuscator could be exploitable depending on how it works, but pretty successful for the most part. This solves the X-ray texture pack issue effectively, but what about the x-ray mod opposed to the texture pack and what about just forced texture-packs to begin with? Notch could just give the server-side a field in the properties file that would tell the client-side to configure the multiplayer textures parameter on the client side to be forced or allow the user to modify the settings. That would only work on non-hacked clients.
I agree. It would be great for creative servers as well, where there may be one serverwide texture pack that repurposes ore blocks and other blocks not used in creative.
with that said (the processor cost) suppose you make it render differently like here is a big idea, disable it on certain players like admins, donators, etc. Because why would donators use x-ray after committing to donating and for admins, well you know why. This part may take a major load off the server. If x-ray is used the server could send to the server log something like...
[WARNING] <PLAYER NAME> dug down to mine diamond from surface
So with this kind of stuff you could pick and choose who is trust worthy, and who isn't and just for the sake of detail here are some more examples.
[WARNING] <PLAYER NAME> dug shortest possible path between several ores
[WARNING] <PLAYER NAME> found <Number of ore> in <time>
[INFO] <PLAYER NAME> is branch mining
[WARNING] <PLAYER NAME> is finding dungeons through 1x1 tunnels from surface
These all could be determined by using simple calculations, and there for you can determine who is cheating and who isn't. Anyone who isn't cheating doesn't need Orebfuscator to process any data for that player. But remember these can never be 100% accurate, and the option for the plugin to process data for certain players or not shouldn't be automatically chosen.
I am just going to throw this idea out there for a worthy programmer to make use of it, or to explain to me why it would not work. When a chunk is sent to the player, replace all ore blocks not touching air with stone in the outgoing data. When a player mines and finds a vein, this code will update the client with only the contigious blocks of the veign. As long as the server sends entire "true" chunks to players, the players will be receiving the data that marks the position of the ore. The only way to stop hacking is to simply not send this data to the client.
I have that plugin, or at least I did until the update. It works very well. Basically, any blocks that are not adjacent to transparent blocks appear as ores, obsidian, TNT, and chests to users. When a user uses x-ray or if there's a glitch that lets them see through the ground, they see ores everywhere. When the user tries to mine to the ore, it's just stone or something.
As for the updating thing, I acknowledge that it would be difficult to pull off and very annoying to deal with, but it would work.
They pretty much have that! It's called Obfuscator. Though it's a bit different. Let me point out that replacing ores with stone would still allow hackers to x-ray and see ores that are adjacent to air blocks in caves. Obfuscator replaces regular blocks with ores and other valuable blocks, so if a hacker sees one of these blocks, they can't tell if it's real or not.
I would love it if you checked out my "about me" page on my profile and looked at my threads I'm always happy to see new posters.
If you see an ore with x-ray, though, you know it's a real ore in a cave. Obfuscator's method is fully effective at preventing orefinding.
That's because the fake ores couldn't block your view to caves like it would normally with mods, but hey those suck anyways.
I would love it if you checked out my "about me" page on my profile and looked at my threads I'm always happy to see new posters.
Oh, right. It also doesn't stop the "i" button on Zombe, which is x-ray but not ore/chest finding. But it pretty much solves the problem.
Force a texturepack 'no matter what'? Ever used a mod before? Anyone could modify their client to let them use their own texturepack. If you don't want players cheating on your server, use Spigot and enable Orebfuscator to replace unseen blocks with ores, so they cannot see secret bases.
You both forgot Air blocks. Orebfuscator replaces a large majority of blocks with Air so any X-ray texturepacks must render all of the random ores in the way. One major side effect of this is that without Advanced OpenGL on to calculate what to render, your game just renders everything, and that can cause FPS drops on high render distances and/or on slow computers. Thankfully, Minecraft does have Advanced OpenGL. The setting is very effective on laptops btw, because it uses more CPU and less GPU.
I would love it if you checked out my "about me" page on my profile and looked at my threads I'm always happy to see new posters.
Orebfuscator is highly configurable and customizable, mainly because some servers only want some anti-xray stuff built in to avoid as much lag as possible. From github.com/lishd/Orebfuscator/wiki/Configuration-File:
That is just one of the many reasons why this should not be implemented. Another thing. What if it just sucks? The server owner may have an entirely different idea of what is good than you do. And one final thing I can think about. For 32+ Res texture packs, everyone would have to use third party tools to get it working properly (unless that eventually gets fixed). So people who have no experience modding would potentially lose interest in their favorite server.
And to all nay-sayers: This would hardly make any difference unless you play on a role-play-server, or a server which highly appreciates a player to use a certain texturepack, in which case you would likely be locked out unless you use it anyways. Any other server would go un-touched. And if my little tweak was added, not even that would be a problem.
And about it maybe being an uggly texturepack, then you would bring it up with the owner, as it nonetheless is THAT persons server, so setting it up to that persons liking is in fact, would you know it, that persons choice entirely.
Who is honestly that stupid to think that enabling this one feature which in a way ADDS freedom and complexity to certain multiplayer-environments automagically turns all servers into texture-monopolitan dictatorships? Calm down a Notch and actually THINK about it instead of blurting out random nonsense.
Anyways, you have my full support, as long as this is added as an option, rather than a change to the current system.
[WARNING] <PLAYER NAME> dug down to mine diamond from surface
So with this kind of stuff you could pick and choose who is trust worthy, and who isn't and just for the sake of detail here are some more examples.
[WARNING] <PLAYER NAME> dug shortest possible path between several ores
[WARNING] <PLAYER NAME> found <Number of ore> in <time>
[INFO] <PLAYER NAME> is branch mining
[WARNING] <PLAYER NAME> is finding dungeons through 1x1 tunnels from surface
These all could be determined by using simple calculations, and there for you can determine who is cheating and who isn't. Anyone who isn't cheating doesn't need Orebfuscator to process any data for that player. But remember these can never be 100% accurate, and the option for the plugin to process data for certain players or not shouldn't be automatically chosen.