WILL BE UPDATED JUST AFTER CHRISTMAS PlayerSaver - Save yourself Version: v1.1 This plugin make you able to save a player's health, inventory, motion, and other information into the username.dat file, in the world/player folder, such as a server stop. Example: If you wanna use WorldEdit hugely, the server risk to do not respond for a while; if that was a command you didn't want to execute, you need to stop it without wait...and loose all un-saved players' data... Commands and Permissions (Move your mouse to reveal the content) Commands and Permissions (open) Commands and Permissions (close) playersaver.* default: opdescription: Access to all commands. playersaver.help default: opdescription: See the help. (with /phelp) playersaver.save.* default: opdescription: Access to all saving commands. playersaver.save.own default: opdescription: Save own player's data. (with /psave) playersaver.save.all default: opdescription: Save all players' data. (with /psave all) playersaver.save.other default: opdescription: Save an other player's data. (with /psave [PLAYER]) playersaver.load.* default: opdescription: Access to all loading commands. playersaver.load.own default: opdescription: Load own player's data. (with /pload) playersaver.load.all default: opdescription: Load all players' data. (with /pload all) playersaver.load.other default: opdescription: Load an other player's data. (with /pload [PLAYER]) playersaver.schedule.* default: opdescription: Access to all scheduling commands. playersaver.schedule.see default: opdescription: See schedulation state. (with /pschedule) playersaver.schedule.manage default: opdescription: Set schedulation state. (with /pschedule on or /pschedule off) config.yml (Move your mouse to reveal the content) config.yml (open) config.yml (close) schedule: enabledBoolean, define schedulation state.timeNumber, define the time in server ticks (20 = 1sec) between each save.consolemessageBoolean, define if message will be send to console each save. Download the latest version of plugin (DropBox for the moment, my own server later - 8,25 Ko) Download the latest source of plugin (DropBox for the moment, my own server later) Features: Prevent crash-loosing May be scheduled Some commands can be used with console Support Permissions and PermissionsEX ToDo: Find more possibles improvements Changelog: Version 1.1 Can schedule Help was improved Version 1.0 Initial Release
That's cool. But could you make it save periodically? Maybe every second? (if that wont take too much resources).
This plugin addresses a major oversight in the minecraft server implementation in a useful way. It's a really good idea. Good work! Regarding open source vs. closed source: I think you should consider that anyone who wants to steal your work will decompile your code and go with it. Google "JAD". You're not going to get paid for this plugin. There is no way for you to make that work. What you can get is recognition from the community and from other developers. Showing your work is a good way to do that. You may also get help if there happens to be some sort of hard-to-track-down bug. Many server operators, myself included, will not use a plugin without the source. Plugin developers come and go, and you have to know that the plugin can be maintained when that happens. That's not the only reason I won't run a plugin without the source. Anyway, Great plugin, great idea. Please continue.
Great! Here's the part where I accidentally unconvince you... :/ The very *best* place to share the code is on github. To put your code up there, you need to use something called Git. I'll get back to that. Using worldedit as an example, the main URL: https://github.com/sk89q/worldedit You can see a browsable version of the source right there. The link Git users need to download the code is there, too. There is also a link to download the source as a zip file for users without git: https://github.com/sk89q/worldedit/zipball/master The commit tab lets you see every update made to worldedit in detail: https://github.com/sk89q/worldedit/commits/master Click on any one of the commits and you can see exactly which lines of which files have changed. There is a whole world of awesome features beyond that. The downside is that you have to learn how to use Git. I can tell you that it's no big deal. It might only set you back an hour or two to set up. Or, if your new to version control systems and/or you make a few missteps, it could take longer. A lot of people use only the command-line version of Git. I'm on windows, and I like my GUI, so I use TortoiseGit. Here's a good tutorial on setting it up: http://software.krimnet.com/windows...indows-fully-gui-github-quick-start-guide.htm This would be the cli-only version of the tutorial: http://www.vogella.de/articles/Git/article.html If you've never used a version control system before and need convincing on that, let me know, and I'll take a crack at it. If you don't feel like doing all that, you can set up your java jar build step to actually include the source in the jar, or you could just upload a zip with the source included to dropbox as well. To clarify: I *could* tell you that setting up Git for the first time is "no big deal". It would be a lie, but it's one that I've heard a developers tell each other a few times. EDIT by Moderator: merged posts, please use the edit button instead of double posting.
In all my project, I've got a same class. In it, I'm developing actually an auto-updating system. I'll wait to finish this before to publish a new version of all my plugins...