CyberBukkit
CyberBukkit
CyberBukkit uses the DropBox API and the Bukkit API to bring you the ultimate server file management experience. It allows you to simply edit, drag, drop, rename... Items without having to use an FTP server. This is especially convenient on paid hosted servers, or simply when you are away from home. You can even use the Dropbox Android or iOS app to access your files!
Current features
The current stage of CyberBukkit has the following features:
- Dropbox linking and authorisation.
- Multithreaded downloading.
- Automatic file download and overwrite from Dropbox at startup.
- Synchronisation with the Dropbox servers
Example usage
- Share certain folders with co-administrators, without giving the console password out.
- Share a certain plugin folder with a person helping you with it.
- Allow players to download the server world by making the world folder public.
- Manage your server's plugins and files remotely, without the need for an FTP client.
Installation
- Create a Dropbox account. You may do so here if you do not already have one.
- Simply drop the CyberBukkit jar into your plugins folder.
- The server startup will pause at the authorisation process. Follow the instructions in the console.
- When prompted to type a code, you may notice that the text is invisible. This is intentional, as the code should be kept strictly private.
- Done!
Configuration
buffer_size: 4
The size of the file write buffer. Specified in multiples of 1024 for convenience and optimal results. Optimum buffer size is related to a number of things: file system block size, CPU cache size and cache latency. If you want to optimise this, find out the allocation unit size for of your minecraft host's filesystem. If you're using paid hosting, submit a ticket, and I'm sure they'll tell you if you ask nicely. Minimum: 1, maximum: 64.
maximum_upload_threads: 12 & maximum_download_threads: 12
The maximum number of download and upload threads CyberBukkit will use. More threads means faster downloading/uploading. However, since each thread is dedicated to one download for maximum stability, increasing it won't help to get a 1GB file any faster. Setting it too high may result in failed downloads and corrupted files. This could have a number of reasons, including, but not limited to:
- Dropbox detects too much download requests at once and denies some.
- Your router/ internet subscription can't handle the ammount of simultaneous downloads, and you are DOS'ing yourself. Please note that it is set to 24 by default, but I've tested it on my own network up to 48, and it still worked fine.
CyberBukkit will always inform you if this happens. It will log the failure, and re-try later.
dropbox_folder: CyberBukkit
Limits access of CyberBukkit to one folder. Leave blank to sync the whole Dropbox to your server folder (Not recommended). Not case sensitive.
verbose_logging: false
Logs every single synchronisation to the console. Not recommended for large servers, as it can spam your console up quite a bit.
Remarks
- It is possible to replace every file in your server folder at runtime, (whilst it is running). However, keep in mind that you will need to restart, not reload, your server for this to have effect in the case of the server.jar file. You may set this as automatic in the config.
- While it is possible to automatically check for file updates at faster than 5 minute intervals, I respect Dropbox's request not to do so, to reduce stress on their servers and to avoid getting my API license revoked, which would break the plugin for everyone. I ask of everyone using this plugin not to abuse the "/sync" command. Thank you for your understanding. If requested enough, I might make my own application, similar to Dropbox's desktop application, taking care of fully automatic syncing.
- Whilst files from the Dropbox server only get updated at 5 minute intervals, or when prompted with the "/sync" command, files on the server get uploaded to the Dropbox server nearly instantly. This is due to limitations in the Dropbox Java API.
Core features To-Do
- Dropbox-to-server synchronisation [Done!]
- Server-to-dropbox synchronisation [Working on it right now!]
- Redundant file removal feature [Done!]
- Add buffer size config option [Done!]
- Multithreaded downloading [Done!]
- Thread limiter [Done!]
Secondary features To-Do
- File/Folder black/whitelist [Will be added next version]
Would you add a Beta file when you have finished the Server-to-dropbox synchronisation?
@frol1
It can be used for that, but I would not recommend it, as if the world gets deleted/corrupted it will sync to the dropbox servers and delete/corrupt the world.
@frol1
http:dev.bukkit.org/bukkit-plugins/?search=world+backup
Hi,
I was wondering if this plugin has a world backup function?
That is indeed true. I never have any problems with FileZilla. I do tend to forget to upload updated files a lot, and I've moved IP's several times with my host, resulting in accessing the wrong server. Hence this plugin, allowing for a more direct and friendly access to files. :)
You can also share your sever folder/certain server folders with co-administrators, without giving the console password out, for example. Or you can allow players to download your world by making the "world" folder public.
These are just a few things I can think of. The best thing is, I don't have to do anything to let users of this plugin use those features; they are possible with Drobox by default. I only need to take care of the syncing, uploading and downloading.
@TheAyrtonisME
Then don't use CyberDuck? There are plenty of other FTP Clients for Mac... for example, FileZilla, Transmit, MacFusion, ClassicFTP, etc. Plus CyberDuck kinda sucks..
I really need this since, whenever i use ftp trough cyberduck my internet goes mad.
This sounds like an amazing idea, I own and run a hosting company and this plugin will be something I will definitely promote! Lots of users always complain about not understanding FTP, but with this I could set it up for a client then they wouldn't need to access their files via FTP again sense anything other than the plugins are in the control panel. Great plugin! Can't wait to see it in action