3 ms·
I always presumed Minecraft had most of the logic in the client but this kind of complex economy obviously wouldn't be possible without someone cheating. How do
by Kiro 9y ago
I always presumed Minecraft had most of the logic in the client but this kind of complex economy obviously wouldn't be possible without someone cheating. How does it work?
- iamwil 9y agoYou can run servers with plugins for the economy stuff. Not everything is in the client.
- tialaramex 9y agoThe server is the source of truth. The client only duplicates logic that's present on the server in order to optimise for network delay. For example suppose I smash a block of iron ore with a pickaxe. The client tells the server that I used my pickaxe to smash the block of iron ore, the server checks that yes, that pickaxe can smash the iron ore, and adds one chunk of iron ore to my inventory. By duplicating this logic the client can anticipate that I'll get a chunk of ore, but the fact it did that doesn't actually give me ore in the world, it just means my display updates even before the server replies saying "Also now you have ore". I actually think the ore example doens't happen in modern minecraft because a better pick might give more ore, or even auto-smelt it into iron ingots, and the server would decide some of that randomly in some cases - but you get the idea. Network problems can cause this to de-synchronise. The symptom might be e.g. you dig a block of sand on a new server, your client shows you now have sand, but when you move to where the sand was, your client rubber-bands and the sand re-appears in front of you. But the server is the truth for everybody else, they'll see you lurching about trying to dig sand but failing, and when you fix the problem, you won't have any sand. Modders are mostly working on the server, although since they add new graphics and other elements the same mods are usually also needed by the client (it just doesn't run the server elements). Some logic does live purely on the client but it's mostly quality-of-life stuff, e.g. auto-mapping. All the visuals live on the client. So a client can make opaque blocks see-through for example, to some extent, which would be a problem for cheating in combat games, and hit-scanning would be easy to cheat in a client too.
- rainbowmverse 9y agoThis leads to fun things in high-load situations (like Extreme Hills biomes) even on a local single player game. You break a block...and it comes right back. Break again, comes back. The internal server is rejecting it all even though it's on the same system as the client.
- narag 9y agoEverything I've read is possible without "cheating"... not sure what you meant with that, do you mean server plugins? You could still make the exchanges interacting with other players, the shops that use special chests (that's a server plugin) are a convenient shortcut. The economy becomes complex because you can build automatic farms for many valuable items: experience points, food... that would beat manual production hands down. The piece is a little old. You can now farm wool mostly unattended and food totally hands free. I can't see any mention to villagers trade, not sure if that's because some server rule or because it was impossible with that versions. Villagers and wool are an infinite source of most valuable items including some diamond tools. Also you can farm gold and experience points with Snocrash's pigmen farm at an incredible pace.
- Kiro 9y agoWhat I mean is that if this complex logic lived on the client then everyone would cheat. Therefore the logic must live on server, contrary to what I believed. In other words: I thought Minecraft multiplayer was something you did with friends where the possibility to cheat doesn't matter, not like an MMO where cheating would destroy the game.
- kuschku 9y ago> In other words: I thought Minecraft multiplayer was something you did with friends where the possibility to cheat doesn't matter, not like an MMO where cheating would destroy the game. Some Minecraft multiplayer servers run profits > 100k USD per month, with tenthousands of players. There has been a massive investment into building alternative server backends, sharding the world across multiple servers, implementing complex anti-cheat systems, and more.
- narag 9y agoCheating hasn't destroyed the game, it's just annoying. Servers (some of them very profitable) use anti-cheat server plugins (that are sometimes more problematic that cheaters) and shrug it off. Cheating is done using client-side plugins. The problem is that Minecraft doesn't mistrust clients enough. BTW "hacker" has become a dirty word for Minecraft multiplayer gamers :(