Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to TerraFirmaCraft Forums

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

  • Announcements

    • Dries007

      ATTENTION Forum Database Breach   03/04/2019

      There has been a breach of our database. Please make sure you change your password (use a password manager, like Lastpass).
      If you used this password anywhere else, change that too! The passwords themselves are stored hashed, but may old accounts still had old, insecure (by today's standards) hashes from back when they where created. This means they can be "cracked" more easily. Other leaked information includes: email, IP, account name.
      I'm trying my best to find out more and keep everyone up to date. Discord (http://invite.gg/TerraFirmaCraft) is the best option for up to date news and questions. I'm sorry for this, but the damage has been done. All I can do is try to make sure it doesn't happen again.
    • Claycorp

      This forum is now READ ONLY!   01/20/2020

      As of this post and forever into the future this forum has been put into READ ONLY MODE. There will be no new posts! A replacement is coming SoonTM . If you wish to stay up-to-date on whats going on or post your content. Please use the Discord or Sub-Reddit until the new forums are running.

      Any questions or comments can be directed to Claycorp on either platform.
ciekma

Keys and locks

17 posts in this topic

All modded multiplayer  servers encounter same chest security threat, because they run on Forge (not counting abandoned cauldron project) and therefore no bukkit plugins (lockette etc) are available. There is lockette mod for 1.8.9, but anyway, protecting chests and doors by placing sign on them doesn't fit into TFC style.

My proposal is to introduce locks and keys, craftable from iron and steel. New key or lock need to be engraved (with use of chisel and hammer) - any of 5x5 field*) can be removed, creating unique combination (one of 2^25), such engraved key or lock can be used as blueprint for creating clones. Crafting chest or door with lock would produce lockable chest or door, with engraved data copied**). Door or chest can be opened (manually or by redstone) only if unlocked. Of course doors can be broken, but it takes much more time, if locked. Locked chest also can be broken, but will not throw its content, instead would overburden its holder without possibility to place it on his back. The only possibility to pick items from locked chest is to unlock it or to blew it with powderkeg.

The reasons, why there is possibility to broke doors/chest are obvious - key owner should have ability to retrieve its contents if he lost his keys, or to break doors, which some griefer put in his own house. Additionally, it is convenient to move chests without tedious replacing items, if you need to rearrange your home. Even if items are not 100% safe, thief need to spend lot of time to put his hand on precious items, and what is more important, such attempt will be not unnoticed.

The most annoying problem related to non-locked chests on SMP is not stealing items itself, but that you don't know, if some items were lost, or you just displaced them to other chest. It corrupt server society, because players start to suspect anyone. With my proposal, there are clear evidences of robbery ***).

Is it even possible to make minecraft mod, which behave as described above? I lack modding experience to judge if it is doable.

*) not sure if NBT data can hold dword, if not, 512 combinations of 3x3 crafting grid should be also sufficient

**) key data should be hashed or something? to prevent lurking which combination was used.

***) well, somebody can break roof/dig under floor and steal gold ingots, but if some panels/plater-like coatings are used, it is rather impossible to break and sneak out without evidences.

3

Share this post


Link to post
Share on other sites

This is a good idea.  Though I'm not sure that requiring iron is a good idea.  People can get griefed long before they ever get to iron, and it's just as damaging to morale.  I think it should simply be a stone knapping or clay option to make a lock - the clay option adds a little bit of cost. 

It's definitely a good idea to make the locking be an integral thing with chests and doors - lockette signs are very clumsy looking.  But it's also good to be able to protect other hard-won items like anvils and crucibles.  So it'd be good to be able to slap a lock on other containers, like lockette, and maybe those locks appear on the outside, like a lockette sign but less obtrusive.  The knapping-like combo idea is neat, but I think it'd be better to just make it a number combination - again, less about realism, more about making a functional device with a combo that is as easy to remember as possible.  It's much easier to tell your town mates a number, vs describing a knapping combo, imo. 

As for griefing by placing locked doors and items in someone else's space, if there is a towny-like protection, then that's only possible from town-mates (I do not know where towny falls in terms of compatability you mention).  And probably you need to just boot them and talk to the server admin.  If you let locked items be broken, even if it takes a long time, they'll still be griefed.   And like you say, that sort of griefing - placing items in unwanted areas - makes it easy for any logging protection to find out exactly who is responsible.  So even on a server without towny, as long as the admins are responsive, I think they can address the issue.  Theft can much more insidious and hard to determine.  For this reason I think that locked things should be unbreakable by any means, and involve no keys to lose.  Just combos.

I would though, love to see safes added to the game.  These could be made of iron or steel sheets, plus a mechanism.  Their purpose would be to provide a container that will hold ingots - which imho would be justified given the potentially considerable tech level and materials and time investment.  They hold less than chests, but you can make a double-safe.  It stacks vertically though, as opposed to horizontally for a chest.

1

Share this post


Link to post
Share on other sites

seems like a good ideal, but locks started originally at bronze/brass. [yes you can make bronze springs believe or not.. not as 'good' as steel but it works] 

 

but I miss the older world gens where small above ground style caves would spawn, those were always great on MP for hiding your chest away from your 'home' location. and most of the time if someone found one, it would because they are cheaty mc cheaters. 

0

Share this post


Link to post
Share on other sites

Of course, without lockette I'm doing same thing like all our ancestors - putting chest in digged hole and covering by dirt/other block. But is start to be annoying when number of valuable items grow, not counting danger of forgetting about secret place. Towny plots, similar to lockette, are artificial thing, of course they are needed for large open servers, but my idea was not to hardcoded prevention of stealing, but rather to prevent suspicion of stealing, important to keep good quality of server society.

Ps. broken doors, if locked, should be damaged into planks, instead of dropping item, to show evidence of break in.

0

Share this post


Link to post
Share on other sites

I'm pretty sure most people would just rather not be griefed, period.  I mean, if the server *allows* raiding that's another matter, and your suggestions would probably work well in that setting.    But the best way to prevent suspicion of stealing is allow people to make it impossible, from the start.  Not saying your idea isn't a good one to have in certain situations, but if the devs are going to spend time on this kind of thing, they may as well make a stone-age full-prevention system as well - I think that's what most people would want.

0

Share this post


Link to post
Share on other sites

But why not use KCauldron?

It allows to use forge mods and Bukkit pluggins.

We have towny in our servers.

0

Share this post


Link to post
Share on other sites

I LOVE this idea. I play on a white listed TFC server almost everyday, and i've been griefed/robbed multiple times, despite it being against the rules. something like this would be amazing to at least show signs of a break-in. perhaps the key/lock engraving could be done in the same interface as the knapping/clay/leather interface?

0

Share this post


Link to post
Share on other sites
12 minutes ago, redcreeperjaret said:

perhaps the key/lock engraving could be done in the same interface as the knapping/clay/leather interface?

It is exactly how I it imagine - knapping random pattern in metal key, which i written as numeric code into item tag.

0

Share this post


Link to post
Share on other sites
1 minute ago, ciekma said:

It is exactly how I it imagine - knapping random pattern in metal key, which i written as numeric code into item tag.

i think that knapping randoms patterns would be able to give people some customization, but with such a small interface, it wouldn't be uncommon for people to smith the exact same key. maybe there could be a way to bind a key to a specific door/chest?

0

Share this post


Link to post
Share on other sites

With 5x5 field, it is rather low chance of accidentally making same pattern. You have 2^25 of combinations.

0

Share this post


Link to post
Share on other sites

Yes, with a 5*5 field the *possibilities* are quite large, but the actual number of patterns people are going to make isn't that huge - a large number of the possible combinations simply *won't*  be used due to human nature.

Don't get me wrong - I like the idea.

Edited by ChunkHunter
0

Share this post


Link to post
Share on other sites

Well, most of peoples prefer user 'admin' password 'admin'. But in this case, they risk only their own virtual property.

I'm not sure, how to handle key information. Assume, that we have specific key, probably we must write some NBT information.

Now we must craft lock, but this information cannot be copied directly into lock, because somebody would be able, with some hacking tools, to check this data. Lock crafting procedure should generate random number written to its NBT data plus written to the server-side simple database file, paired with NBT data for key.

Now if given key is used to open door, server can check in its database, if this key is paired with lock data.

0

Share this post


Link to post
Share on other sites

You are describing (very simply) something akin to private/public key cryptography :) 

0

Share this post


Link to post
Share on other sites
3 hours ago, ChunkHunter said:

You are describing (very simply) something akin to private/public key cryptography :) 

Whoa, I reinvented wheel, it is time to build chariots :)

0

Share this post


Link to post
Share on other sites

Well, if there's going to be locks, there's got to be lockpicks. ;) Not for stealing players' items (good locks have more than 1 tumbler), but for raiding dungeon chests (which would have only 1 tumbler). For the amount of tumblers, you could just label them differently instead of actually designing tumblers for the locks. Stronger picks would be harder to break and would be made of tough alloys, and early picks could be made from starting metals.

Edited by Sgt_Rubber_Ducky
1

Share this post


Link to post
Share on other sites
On 6/6/2016 at 6:28 PM, ciekma said:

Now we must craft lock, but this information cannot be copied directly into lock, because somebody would be able, with some hacking tools, to check this data. Lock crafting procedure should generate random number written to its NBT data plus written to the server-side simple database file, paired with NBT data for key.

It's really not feasible to save any sort of information in a server-side database file, simply because we can't expect users to install a database on their system alongside installing minecraft. A flat data file such as just a .txt that just has

key, lock

on each line would be possible, but as soon as you get a bunch of entries you're going to start having performance problems searching through the file.

0

Share this post


Link to post
Share on other sites