Safety Deposit Mod v1.0 By Leslie E. Krause Safety Deposit integrates with the Simple Cipher Mod to provide an additional layer of security for itemstack metadata via block-chain encryption. Since container inventories are sent to every connected client, it is possible to use either client-side modding or local map-saving to examine the contents of locked chests, mailboxes, etc. This has the potential to expose sensitive personal information, as in the case of written books which are often used for communication between players. Itemstack metadata can be be encrypted and descrypted on the fly using the following two API functions, both of which supply the administrator username as the public key: * safety_deposit.encrypt_metadata( itemstack, data ) Serializes and encrypts the data, saving the resulting ciphertext as a Base-64 encoded string to the itemstack meta. * safety_deposit.decrypt_metadata( itemstack ) Decrypts and deserializes the itemstack meta. As a fallback, in case the string is not actually encrypted, it will simply be deserialized. If someone happens to obtain a copy of the map (without the private key of the server owner), then it will be virtually impossible, outside of a sophisticated brute-force attack, to fully extract the metedata of these items once encrypted. A digital safe can also be crafted for even higher-grade security. This container, once placed in world, encrypts its entire inventory, thereby thwarting any unwanted intruders. The only means of access is by a 4-digit PIN which only the owner (or team-members) will possibly know. Even the administrator cannot retrieve the access code if forgotten, so it is very important to write the number down immediatly after engaging the lock. Repository ---------------------- Browse source code... https://bitbucket.org/sorcerykid/safety_deposit Download archive... https://bitbucket.org/sorcerykid/safety_deposit/get/master.zip https://bitbucket.org/sorcerykid/safety_deposit/get/master.tar.gz Compatability ---------------------- Minetest 0.4.15+ required Dependencies ---------------------- Default Mod (required) https://github.com/minetest/minetest_game ActiveFormspecs Mod (required) https://bitbucket.org/sorcerykid/formspecs Simple Cipher Mod (optional) https://bitbucket.org/sorcerykid/cipher Installation ---------------------- 1) Unzip the archive into the mods directory of your subgame 2) Rename the safety_deposit-master directory to "safety_deposit" 3) Add "safety_deposit" as a dependency to any mods using the API Source Code License ---------------------- GNU Lesser General Public License v3 (LGPL-3.0) Copyright (c) 2020, Leslie E. Krause This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. http://www.gnu.org/licenses/lgpl-2.1.html Multimedia License (textures, sounds, and models) ---------------------------------------------------------- Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) /sounds/safe_error.ogg obtained from https://notificationsounds.com/message-tones/glitch-in-the-matrix-600 modified by sorcerykid /sounds/safe_entry.ogg obtained from https://notificationsounds.com/message-tones/your-turn-491 modified by sorcerykid /sounds/safe_abort.ogg obtained from https://notificationsounds.com/message-tones/knob-458 modified by sorcerykid /sounds/safe_open.ogg obtained from https://freesound.org/people/kyles/sounds/362053/ modified by sorcereykid /sounds/safe_close.ogg obtained from https://freesound.org/people/kyles/sounds/362053/ modified by sorcerykid /sounds/safe_lock.ogg obtained from https://freesound.org/people/kyles/sounds/362053/ modified by sorcerykid /sounds/safe_unlock.ogg obtained from https://freesound.org/people/kyles/sounds/362053/ modified by sorcerykid /textures/safe_front.png obtained from https://gitlab.com/VanessaE/currency/ /textures/safe_side.png obtained from https://gitlab.com/VanessaE/currency/ /textures/counter_0.png by sorcerykid /textures/counter_1.png by sorcerykid /textures/counter_3.png by sorcerykid /textures/counter_4.png by sorcerykid /textures/counter_5.png by sorcerykid /textures/counter_6.png by sorcerykid /textures/counter_7.png by sorcerykid /textures/counter_8.png by sorcerykid /textures/counter_9.png by sorcerykid /textures/counter_nil.png by sorcerykid You are free to: Share — copy and redistribute the material in any medium or format. Adapt — remix, transform, and build upon the material for any purpose, even commercially. The licensor cannot revoke these freedoms as long as you follow the license terms. Under the following terms: Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. Notices: You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation. No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material. For more details: http://creativecommons.org/licenses/by-sa/3.0/